Union lift #
This file defines Set.iUnionLift to glue together functions defined on each of a collection of
sets to make a function on the Union of those sets.
Main definitions #
Set.iUnionLift- Given a Union of setsiUnion S, define a function on any subset of the Union by defining it on each component, and proving that it agrees on the intersections.Set.liftCover- Version ofSet.iUnionLiftfor the special case that the sets cover the entire type.
Main statements #
There are proofs of the obvious properties of iUnionLift, i.e. what it does to elements of
each of the sets in the iUnion, stated in different ways.
There are also three lemmas about iUnionLift intended to aid with proving that iUnionLift is a
homomorphism when defined on a Union of substructures. There is one lemma each to show that
constants, unary functions, or binary functions are preserved. These lemmas are:
*Set.iUnionLift_const
*Set.iUnionLift_unary
*Set.iUnionLift_binary
Tags #
directed union, directed supremum, glue, gluing
Given a union of sets iUnion S, define a function on the Union by defining
it on each component, and proving that it agrees on the intersections.
Equations
- Set.iUnionLift S f x✝ T hT x = let i := Classical.indefiniteDescription (fun (x_1 : ι) => ↑x ∈ S x_1) ⋯; f ↑i ⟨↑x, ⋯⟩
Instances For
iUnionLift_const is useful for proving that iUnionLift is a homomorphism
of algebraic structures when defined on the Union of algebraic subobjects.
For example, it could be used to prove that the lift of a collection
of group homomorphisms on a union of subgroups preserves 1.
iUnionLift_unary is useful for proving that iUnionLift is a homomorphism
of algebraic structures when defined on the Union of algebraic subobjects.
For example, it could be used to prove that the lift of a collection
of linear_maps on a union of submodules preserves scalar multiplication.
iUnionLift_binary is useful for proving that iUnionLift is a homomorphism
of algebraic structures when defined on the Union of algebraic subobjects.
For example, it could be used to prove that the lift of a collection
of group homomorphisms on a union of subgroups preserves *.
Glue together functions defined on each of a collection S of sets that cover a type. See
also Set.iUnionLift.
Equations
- Set.liftCover S f hf hS a = Set.iUnionLift S f hf Set.univ ⋯ ⟨a, trivial⟩