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
- 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'
- Prod.Lex.boundedOrder
- Prod.Lex.instDenselyOrderedLex
- Prod.Lex.instLE
- Prod.Lex.instLT
- Prod.Lex.instLinearOrder
- Prod.Lex.instOrdLexProd
- Prod.Lex.instOrientedOrdLex
- Prod.Lex.instPartialOrder
- Prod.Lex.instPreorder
- Prod.Lex.instTransOrdLex
- Prod.Lex.instWellFoundedLTLex
- Prod.Lex.instWellFoundedRelationLexOfWellFoundedLT
- 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
- 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
- instCommSemigroupLex
- instDivInvMonoidLex
- instDivLex
- instDivisionAddCommMonoidLex
- instDivisionCommMonoidLex
- instDivisionMonoidLex
- instGroupLex
- instGroupWithZeroLex
- instInhabitedLex
- instInvLex
- instInvolutiveInvLex
- instInvolutiveNegLex
- instIsAddCancelLex
- instIsAddLeftCancelLex
- instIsAddRightCancelLex
- instIsCancelMulLex
- instIsLeftCancelMulLex
- instIsRightCancelMulLex
- instLawfulBEqLex
- instLeftCancelMonoidLex
- instLeftCancelSemigroupLex
- instMonoidLex
- instMonoidWithZeroLex
- instMulLex
- instMulOneClassLex
- instMulZeroClassLex
- instMulZeroOneClassLex
- instNegLex
- instNoZeroDivisorsLex
- instOneLex
- instRightCancelMonoidLex
- instRightCancelSemigroupLex
- instSemigroupLex
- instSemigroupWithZeroLex
- instSubLex
- instSubNegAddMonoidLex
- instSubtractionMonoidLex
- instZeroLex