Coarse-graining support: Support.Geometry.CubeColoring #
Imported from the Apache-2.0 CoarseGraining development at commit
c7ddd76c08ade64fed1b8d2ca51be14dfee8deb4.
@[reducible, inline]
A triadic color is a choice of residue class modulo 3 in each coordinate.
Equations
- HCPolySupport.CubeColor d = (Fin d → Fin 3)
Instances For
The color of a triadic cube, given by the coordinatewise residue class of its lattice index
modulo 3.
Instances For
def
HCPolySupport.descendantsAtScaleColorClass
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
(c : CubeColor d)
:
Finset (TriadicCube d)
The descendants of Q at scale k with the prescribed triadic color c.
Equations
- HCPolySupport.descendantsAtScaleColorClass Q k c = {R ∈ HCPolySupport.descendantsAtScale Q k | HCPolySupport.cubeColor R = c}
Instances For
@[simp]
@[simp]
theorem
HCPolySupport.mem_descendantsAtScaleColorClass_iff
{d : ℕ}
{Q R : TriadicCube d}
{k : ℤ}
{c : CubeColor d}
:
theorem
HCPolySupport.mem_descendantsAtScaleColorClass_self
{d : ℕ}
{Q R : TriadicCube d}
{k : ℤ}
(hR : R ∈ descendantsAtScale Q k)
:
theorem
HCPolySupport.card_image_cubeColor_descendantsAtScale_le
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
:
theorem
HCPolySupport.descendantsAtScale_eq_biUnion_colorClass
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
:
theorem
HCPolySupport.descendantsAtScale_eq_biUnion_image_cubeColor
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
:
(Finset.image cubeColor (descendantsAtScale Q k)).biUnion (descendantsAtScaleColorClass Q k) = descendantsAtScale Q k
theorem
HCPolySupport.disjoint_descendantsAtScaleColorClass_of_ne
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
{c₁ c₂ : CubeColor d}
(hneq : c₁ ≠ c₂)
:
Disjoint (descendantsAtScaleColorClass Q k c₁) (descendantsAtScaleColorClass Q k c₂)
theorem
HCPolySupport.card_descendantsAtScale_eq_sum_card_colorClass_image
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
:
(descendantsAtScale Q k).card = ∑ c ∈ Finset.image cubeColor (descendantsAtScale Q k), (descendantsAtScaleColorClass Q k c).card
theorem
HCPolySupport.scale_le_of_mem_descendantsAtScale
{d : ℕ}
{Q R : TriadicCube d}
{k : ℤ}
(hR : R ∈ descendantsAtScale Q k)
:
theorem
HCPolySupport.scale_eq_of_mem_descendantsAtScale
{d : ℕ}
{Q R : TriadicCube d}
{k : ℤ}
(hR : R ∈ descendantsAtScale Q k)
:
theorem
HCPolySupport.disjoint_cubeSet_of_ne_of_mem_descendantsAtScale
{d : ℕ}
{Q R S : TriadicCube d}
{k : ℤ}
(hR : R ∈ descendantsAtScale Q k)
(hS : S ∈ descendantsAtScale Q k)
(hneq : R ≠ S)
:
theorem
HCPolySupport.disjoint_cubeSet_of_ne_of_mem_descendantsAtScaleColorClass
{d : ℕ}
{Q R S : TriadicCube d}
{k : ℤ}
{c : CubeColor d}
(hR : R ∈ descendantsAtScaleColorClass Q k c)
(hS : S ∈ descendantsAtScaleColorClass Q k c)
(hneq : R ≠ S)
:
theorem
HCPolySupport.cubeScaleFactor_le_dist_of_ne_of_mem_descendantsAtScaleColorClass
{d : ℕ}
{Q R S : TriadicCube d}
{k : ℤ}
{c : CubeColor d}
(hR : R ∈ descendantsAtScaleColorClass Q k c)
(hS : S ∈ descendantsAtScaleColorClass Q k c)
(hneq : R ≠ S)
{x y : Vec d}
(hx : x ∈ cubeSet R)
(hy : y ∈ cubeSet S)
:
theorem
HCPolySupport.one_le_dist_of_ne_of_mem_descendantsAtScaleColorClass
{d : ℕ}
{Q R S : TriadicCube d}
{k : ℤ}
{c : CubeColor d}
(hk : 0 ≤ k)
(hR : R ∈ descendantsAtScaleColorClass Q k c)
(hS : S ∈ descendantsAtScaleColorClass Q k c)
(hneq : R ≠ S)
{x y : Vec d}
(hx : x ∈ cubeSet R)
(hy : y ∈ cubeSet S)
:
theorem
HCPolySupport.pairwiseDisjoint_descendantsAtScaleColorClass
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
(c : CubeColor d)
:
(↑(descendantsAtScaleColorClass Q k c)).PairwiseDisjoint cubeSet