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_lift
for 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⟩