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.instAddCommGroupWithOne
- Lex.instAddGroupWithOne
- Lex.instDivisionRing
- Lex.instDivisionSemiring
- Lex.instField
- Lex.instIntCast
- Lex.instPow
- Lex.instPow'
- Lex.instRatCast
- Lex.instSMul
- Lex.instSMul'
- Lex.instSemifield
- Lex.instVAdd
- Lex.instVAdd'
- Pi.Lex.isStrictOrder
- Pi.instBoundedOrderLexForallOfIsWellOrderLt
- Pi.instDenselyOrderedLexForall
- Pi.instLTLexForall
- Pi.instLinearOrderLexForallOfIsWellOrderLt
- Pi.instNoMaxOrderLexForallOfIsWellOrderLtOfNonempty
- Pi.instNoMinOrderLexForallOfIsWellOrderLtOfNonempty
- Pi.instOrderBotLexForallOfIsWellOrderLt
- Pi.instOrderTopLexForallOfIsWellOrderLt
- Pi.instPartialOrderLexForallOfLinearOrder
- instAddCancelCommMonoidLex
- instAddCancelMonoidLex
- instAddCommGroupLex
- instAddCommMonoidLex
- instAddCommSemigroupLex
- instAddGroupLex
- instAddLeftCancelMonoidLex
- instAddLeftCancelSemigroupLex
- instAddLex
- instAddMonoidLex
- instAddRightCancelMonoidLex
- instAddRightCancelSemigroupLex
- instAddSemigroupLex
- instAddZeroClassLex
- instCancelCommMonoidLex
- instCancelCommMonoidWithZeroLex
- instCancelMonoidLex
- instCancelMonoidWithZeroLex
- instCommGroupLex
- instCommGroupWithZeroLex
- instCommMonoidLex
- instCommMonoidWithZeroLex
- instCommSemigroupLex
- instDivInvMonoidLex
- instDivLex
- instDivisionCommMonoidLex
- instDivisionMonoidLex
- instGroupLex
- instGroupWithZeroLex
- instInvLex
- instInvolutiveInvLex
- instInvolutiveNegLex
- instLeftCancelMonoidLex
- instLeftCancelSemigroupLex
- instMonoidLex
- instMonoidWithZeroLex
- instMulLex
- instMulOneClassLex
- instMulZeroClassLex
- instMulZeroOneClassLex
- instNegLex
- instNoZeroDivisorsLex
- instOneLex
- instRightCancelMonoidLex
- instRightCancelSemigroupLex
- instSemigroupLex
- instSemigroupWithZeroLex
- instSubLex
- instSubNegAddMonoidLex
- instZeroLex