Lexicographic order on finitely supported dependent functions #
This file defines the lexicographic order on DFinsupp.
DFinsupp.Lex r s is the lexicographic relation on Π₀ i, α i, where ι is ordered by r,
and α i is ordered by s i.
The type synonym Lex (Π₀ i, α i) has an order given by DFinsupp.Lex (· < ·) (· < ·).
Equations
- DFinsupp.Lex r s x y = Pi.Lex r (fun {i : ι} => s i) ⇑x ⇑y
Instances For
Equations
- ⋯ = ⋯
The partial order on DFinsupps obtained by the lexicographic ordering.
See DFinsupp.Lex.linearOrder for a proof that this partial order is in fact linear.
Equations
- DFinsupp.Lex.partialOrder = let __spread.0 := PartialOrder.lift (fun (x : Lex (Π₀ (i : ι), α i)) => toLex ⇑(ofLex x)) ⋯; PartialOrder.mk ⋯
The less-or-equal relation for the lexicographic ordering is decidable.
Equations
Instances For
The less-than relation for the lexicographic ordering is decidable.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
The linear order on DFinsupps obtained by the lexicographic ordering.
Equations
- DFinsupp.Lex.linearOrder = let __spread.0 := DFinsupp.Lex.partialOrder; LinearOrder.mk ⋯ DFinsupp.Lex.decidableLE inferInstance DFinsupp.Lex.decidableLT ⋯ ⋯ ⋯
We are about to sneak in a hypothesis that might appear to be too strong.
We assume CovariantClass with strict inequality < also when proving the one with the
weak inequality ≤. This is actually necessary: addition on Lex (Π₀ i, α i) may fail to be
monotone, when it is "just" monotone on α i.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- DFinsupp.Lex.orderBot = OrderBot.mk ⋯
Equations
- DFinsupp.Lex.orderedAddCancelCommMonoid = OrderedCancelAddCommMonoid.mk ⋯
Equations
- DFinsupp.Lex.orderedAddCommGroup = OrderedAddCommGroup.mk ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- DFinsupp.Lex.linearOrderedAddCommGroup = let __spread.0 := inferInstance; LinearOrderedAddCommGroup.mk ⋯ LinearOrder.decidableLE LinearOrder.decidableEq LinearOrder.decidableLT ⋯ ⋯ ⋯