OAI/Geometry/HyperbolicGroups/WeightedCoincidence.lean
13 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.HyperbolicObstruction.Coincidence.rankOnline 17Source documentation
Coincidence rank on an actual subset of field positions.
def rankOn (c : V → C) (s : Finset V) : ℕ := s.card - (s.image c).card
- def
OAI.HyperbolicObstruction.Coincidence.maxRepresentativeline 20Source documentation
A maximum-weight representative of each nonempty unsigned class.
def maxRepresentative (c : V → C) (w : V → ℕ) (v : V) : V := …
- lemma
OAI.HyperbolicObstruction.Coincidence.maxRepresentative_memline 24 - lemma
OAI.HyperbolicObstruction.Coincidence.le_maxRepresentativeline 30 - lemma
OAI.HyperbolicObstruction.Coincidence.maxRepresentative_eqline 35 - lemma
OAI.HyperbolicObstruction.Coincidence.maxRepresentative_idemline 43 - lemma
OAI.HyperbolicObstruction.Coincidence.rank_levelline 51Source documentation
The representative/nonrepresentative partition computes rank at every level. A maximal position remains selected whenever any class member does.
lemma rank_level (c : V → C) (w : V → ℕ) (j : ℕ) : rankOn c (Finset.univ.filter (fun v => j < w v)) = (Finset.univ.filter (fun v => j < w v ∧ v ≠ maxRepresentative c w v)).card := by …Mentions: OAI.HyperbolicObstruction.Coincidence.rankOn, OAI.HyperbolicObstruction.Coincidence.maxRepresentative
- lemma
OAI.HyperbolicObstruction.Coincidence.layer_cakeline 85 - theorem
OAI.HyperbolicObstruction.Coincidence.sum_rank_levelsline 100Source documentation
Exact integer layer-cake identity.
theorem sum_rank_levels (c : V → C) (w : V → ℕ) (K : ℕ) (hK : ∀ v, w v ≤ K) : ∑ j ∈ Finset.range K, rankOn c (Finset.univ.filter (fun v => j < w v)) = ∑ v ∈ Finset.univ.filter (fun v => v ≠ maxRepresentative c w v), w v := by …Mentions: OAI.HyperbolicObstruction.Coincidence.rankOn, OAI.HyperbolicObstruction.Coincidence.maxRepresentative
- def
OAI.HyperbolicObstruction.Coincidence.contactChargeline 113Source documentation
Each letter contact is charged to an endpoint other than the class maximum. This uses actual side capacities, not a forest assumption on the contact graph.
def contactCharge (c : V → C) (w : V → ℕ) (l r : E → V) (e : E) : V := …
- lemma
OAI.HyperbolicObstruction.Coincidence.contactCharge_endpointline 116 - lemma
OAI.HyperbolicObstruction.Coincidence.contactCharge_not_maxline 121 - theorem
OAI.HyperbolicObstruction.Coincidence.contacts_le_weighted_rankline 135Source documentation
The contact bound, valid for arbitrary cycles, multiple edges and repeats of cell copies. Normality is precisely the inequality of the two field indices.
theorem contacts_le_weighted_rank (c : V → C) (w : V → ℕ) (l r : E → V) (hneq : ∀ e, l e ≠ r e) (hc : ∀ e, c (l e) = c (r e)) (hcap : ∀ v, (Finset.univ.filter (fun e => l e = v ∨ r e = v)).card ≤ w v) (K : ℕ) (hK : ∀ v, w v ≤ K) : Fintype.card E ≤ ∑ j ∈ Finset.range K, rankOn c (Finset.univ.filter (fun v => j < w v)) := by …