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
    Instances For
      @[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 : } :