Finite order homomorphisms. #
The fundamental order homomorphisms between Fin (n + 1) and Fin n.
Fin.succAbove p i:succAbove p iembedsFin nintoFin (n + 1)with a hole aroundp.Fin.succAboveEmb p:Fin.succAbove pas anOrderEmbedding.Fin.predAbove p i: surjectsi : Fin (n+1)intoFin nby 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
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 ⋯ else Fin.castPred i ⋯
Instances For
Fin.predAbove p as an OrderHom.
Equations
- Fin.predAboveOrderHom p = { toFun := Fin.predAbove p, monotone' := ⋯ }
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.