Finite order homomorphisms. #
The fundamental order homomorphisms between Fin (n + 1)
and Fin n
.
Fin.succAbove p i
:succAbove p i
embedsFin n
intoFin (n + 1)
with a hole aroundp
.Fin.succAboveEmb p
:Fin.succAbove p
as anOrderEmbedding
.Fin.predAbove p i
: surjectsi : Fin (n+1)
intoFin n
by subtracting one ifp < i
.
succAbove p i
embeds Fin n
into Fin (n + 1)
with a hole around p
.
Equations
- Fin.succAbove p i = if Fin.castSucc i < p then Fin.castSucc i else Fin.succ i
Instances For
Embedding i : Fin n
into Fin (n + 1)
with a hole around p : Fin (n + 1)
embeds i
by castSucc
when the resulting i.castSucc < p
.
Embedding i : Fin n
into Fin (n + 1)
with a hole around p : Fin (n + 1)
embeds i
by succ
when the resulting p < i.succ
.
Given a fixed pivot x : Fin (n + 1)
, x.succAbove
is injective
Fin.succAbove p
as an OrderEmbedding
.
Equations
- Fin.succAboveEmb p = OrderEmbedding.ofStrictMono (Fin.succAbove p) (_ : StrictMono (Fin.succAbove p))
Instances For
Alias of Fin.castSucc_lt_or_lt_succ
.
Embedding i : Fin n
into Fin (n + 1)
using a pivot p
that is greater
results in a value that is less than p
.
Embedding i : Fin n
into Fin (n + 1)
using a pivot p
that is lesser
results in a value that is greater than p
.
The range of p.succAbove
is everything except p
.
succAbove
is injective at the pivot
succAbove
is injective at the pivot
succ
commutes with succAbove
.
castSucc
commutes with succAbove
.
pred
commutes with succAbove
.
castPred
commutes with succAbove
.
rev
commutes with succAbove
.
By moving succ
to the outside of this expression, we create opportunities for further
simplification using succAbove_zero
or succ_succAbove_zero
.
predAbove p i
surjects i : Fin (n+1)
into Fin n
by subtracting one if p < i
.
Equations
- Fin.predAbove p i = if h : Fin.castSucc p < i then Fin.pred i (_ : i ≠ 0) else Fin.castPred i (_ : i ≠ Fin.last n)
Instances For
Fin.predAbove p
as an OrderHom
.
Equations
- Fin.predAboveOrderHom p = { toFun := Fin.predAbove p, monotone' := (_ : Monotone (Fin.predAbove p)) }
Instances For
Sending Fin (n+1)
to Fin n
by subtracting one from anything above p
then back to Fin (n+1)
with a gap around p
is the identity away from p
.
Sending Fin n
into Fin (n + 1)
with a gap at p
then back to Fin n
by subtracting one from anything above p
is the identity.
succ
commutes with predAbove
.
castSucc
commutes with predAbove
.
rev
commutes with predAbove
.