Documentation

Mathlib.Order.Interval.Finset.Box

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 #

def Finset.box {α : Type u_1} [Ring α] [PartialOrder α] [LocallyFiniteOrder α] [DecidableEq α] :
Finset α

Hollow box centered at 0 : α going from -n to n.

Equations
@[simp]
theorem Finset.box_zero {α : Type u_1} [Ring α] [PartialOrder α] [LocallyFiniteOrder α] [DecidableEq α] :
box 0 = {0}
theorem Finset.box_succ_eq_sdiff {α : Type u_1} [Ring α] [PartialOrder α] [IsOrderedRing α] [LocallyFiniteOrder α] [DecidableEq α] (n : ) :
box (n + 1) = Icc (-n.succ) n.succ \ Icc (-n) n
theorem Finset.disjoint_box_succ_prod {α : Type u_1} [Ring α] [PartialOrder α] [IsOrderedRing α] [LocallyFiniteOrder α] [DecidableEq α] (n : ) :
Disjoint (box (n + 1)) (Icc (-n) n)
@[simp]
theorem Finset.box_succ_union_prod {α : Type u_1} [Ring α] [PartialOrder α] [IsOrderedRing α] [LocallyFiniteOrder α] [DecidableEq α] (n : ) :
box (n + 1) Icc (-n) n = Icc (-n.succ) n.succ
theorem Finset.box_succ_disjUnion {α : Type u_1} [Ring α] [PartialOrder α] [IsOrderedRing α] [LocallyFiniteOrder α] [DecidableEq α] (n : ) :
(box (n + 1)).disjUnion (Icc (-n) n) = Icc (-n.succ) n.succ
@[simp]
theorem Finset.zero_mem_box {α : Type u_1} [Ring α] [PartialOrder α] [IsOrderedRing α] [LocallyFiniteOrder α] {n : } [DecidableEq α] :
0 box n n = 0
theorem Finset.eq_zero_iff_eq_zero_of_mem_box {α : Type u_1} [Ring α] [PartialOrder α] [IsOrderedRing α] [LocallyFiniteOrder α] {n : } [DecidableEq α] {x : α} (hx : x box n) :
x = 0 n = 0

Product of locally finite ordered rings #

@[simp]
theorem Prod.card_box_succ {α : Type u_1} {β : Type u_2} [Ring α] [PartialOrder α] [IsOrderedRing α] [Ring β] [PartialOrder β] [IsOrderedRing β] [LocallyFiniteOrder α] [LocallyFiniteOrder β] [DecidableEq α] [DecidableEq β] [DecidableLE (α × β)] (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

ℤ × ℤ #

theorem Int.card_box {n : } :
n 0(Finset.box n).card = 8 * n
@[simp]
theorem Int.mem_box {x : × } {n : } :