Type synonyms #
This file provides two type synonyms for order theory:
OrderDual α
: Type synonym ofα
to equip it with the dual order (a ≤ b
becomesb ≤ a
).Lex α
: Type synonym ofα
to equip it with its lexicographic order. The precise meaning depends on the type we take the lex of. Examples includeProd
,Sigma
,List
,Finset
.
Notation #
αᵒᵈ
is notation for OrderDual α
.
The general rule for notation of Lex
types is to append ₗ
to the usual notation.
Implementation notes #
One should not abuse definitional equality between α
and αᵒᵈ
/Lex α
. Instead, explicit
coercions should be inserted:
OrderDual
:OrderDual.toDual : α → αᵒᵈ
andOrderDual.ofDual : αᵒᵈ → α
Lex
:toLex : α → Lex α
andofLex : Lex α → α
.
See also #
This file is similar to Algebra.Group.TypeTags
.
Order dual #
Recursor for αᵒᵈ
.
Equations
- OrderDual.rec h₂ = h₂
Alias of the reverse direction of OrderDual.toDual_le_toDual
.
Alias of the reverse direction of OrderDual.toDual_lt_toDual
.
theorem
LE.le.ofDual
{α : Type u_1}
[LE α]
{a b : αᵒᵈ}
:
b ≤ a → OrderDual.ofDual a ≤ OrderDual.ofDual b
Alias of the reverse direction of OrderDual.ofDual_le_ofDual
.
theorem
LT.lt.ofDual
{α : Type u_1}
[LT α]
{a b : αᵒᵈ}
:
b < a → OrderDual.ofDual a < OrderDual.ofDual b
Alias of the reverse direction of OrderDual.ofDual_lt_ofDual
.
Lexicographic order #
A type synonym to equip a type with its lexicographic order.
Instances For
- DFinsupp.Lex.addLeftMono
- DFinsupp.Lex.addLeftStrictMono
- DFinsupp.Lex.addRightMono
- DFinsupp.Lex.addRightStrictMono
- DFinsupp.Lex.isStrictOrder
- DFinsupp.Lex.linearOrder
- DFinsupp.Lex.linearOrderedAddCommGroup
- DFinsupp.Lex.linearOrderedCancelAddCommMonoid
- DFinsupp.Lex.orderBot
- DFinsupp.Lex.orderedAddCancelCommMonoid
- DFinsupp.Lex.orderedAddCommGroup
- DFinsupp.Lex.partialOrder
- DFinsupp.instLTLex
- Finsupp.Lex.addLeftMono
- Finsupp.Lex.addLeftStrictMono
- Finsupp.Lex.addRightMono
- Finsupp.Lex.addRightStrictMono
- Finsupp.Lex.isStrictOrder
- Finsupp.Lex.linearOrder
- Finsupp.Lex.linearOrderedAddCommGroup
- Finsupp.Lex.linearOrderedCancelAddCommMonoid
- Finsupp.Lex.orderBot
- Finsupp.Lex.orderedAddCancelCommMonoid
- Finsupp.Lex.orderedAddCommGroup
- Finsupp.Lex.partialOrder
- Finsupp.instLTLex
- Lex.fintype
- Lex.instAddCommGroupWithOne
- Lex.instAddGroupWithOne
- Lex.instDistribMulAction
- Lex.instDistribMulAction'
- Lex.instDistribSMul
- Lex.instDistribSMul'
- Lex.instDivisionRing
- Lex.instDivisionSemiring
- Lex.instField
- Lex.instIntCast
- Lex.instModule
- Lex.instModule'
- Lex.instMulActionWithZero
- Lex.instMulActionWithZero'
- Lex.instPow
- Lex.instPow'
- Lex.instRatCast
- Lex.instSMul
- Lex.instSMul'
- Lex.instSMulWithZero
- Lex.instSMulWithZero'
- Lex.instSemifield
- Lex.instVAdd
- Lex.instVAdd'
- Pi.Lex.isStrictOrder
- Pi.Lex.linearOrderedAddCancelCommMonoid
- Pi.Lex.linearOrderedAddCommGroup
- Pi.Lex.linearOrderedCancelCommMonoid
- Pi.Lex.linearOrderedCommGroup
- Pi.Lex.orderedAddCancelCommMonoid
- Pi.Lex.orderedAddCommGroup
- Pi.Lex.orderedCancelCommMonoid
- Pi.Lex.orderedCommGroup
- Pi.instBoundedOrderLexForallOfWellFoundedLT
- Pi.instDenselyOrderedLexForall
- Pi.instLTLexForall
- Pi.instLinearOrderLexForallOfWellFoundedLT
- Pi.instNoMaxOrderLexForallOfWellFoundedLTOfNonempty
- Pi.instNoMinOrderLexForallOfWellFoundedLTOfNonempty
- Pi.instOrderBotLexForallOfWellFoundedLT
- Pi.instOrderTopLexForallOfWellFoundedLT
- Pi.instPartialOrderLexForallOfLinearOrder
- Prod.Lex.boundedOrder
- Prod.Lex.instDenselyOrderedLex
- Prod.Lex.instLE
- Prod.Lex.instLT
- Prod.Lex.instOrdLexProd
- Prod.Lex.instOrientedOrdLex
- Prod.Lex.instTransOrdLex
- Prod.Lex.instWellFoundedLTLex
- Prod.Lex.instWellFoundedRelationLexOfWellFoundedLT
- Prod.Lex.linearOrder
- Prod.Lex.linearOrderedAddCancelCommMonoid
- Prod.Lex.linearOrderedCancelCommMonoid
- Prod.Lex.noMaxOrder_of_left
- Prod.Lex.noMaxOrder_of_right
- Prod.Lex.noMinOrder_of_left
- Prod.Lex.noMinOrder_of_right
- Prod.Lex.orderBot
- Prod.Lex.orderTop
- Prod.Lex.orderedAddCancelCommMonoid
- Prod.Lex.orderedAddCommMonoid
- Prod.Lex.orderedCancelCommMonoid
- Prod.Lex.orderedCommMonoid
- Prod.Lex.partialOrder
- Prod.Lex.preorder
- Sum.Lex.LE
- Sum.Lex.LT
- Sum.Lex.boundedOrder
- Sum.Lex.denselyOrdered_of_noMaxOrder
- Sum.Lex.denselyOrdered_of_noMinOrder
- Sum.Lex.linearOrder
- Sum.Lex.noMaxOrder
- Sum.Lex.noMaxOrder_of_nonempty
- Sum.Lex.noMinOrder
- Sum.Lex.noMinOrder_of_nonempty
- Sum.Lex.orderBot
- Sum.Lex.orderTop
- Sum.Lex.partialOrder
- Sum.Lex.preorder
- instAddCancelCommMonoidLex
- instAddCancelMonoidLex
- instAddCommGroupLex
- instAddCommMonoidLex
- instAddCommSemigroupLex
- instAddGroupLex
- instAddLeftCancelMonoidLex
- instAddLeftCancelSemigroupLex
- instAddLex
- instAddMonoidLex
- instAddRightCancelMonoidLex
- instAddRightCancelSemigroupLex
- instAddSemigroupLex
- instAddZeroClassLex
- instBEqLex
- instCancelCommMonoidLex
- instCancelCommMonoidWithZeroLex
- instCancelMonoidLex
- instCancelMonoidWithZeroLex
- instCommGroupLex
- instCommGroupWithZeroLex
- instCommMonoidLex
- instCommMonoidWithZeroLex
- instCommRingLex
- instCommSemigroupLex
- instCommSemiringLex
- instDistribLex
- instDivInvMonoidLex
- instDivLex
- instDivisionCommMonoidLex
- instDivisionMonoidLex
- instGroupLex
- instGroupWithZeroLex
- instHasDistribNegLex
- instInhabitedLex
- instInvLex
- instInvolutiveInvLex
- instInvolutiveNegLex
- instIsDomainLex
- instLawfulBEqLex
- instLeftCancelMonoidLex
- instLeftCancelSemigroupLex
- instLeftDistribClassLex
- instMonoidLex
- instMonoidWithZeroLex
- instMulLex
- instMulOneClassLex
- instMulZeroClassLex
- instMulZeroOneClassLex
- instNegLex
- instNoZeroDivisorsLex
- instNonAssocRingLex
- instNonAssocSemiringLex
- instNonUnitalCommRingLex
- instNonUnitalCommSemiringLex
- instNonUnitalNonAssocRingLex
- instNonUnitalNonAssocSemiringLex
- instNonUnitalRingLex
- instNonUnitalSemiringLex
- instOneLex
- instRightCancelMonoidLex
- instRightCancelSemigroupLex
- instRightDistribClassLex
- instRingLex
- instSemigroupLex
- instSemigroupWithZeroLex
- instSemiringLex
- instSubLex
- instSubNegAddMonoidLex
- instSubtractionMonoidLex
- instZeroLex