Union lift #
This file defines set.Union_lift 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.Union_lift- Given a Union of setsUnion 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.lift_cover- Version ofset.Union_liftfor the special case that the sets cover the entire type.
Main statements #
There are proofs of the obvious properties of Union_lift, i.e. what it does to elements of
each of the sets in the Union, stated in different ways.
There are also three lemmas about Union_lift intended to aid with proving that Union_lift 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.Union_lift_const
*set.Union_lift_unary
*set.Union_lift_binary
Tags #
directed union, directed supremum, glue, gluing
Given a Union of sets Union S, define a function on the Union by defining
it on each component, and proving that it agrees on the intersections.
Equations
- set.Union_lift S f hf T hT x = let i : {x_1 // ↑x ∈ S x_1} := classical.indefinite_description (λ (x_1 : ι), ↑x ∈ S x_1) _ in f ↑i ⟨↑x, _⟩
Union_lift_const is useful for proving that Union_lift 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.
Union_lift_unary is useful for proving that Union_lift 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.
Union_lift_binary is useful for proving that Union_lift 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.Union_lift.
Equations
- set.lift_cover S f hf hS a = set.Union_lift S f hf set.univ _ ⟨a, trivial⟩