Coarse-graining support: Support.Geometry.ScaleColoring #
Imported from the Apache-2.0 CoarseGraining development at commit
c7ddd76c08ade64fed1b8d2ca51be14dfee8deb4.
@[reducible, inline]
The scale-dependent triadic colors attached to cubes at scale k.
Equations
- HCPolySupport.ScaleColor d k = (Fin d → Fin (HCPolySupport.scaleColorPeriod k))
Instances For
The scale-dependent color of a triadic cube, given by its coordinatewise
residue class modulo r_k.
Equations
- HCPolySupport.cubeScaleColor k Q i = ⟨(Q.index i % ↑(HCPolySupport.scaleColorPeriod k)).toNat, ⋯⟩
Instances For
noncomputable def
HCPolySupport.descendantsAtScaleScaleColorClass
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
(c : ScaleColor d k)
:
Finset (TriadicCube d)
The descendants of Q at scale k with prescribed scale-dependent color
c.
Equations
- HCPolySupport.descendantsAtScaleScaleColorClass Q k c = {R ∈ HCPolySupport.descendantsAtScale Q k | HCPolySupport.cubeScaleColor k R = c}
Instances For
@[simp]
theorem
HCPolySupport.cubeScaleColor_eq_iff_modEq
{d : ℕ}
{k : ℤ}
{R S : TriadicCube d}
:
cubeScaleColor k R = cubeScaleColor k S ↔ ∀ (i : Fin d), R.index i ≡ S.index i [ZMOD ↑(scaleColorPeriod k)]
@[simp]
theorem
HCPolySupport.mem_descendantsAtScaleScaleColorClass_iff
{d : ℕ}
{Q R : TriadicCube d}
{k : ℤ}
{c : ScaleColor d k}
:
theorem
HCPolySupport.mem_descendantsAtScaleScaleColorClass_self
{d : ℕ}
{Q R : TriadicCube d}
{k : ℤ}
(hR : R ∈ descendantsAtScale Q k)
:
theorem
HCPolySupport.card_image_cubeScaleColor_descendantsAtScale_le
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
:
theorem
HCPolySupport.descendantsAtScale_eq_biUnion_scaleColorClass
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
:
theorem
HCPolySupport.descendantsAtScale_eq_biUnion_image_cubeScaleColor
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
:
(Finset.image (cubeScaleColor k) (descendantsAtScale Q k)).biUnion (descendantsAtScaleScaleColorClass Q k) = descendantsAtScale Q k
theorem
HCPolySupport.disjoint_descendantsAtScaleScaleColorClass_of_ne
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
{c₁ c₂ : ScaleColor d k}
(hneq : c₁ ≠ c₂)
:
Disjoint (descendantsAtScaleScaleColorClass Q k c₁) (descendantsAtScaleScaleColorClass Q k c₂)
theorem
HCPolySupport.card_descendantsAtScale_eq_sum_card_scaleColorClass_image
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
:
(descendantsAtScale Q k).card = ∑ c ∈ Finset.image (cubeScaleColor k) (descendantsAtScale Q k), (descendantsAtScaleScaleColorClass Q k c).card
theorem
HCPolySupport.one_le_dist_of_ne_of_mem_descendantsAtScaleScaleColorClass
{d : ℕ}
{Q R S : TriadicCube d}
{k : ℤ}
{c : ScaleColor d k}
(hR : R ∈ descendantsAtScaleScaleColorClass Q k c)
(hS : S ∈ descendantsAtScaleScaleColorClass Q k c)
(hneq : R ≠ S)
{x y : Vec d}
(hx : x ∈ cubeSet R)
(hy : y ∈ cubeSet S)
:
theorem
HCPolySupport.pairwiseDisjoint_descendantsAtScaleScaleColorClass
{d : ℕ}
(Q : TriadicCube d)
(k : ℤ)
(c : ScaleColor d k)
: