Equivalence between product types #
In this file we continue the work on equivalences begun in Mathlib/Logic/Equiv/Defs.lean,
focusing on product types.
Main definitions #
Equiv.prodCongr ea eb : α₁ × β₁ ≃ α₂ × β₂: combine two equivalencesea : α₁ ≃ α₂andeb : β₁ ≃ β₂usingProd.map.
Tags #
equivalence, congruence, bijective map
Type product is commutative up to an equivalence: α × β ≃ β × α. This is Prod.swap as an
equivalence.
Equations
Instances For
Four-way commutativity of prod. The name matches mul_mul_mul_comm.
Equations
Instances For
γ-valued functions on α × β are equivalent to functions α → β → γ.
Equations
Instances For
Any family of Unique types is a right identity for dependent type product up to
equivalence.
Equations
Instances For
Any Unique type is a left identity for type sigma up to equivalence. Compare with uniqueProd
which is non-dependent.
Equations
Instances For
Empty type is a right absorbing element for type product up to an equivalence.
Equations
Instances For
PEmpty type is a right absorbing element for type product up to an equivalence.
Equations
Instances For
PEmpty type is a left absorbing element for type product up to an equivalence.
Equations
Instances For
A family of equivalences ∀ (a : α₁), β₁ ≃ β₂ generates an equivalence
between β₁ × α₁ and β₂ × α₁.
Equations
Instances For
A family of equivalences ∀ (a : α₁), β₁ ≃ β₂ generates an equivalence
between α₁ × β₁ and α₁ × β₂.
Equations
Instances For
A variation on Equiv.prodCongr where the equivalence in the second component can depend
on the first component. A typical example is a shear mapping, explaining the name of this
declaration.
Equations
Instances For
prodExtendRight a e extends e : Perm β to Perm (α × β) by sending (a, b) to
(a, e b) and keeping the other (a', b) fixed.
Equations
Instances For
The type of functions to a product β × γ is equivalent to the type of pairs of functions
α → β and β → γ.
Equations
Instances For
The type of dependent functions on a sum type ι ⊕ ι' is equivalent to the type of pairs of
functions on ι and on ι'. This is a dependent version of Equiv.sumArrowEquivProdArrow.
Equations
Instances For
The equivalence between a product of two dependent functions types and a single dependent
function type. Basically a symmetric version of Equiv.sumPiEquivProdPi.
Equations
Instances For
The type of functions on a sum type α ⊕ β is equivalent to the type of pairs of functions
on α and on β.
Equations
Instances For
The product of an indexed sum of types (formally, a Sigma-type Σ i, α i) by a type β is
equivalent to the sum of products Σ i, (α i × β).
Equations
Instances For
A subtype of a Prod that depends only on the first component is equivalent to the
corresponding subtype of the first type times the second type.
Equations
Instances For
The type ∀ (i : α), β i can be split as a product by separating the indices in α
depending on whether they satisfy a predicate p or not.
Equations
Instances For
A product of types can be split as the binary product of one of the types and the product of all the remaining types.
Equations
Instances For
A product of copies of a type can be split as the binary product of one copy and the product of all the remaining copies.
Equations
Instances For
If α is a subsingleton, then it is equivalent to α × α.
Equations
Instances For
(1 + α) × β = β + α × β