Linear locally finite orders #
We prove that a LinearOrder
which is a LocallyFiniteOrder
also verifies
Furthermore, we show that there is an OrderIso
between such an order and a subset of ℤ
.
Main definitions #
toZ i0 i
: in a linear order on which we can define predecessors and successors and which is succ-archimedean, we can assign a unique integertoZ i0 i
to each elementi : ι
while respecting the order, starting fromtoZ i0 i0 = 0
.
Main results #
Instances about linear locally finite orders:
LinearLocallyFiniteOrder.SuccOrder
: a linear locally finite order has a successor function.LinearLocallyFiniteOrder.PredOrder
: a linear locally finite order has a predecessor function.LinearLocallyFiniteOrder.isSuccArchimedean
: a linear locally finite order is succ-archimedean.LinearOrder.pred_archimedean_of_succ_archimedean
: a succ-archimedean linear order is also pred-archimedean.countable_of_linear_succ_pred_arch
: a succ-archimedean linear order is countable.
About toZ
:
orderIsoRangeToZOfLinearSuccPredArch
:toZ
defines anOrderIso
betweenι
and its range.orderIsoNatOfLinearSuccPredArch
: if the order has a bot but no top,toZ
defines anOrderIso
betweenι
andℕ
.orderIsoIntOfLinearSuccPredArch
: if the order has neither bot nor top,toZ
defines anOrderIso
betweenι
andℤ
.orderIsoRangeOfLinearSuccPredArch
: if the order has both a bot and a top,toZ
gives anOrderIso
betweenι
andFinset.range ((toZ ⊥ ⊤).toNat + 1)
.
Successor in a linear order. This defines a true successor only when i
is isolated from above,
i.e. when i
is not the greatest lower bound of (i, ∞)
.
Equations
- LinearLocallyFiniteOrder.succFn i = ⋯.choose
Instances For
Equations
- LinearLocallyFiniteOrder.instSuccOrderOfLocallyFiniteOrder = { succ := LinearLocallyFiniteOrder.succFn, le_succ := ⋯, max_of_succ_le := ⋯, succ_le_of_lt := ⋯, le_of_lt_succ := ⋯ }
Equations
- LinearLocallyFiniteOrder.instPredOrderOfLocallyFiniteOrder = inferInstance
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
toZ
numbers elements of ι
according to their order, starting from i0
. We prove in
orderIsoRangeToZOfLinearSuccPredArch
that this defines an OrderIso
between ι
and
the range of toZ
.
Instances For
toZ
defines an OrderIso
between ι
and its range.
Equations
- orderIsoRangeToZOfLinearSuccPredArch = { toEquiv := Equiv.ofInjective (toZ hι.some) ⋯, map_rel_iff' := ⋯ }
Instances For
Equations
- ⋯ = ⋯
If the order has neither bot nor top, toZ
defines an OrderIso
between ι
and ℤ
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If the order has a bot but no top, toZ
defines an OrderIso
between ι
and ℕ
.
Equations
Instances For
If the order has both a bot and a top, toZ
gives an OrderIso
between ι
and
Finset.range n
for some n
.
Equations
- One or more equations did not get rendered due to their size.