Linear locally finite orders #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We prove that a linear_order which is a locally_finite_order also verifies
Furthermore, we show that there is an order_iso between such an order and a subset of ℤ.
Main definitions #
to_Z i0 i: in a linear order on which we can define predecessors and successors and which is succ-archimedean, we can assign a unique integerto_Z i0 ito each elementi : ιwhile respecting the order, starting fromto_Z i0 i0 = 0.
Main results #
Instances about linear locally finite orders:
linear_locally_finite_order.succ_order: a linear locally finite order has a successor function.linear_locally_finite_order.pred_order: a linear locally finite order has a predecessor function.linear_locally_finite_order.is_succ_archimedean: a linear locally finite order is succ-archimedean.linear_order.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 to_Z:
order_iso_range_to_Z_of_linear_succ_pred_arch:to_Zdefines anorder_isobetweenιand its range.order_iso_nat_of_linear_succ_pred_arch: if the order has a bot but no top,to_Zdefines anorder_isobetweenιandℕ.order_iso_int_of_linear_succ_pred_arch: if the order has neither bot nor top,to_Zdefines anorder_isobetweenιandℤ.order_iso_range_of_linear_succ_pred_arch: if the order has both a bot and a top,to_Zgives anorder_isobetweenιandfinset.range ((to_Z ⊥ ⊤).to_nat + 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
Equations
- linear_locally_finite_order.succ_order = {succ := linear_locally_finite_order.succ_fn _inst_1, le_succ := _, max_of_succ_le := _, succ_le_of_lt := _, le_of_lt_succ := _}
to_Z numbers elements of ι according to their order, starting from i0. We prove in
order_iso_range_to_Z_of_linear_succ_pred_arch that this defines an order_iso between ι and
the range of to_Z.
to_Z defines an order_iso between ι and its range.
Equations
- order_iso_range_to_Z_of_linear_succ_pred_arch = {to_equiv := equiv.of_injective (to_Z hι.some) order_iso_range_to_Z_of_linear_succ_pred_arch._proof_1, map_rel_iff' := _}
If the order has neither bot nor top, to_Z defines an order_iso between ι and ℤ.
If the order has a bot but no top, to_Z defines an order_iso between ι and ℕ.
If the order has both a bot and a top, to_Z gives an order_iso between ι and
finset.range n for some n.