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 #
Equations
- ⋯ = h
toDual
is the identity function to the OrderDual
of a linear order.
Equations
- OrderDual.toDual = Equiv.refl α
ofDual
is the identity function from the OrderDual
of a linear order.
Equations
- OrderDual.ofDual = Equiv.refl αᵒᵈ
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
.
Alias of the reverse direction of OrderDual.ofDual_le_ofDual
.
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
- Lex.fintype
- Lex.instPow
- Lex.instPow'
- Lex.instSMul
- Lex.instSMul'
- 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.instBoundedOrderLexForAllToLEToPreorderInstPartialOrderLexForAll
- Pi.instDenselyOrderedLexForAllInstLTLexForAllToLT
- Pi.instLTLexForAll
- Pi.instLinearOrderLexForAll
- Pi.instNoMaxOrderLexForAllInstLTLexForAllToLTToPreorderToPartialOrderToSemilatticeInfToLatticeInstDistribLatticeToLTToPreorder
- Pi.instNoMinOrderLexForAllInstLTLexForAllToLTToPreorderToPartialOrderToSemilatticeInfToLatticeInstDistribLatticeToLTToPreorder
- Pi.instOrderBotLexForAllToLEToPreorderInstPartialOrderLexForAll
- Pi.instOrderTopLexForAllToLEToPreorderInstPartialOrderLexForAll
- Pi.instPartialOrderLexForAll
- Prod.Lex.boundedOrder
- Prod.Lex.inhabited
- Prod.Lex.instDenselyOrderedLexProdInstLTToLTToLT
- Prod.Lex.instLE
- Prod.Lex.instLT
- Prod.Lex.instOrdLexProd
- Prod.Lex.linearOrder
- Prod.Lex.linearOrderedAddCancelCommMonoid
- Prod.Lex.linearOrderedAddCommGroup
- Prod.Lex.linearOrderedCancelCommMonoid
- Prod.Lex.linearOrderedCommGroup
- 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.orderedAddCommGroup
- Prod.Lex.orderedAddCommMonoid
- Prod.Lex.orderedCancelCommMonoid
- Prod.Lex.orderedCommGroup
- 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
- instAddCommGroupWithOneLex
- instAddCommMonoidLex
- instAddCommSemigroupLex
- instAddGroupLex
- instAddGroupWithOneLex
- instAddLeftCancelMonoidLex
- instAddLeftCancelSemigroupLex
- instAddLex
- instAddMonoidLex
- instAddRightCancelMonoidLex
- instAddRightCancelSemigroupLex
- instAddSemigroupLex
- instAddZeroClassLex
- instCancelCommMonoidLex
- instCancelCommMonoidWithZeroLex
- instCancelMonoidLex
- instCancelMonoidWithZeroLex
- instCommGroupLex
- instCommGroupWithZeroLex
- instCommMonoidLex
- instCommMonoidWithZeroLex
- instCommRingLex
- instCommSemigroupLex
- instCommSemiringLex
- instDistribLex
- instDivInvMonoidLex
- instDivLex
- instDivisionCommMonoidLex
- instDivisionMonoidLex
- instDivisionRingLex
- instDivisionSemiringLex
- instFieldLex
- instGroupLex
- instGroupWithZeroLex
- instHasDistribNegLexInstMulLex
- instIntCastLex
- instInvLex
- instInvolutiveInvLex
- instInvolutiveNegLex
- instIsDomainLexInstSemiringLexToSemiring
- instLeftCancelMonoidLex
- instLeftCancelSemigroupLex
- instLeftDistribClassLexInstMulLexInstAddLex
- instMonoidLex
- instMonoidWithZeroLex
- instMulLex
- instMulOneClassLex
- instMulZeroClassLex
- instMulZeroOneClassLex
- instNegLex
- instNoZeroDivisorsLexInstMulLexInstZeroLex
- instNonAssocRingLex
- instNonAssocSemiringLex
- instNonUnitalCommRingLex
- instNonUnitalCommSemiringLex
- instNonUnitalNonAssocRingLex
- instNonUnitalNonAssocSemiringLex
- instNonUnitalRingLex
- instNonUnitalSemiringLex
- instOneLex
- instRatCastLex
- instRightCancelMonoidLex
- instRightCancelSemigroupLex
- instRightDistribClassLexInstMulLexInstAddLex
- instRingLex
- instSemifieldLex
- instSemigroupLex
- instSemigroupWithZeroLex
- instSemiringLex
- instSubLex
- instSubNegAddMonoidLex
- instZeroLex