Decomposing a locally finite ordered ring into boxes #
This file proves that any locally finite ordered ring can be decomposed into "boxes", namely differences of consecutive intervals.
Implementation notes #
We don't need the full ring structure, only that there is an order embedding ℤ →
General locally finite ordered ring #
Hollow box centered at 0 : α
going from -n
to n
.
Equations
- Finset.box = disjointed fun (n : ℕ) => Finset.Icc (-↑n) ↑n
Instances For
@[simp]
theorem
Finset.box_zero
{α : Type u_1}
[OrderedRing α]
[LocallyFiniteOrder α]
[DecidableEq α]
:
Finset.box 0 = {0}
theorem
Finset.box_succ_eq_sdiff
{α : Type u_1}
[OrderedRing α]
[LocallyFiniteOrder α]
[DecidableEq α]
(n : ℕ)
:
Finset.box (n + 1) = Finset.Icc (-↑n.succ) ↑n.succ \ Finset.Icc (-↑n) ↑n
theorem
Finset.disjoint_box_succ_prod
{α : Type u_1}
[OrderedRing α]
[LocallyFiniteOrder α]
[DecidableEq α]
(n : ℕ)
:
Disjoint (Finset.box (n + 1)) (Finset.Icc (-↑n) ↑n)
@[simp]
theorem
Finset.box_succ_union_prod
{α : Type u_1}
[OrderedRing α]
[LocallyFiniteOrder α]
[DecidableEq α]
(n : ℕ)
:
Finset.box (n + 1) ∪ Finset.Icc (-↑n) ↑n = Finset.Icc (-↑n.succ) ↑n.succ
theorem
Finset.box_succ_disjUnion
{α : Type u_1}
[OrderedRing α]
[LocallyFiniteOrder α]
[DecidableEq α]
(n : ℕ)
:
(Finset.box (n + 1)).disjUnion (Finset.Icc (-↑n) ↑n) ⋯ = Finset.Icc (-↑n.succ) ↑n.succ
@[simp]
theorem
Finset.zero_mem_box
{α : Type u_1}
[OrderedRing α]
[LocallyFiniteOrder α]
{n : ℕ}
[DecidableEq α]
:
0 ∈ Finset.box n ↔ n = 0
theorem
Finset.eq_zero_iff_eq_zero_of_mem_box
{α : Type u_1}
[OrderedRing α]
[LocallyFiniteOrder α]
{n : ℕ}
[DecidableEq α]
{x : α}
(hx : x ∈ Finset.box n)
:
Product of locally finite ordered rings #
@[simp]
theorem
Prod.card_box_succ
{α : Type u_1}
{β : Type u_2}
[OrderedRing α]
[OrderedRing β]
[LocallyFiniteOrder α]
[LocallyFiniteOrder β]
[DecidableEq α]
[DecidableEq β]
[DecidableRel fun (x1 x2 : α × β) => x1 ≤ x2]
(n : ℕ)
:
(Finset.box (n + 1)).card = (Finset.Icc (-↑n.succ) ↑n.succ).card * (Finset.Icc (-↑n.succ) ↑n.succ).card - (Finset.Icc (-↑n) ↑n).card * (Finset.Icc (-↑n) ↑n).card