Lexicographic order #
This file defines the lexicographic relation for pairs of orders, partial orders and linear orders.
Main declarations #
Prod.Lex.<pre/partial/linear>Order
: Instances lifting the orders onα
andβ
toα ×ₗ β
.
Notation #
α ×ₗ β
:α × β
equipped with the lexicographic order
See also #
Related files are:
A type synonym to equip a type with its lexicographic order.
Equations
- Prod.Lex.«term_×ₗ_» = Lean.ParserDescr.trailingNode `Prod.Lex.term_×ₗ_ 35 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ×ₗ ") (Lean.ParserDescr.cat `term 34))
Instances For
instance
Prod.Lex.decidableEq
(α : Type u_4)
(β : Type u_5)
[DecidableEq α]
[DecidableEq β]
:
DecidableEq (Lex (α × β))
Equations
- Prod.Lex.decidableEq α β = instDecidableEqProd
Dictionary / lexicographic preorder for pairs.
Equations
- Prod.Lex.preorder α β = let __src := Prod.Lex.instLE α β; let __src_1 := Prod.Lex.instLT α β; Preorder.mk ⋯ ⋯ ⋯
theorem
Prod.Lex.toLex_mono
{α : Type u_1}
{β : Type u_2}
[PartialOrder α]
[Preorder β]
:
Monotone ⇑toLex
theorem
Prod.Lex.toLex_strictMono
{α : Type u_1}
{β : Type u_2}
[PartialOrder α]
[Preorder β]
:
StrictMono ⇑toLex
instance
Prod.Lex.partialOrder
(α : Type u_4)
(β : Type u_5)
[PartialOrder α]
[PartialOrder β]
:
PartialOrder (Lex (α × β))
Dictionary / lexicographic partial order for pairs.
Equations
- Prod.Lex.partialOrder α β = let __src := Prod.Lex.preorder α β; PartialOrder.mk ⋯
instance
Prod.Lex.linearOrder
(α : Type u_4)
(β : Type u_5)
[LinearOrder α]
[LinearOrder β]
:
LinearOrder (Lex (α × β))
Dictionary / lexicographic linear order for pairs.
Equations
- One or more equations did not get rendered due to their size.
instance
Prod.Lex.orderBot
{α : Type u_1}
{β : Type u_2}
[PartialOrder α]
[Preorder β]
[OrderBot α]
[OrderBot β]
:
Equations
- Prod.Lex.orderBot = OrderBot.mk ⋯
instance
Prod.Lex.orderTop
{α : Type u_1}
{β : Type u_2}
[PartialOrder α]
[Preorder β]
[OrderTop α]
[OrderTop β]
:
Equations
- Prod.Lex.orderTop = OrderTop.mk ⋯
instance
Prod.Lex.boundedOrder
{α : Type u_1}
{β : Type u_2}
[PartialOrder α]
[Preorder β]
[BoundedOrder α]
[BoundedOrder β]
:
BoundedOrder (Lex (α × β))
Equations
- Prod.Lex.boundedOrder = let __src := Prod.Lex.orderBot; let __src_1 := Prod.Lex.orderTop; BoundedOrder.mk
instance
Prod.Lex.instDenselyOrderedLexProdInstLTToLTToLT
{α : Type u_1}
{β : Type u_2}
[Preorder α]
[Preorder β]
[DenselyOrdered α]
[DenselyOrdered β]
:
DenselyOrdered (Lex (α × β))
Equations
- ⋯ = ⋯
instance
Prod.Lex.noMaxOrder_of_left
{α : Type u_1}
{β : Type u_2}
[Preorder α]
[Preorder β]
[NoMaxOrder α]
:
NoMaxOrder (Lex (α × β))
Equations
- ⋯ = ⋯
instance
Prod.Lex.noMinOrder_of_left
{α : Type u_1}
{β : Type u_2}
[Preorder α]
[Preorder β]
[NoMinOrder α]
:
NoMinOrder (Lex (α × β))
Equations
- ⋯ = ⋯
instance
Prod.Lex.noMaxOrder_of_right
{α : Type u_1}
{β : Type u_2}
[Preorder α]
[Preorder β]
[NoMaxOrder β]
:
NoMaxOrder (Lex (α × β))
Equations
- ⋯ = ⋯
instance
Prod.Lex.noMinOrder_of_right
{α : Type u_1}
{β : Type u_2}
[Preorder α]
[Preorder β]
[NoMinOrder β]
:
NoMinOrder (Lex (α × β))
Equations
- ⋯ = ⋯