Order properties on tuples #
Π i : Fin 2, α i
is order equivalent to α 0 × α 1
. See also OrderIso.finTwoArrowEquiv
for a non-dependent version.
Equations
- OrderIso.piFinTwoIso α = { toEquiv := piFinTwoEquiv α, map_rel_iff' := ⋯ }
Instances For
The space of functions Fin 2 → α
is order equivalent to α × α
. See also
OrderIso.piFinTwoIso
.
Equations
- OrderIso.finTwoArrowIso α = { toEquiv := finTwoArrowEquiv α, map_rel_iff' := ⋯ }
Instances For
Order isomorphism between tuples of length n + 1
and pairs of an element and a tuple of length
n
given by separating out the first element of the tuple.
This is Fin.cons
as an OrderIso
.
Equations
- Fin.consOrderIso α = { toEquiv := Fin.consEquiv α, map_rel_iff' := ⋯ }
Instances For
Order isomorphism between tuples of length n + 1
and pairs of an element and a tuple of length
n
given by separating out the last element of the tuple.
This is Fin.snoc
as an OrderIso
.
Equations
- Fin.snocOrderIso α = { toEquiv := Fin.snocEquiv α, map_rel_iff' := ⋯ }
Instances For
Order isomorphism between tuples of length n + 1
and pairs of an element and a tuple of length
n
given by separating out the p
-th element of the tuple.
This is Fin.insertNth
as an OrderIso
.
Equations
- Fin.insertNthOrderIso α p = { toEquiv := Fin.insertNthEquiv α p, map_rel_iff' := ⋯ }
Instances For
Note this lemma can only be written about non-dependent tuples as insertNth (last n) = snoc
is
not a definitional equality.
Order isomorphism between Π j : Fin (n + 1), α j
and
α i × Π j : Fin n, α (Fin.succAbove i j)
.
Equations
- OrderIso.piFinSuccAboveIso α i = { toEquiv := (Fin.insertNthEquiv α i).symm, map_rel_iff' := ⋯ }
Instances For
Fin.succAbove
as an order isomorphism between Fin n
and {x : Fin (n + 1) // x ≠ p}
.
Equations
- finSuccAboveOrderIso p = { toEquiv := finSuccAboveEquiv p, map_rel_iff' := ⋯ }
Instances For
Promote a Fin n
into a larger Fin m
, as a subtype where the underlying
values are retained. This is the OrderIso
version of Fin.castLE
.
Equations
- Fin.castLEOrderIso h = { toFun := fun (i : Fin n) => ⟨Fin.castLE h i, ⋯⟩, invFun := fun (i : { i : Fin m // ↑i < n }) => ⟨↑↑i, ⋯⟩, left_inv := ⋯, right_inv := ⋯, map_rel_iff' := ⋯ }