OAI/Algebra/GroupRing/StageBlocks.lean
43 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.TorsionFreeZeroDivisors.StageBlocks.Componentline 15 - def
OAI.TorsionFreeZeroDivisors.StageBlocks.translationWordsline 17 - theorem
OAI.TorsionFreeZeroDivisors.StageBlocks.translation_cardline 20 - def
OAI.TorsionFreeZeroDivisors.StageBlocks.rootWordsline 33 - def
OAI.TorsionFreeZeroDivisors.StageBlocks.basicCostline 38 - def
OAI.TorsionFreeZeroDivisors.StageBlocks.Feasibleline 43 - theorem
OAI.TorsionFreeZeroDivisors.StageBlocks.feasible_rootline 48 - theorem
OAI.TorsionFreeZeroDivisors.StageBlocks.root_boundline 56 - theorem
OAI.TorsionFreeZeroDivisors.StageBlocks.stage_countline 87Source documentation
Count the actual active projections with bin or self-translation roots. The error exponent is explicit: twice the missing substring size per block.
theorem stage_count (A : Finset I) (s : ℝ) (e : ℕ) (hlarge : ∀ i, 3002 ≤ h i) (hscale : ∀ i, s+1200 ≤ 2*(h i : ℝ)) (hlinks : ∀ i j, L.graph.Adj i j → h i - (L.known i j).card ≤ e) (hself : ∀ c tr, D c = some tr → h (r c).val-tr.domain.card ≤ e) : ((StageLabels.stageWords h A (Feasible L r D d)).card : ℝ) ≤ Real.exp ((∑ c : StageLabels.activeComponents L.graph.connectedComponentMk A, basicCost L r D d s c.val) + 2*(e : ℝ)*Fintype.card I*Real.log (Fintype.card Letter)) := by …Mentions: OAI.TorsionFreeZeroDivisors.StageLabels.stageWords, OAI.TorsionFreeZeroDivisors.StageBlocks.Feasible, OAI.TorsionFreeZeroDivisors.StageLabels.activeComponents, OAI.TorsionFreeZeroDivisors.StageBlocks.basicCost
- theorem
OAI.TorsionFreeZeroDivisors.ActualStageLabels.projection_emptyline 118Source documentation
An infeasible complete word has no active projection.
theorem projection_empty {I T : Type*} [Fintype I] [Fintype T] (h : I → ℕ) (A : Finset I) (P : ((i : I) → Fin (h i) → T) → Prop) (hn : ¬∃ W, P W) : StageLabels.stageWords h A P = ∅ := by …Mentions: OAI.TorsionFreeZeroDivisors.ActualStageLabels.P, OAI.TorsionFreeZeroDivisors.StageLabels.stageWords
- theorem
OAI.TorsionFreeZeroDivisors.ActualStageLabels.projection_boundline 128Source documentation
Uniform root errors and propagation errors together cost at most twice one missing substring per underlying block.
theorem projection_bound {I T : Type*} [Fintype I] [Fintype T] [Nonempty T] {h : I → ℕ} (L : StageLabels.Links (T := T) h) (A : Finset I) …Mentions: OAI.TorsionFreeZeroDivisors.ActualStageLabels.L, OAI.TorsionFreeZeroDivisors.StageLabels.Links
- def
OAI.TorsionFreeZeroDivisors.ActualStageLabels.symbolline 161 - abbrev
OAI.TorsionFreeZeroDivisors.ActualStageLabels.Lline 164 - abbrev
OAI.TorsionFreeZeroDivisors.ActualStageLabels.Pline 165 - abbrev
OAI.TorsionFreeZeroDivisors.ActualStageLabels.Componentline 166 - def
OAI.TorsionFreeZeroDivisors.ActualStageLabels.Comparingline 168 - def
OAI.TorsionFreeZeroDivisors.ActualStageLabels.Immersedline 174 - def
OAI.TorsionFreeZeroDivisors.ActualStageLabels.Feasibleline 180 - theorem
OAI.TorsionFreeZeroDivisors.ActualStageLabels.feasible_consistentline 185 - def
OAI.TorsionFreeZeroDivisors.ActualStageLabels.costline 203Source documentation
The source component cost with the actual occurrence matching and its actual self-links, not a supplied abstract component partition.
def cost (c : Component s hs len m cmp err) : ℝ := …
Mentions: OAI.TorsionFreeZeroDivisors.ActualStageLabels.Component
- theorem
OAI.TorsionFreeZeroDivisors.ActualStageLabels.root_countline 207 - theorem
OAI.TorsionFreeZeroDivisors.ActualStageLabels.stage_countline 253Source documentation
Counting the actual stage projection. Self-link roots are selected from one feasible realization; if none exists, the projection is empty.
theorem stage_count (A : Finset (Underlying s len)) (hlarge : ∀ i, 3002 ≤ height s len i) (hscale : ∀ i, s+1200 ≤ 2*(height s len i : ℝ)) (hreduced : ∀ x e, cmp.side x = some e → (x.1.1,x.2.val) ≠ ((cmp.pairing.partner x).1.1,(cmp.pairing.partner x).2.val)) : ((StageLabels.stageWords (height s len) A (Feasible s len m cmp d)).card : ℝ) ≤ Real.exp ((∑ c : StageLabels.activeComponents (L s hs len m cmp err).graph.connectedComponentMk A, cost s hs len m cmp err d c.val) + 2*(err : ℝ)*Fintype.card (Underlying s len)*Real.log (Fintype.card Letter)) := by …Mentions: OAI.TorsionFreeZeroDivisors.StageLabels.stageWords, OAI.TorsionFreeZeroDivisors.ActualStageLabels.Feasible, OAI.TorsionFreeZeroDivisors.StageLabels.activeComponents, OAI.TorsionFreeZeroDivisors.ActualStageLabels.L, OAI.TorsionFreeZeroDivisors.ActualStageLabels.cost
- theorem
OAI.TorsionFreeZeroDivisors.ActualStageLabels.active_iffline 276Source documentation
Stage components are precisely those whose maximum multiplicity exceeds the zero-based stage number.
theorem active_iff (j : ℕ) (c : Component s hs len m cmp err) : c ∈ StageLabels.activeComponents (L s hs len m cmp err).graph.connectedComponentMk (Finset.univ.filter (fun i => j < multiplicity s len m i)) ↔ j < LinkComponents.maximum (multiplicity s len m) (P s hs len m cmp err) c := by …Mentions: OAI.TorsionFreeZeroDivisors.ActualStageLabels.Component, OAI.TorsionFreeZeroDivisors.StageLabels.activeComponents, OAI.TorsionFreeZeroDivisors.ActualStageLabels.L, OAI.TorsionFreeZeroDivisors.LinkComponents.maximum, OAI.TorsionFreeZeroDivisors.ActualStageLabels.P
- theorem
OAI.TorsionFreeZeroDivisors.ActualStageLabels.cost_sumline 289Source documentation
Literal source component sum, now in the form used by stage-cost summation.
theorem cost_sum (j : ℕ) : (∑ c : StageLabels.activeComponents (L s hs len m cmp err).graph.connectedComponentMk (Finset.univ.filter (fun i => j < multiplicity s len m i)), cost s hs len m cmp err d c.val) = ∑ c : Component s hs len m cmp err, if j < LinkComponents.maximum (multiplicity s len m) (P s hs len m cmp err) c then cost s hs len m cmp err d c else 0 := by …Mentions: OAI.TorsionFreeZeroDivisors.StageLabels.activeComponents, OAI.TorsionFreeZeroDivisors.ActualStageLabels.L, OAI.TorsionFreeZeroDivisors.ActualStageLabels.cost, OAI.TorsionFreeZeroDivisors.ActualStageLabels.Component, OAI.TorsionFreeZeroDivisors.LinkComponents.maximum, OAI.TorsionFreeZeroDivisors.ActualStageLabels.P
- theorem
OAI.TorsionFreeZeroDivisors.ChainStageLabels.stageWords_memline 315Source documentation
Direct membership in a finite active projection, with the generic index instances retained rather than recomputed after specializing the sigma type.
theorem stageWords_mem {I T : Type*} [Fintype I] [Fintype T] (h : I → ℕ) (A : Finset I) (P : ((i : I) → Fin (h i) → T) → Prop) (W : (i : I) → Fin (h i) → T) (hW : P W) : (fun i : A => W i.val) ∈ StageLabels.stageWords h A P := by …Mentions: OAI.TorsionFreeZeroDivisors.StageLabels.stageWords
- abbrev
OAI.TorsionFreeZeroDivisors.ChainStageLabels.ActiveChainline 328 - abbrev
OAI.TorsionFreeZeroDivisors.ChainStageLabels.StagePositionline 329 - abbrev
OAI.TorsionFreeZeroDivisors.ChainStageLabels.StageTailline 330 - def
OAI.TorsionFreeZeroDivisors.ChainStageLabels.activeBlocksline 331 - theorem
OAI.TorsionFreeZeroDivisors.ChainStageLabels.tail_subsetline 335 - def
OAI.TorsionFreeZeroDivisors.ChainStageLabels.blockPointline 341 - def
OAI.TorsionFreeZeroDivisors.ChainStageLabels.tailPointline 347 - def
OAI.TorsionFreeZeroDivisors.ChainStageLabels.blockRestrictline 350 - def
OAI.TorsionFreeZeroDivisors.ChainStageLabels.tailRestrictline 353 - def
OAI.TorsionFreeZeroDivisors.ChainStageLabels.encodeline 356 - theorem
OAI.TorsionFreeZeroDivisors.ChainStageLabels.encode_injectiveline 361Source documentation
Full blocks and the literal end fragments determine every active chain letter, without choosing values on inactive chains.
theorem encode_injective : Function.Injective (encode s hs len m j) := by …
Mentions: OAI.TorsionFreeZeroDivisors.ChainStageLabels.encode
- theorem
OAI.TorsionFreeZeroDivisors.ChainStageLabels.extension_countline 376Source documentation
The exact finite extension factor contributed by arbitrary tail letters.
theorem extension_count (X : Finset (StagePosition len m j → Letter)) (Y : Finset ((i : activeBlocks s len m j) → Fin (height s len i.val) → Letter)) (hX : ∀ F ∈ X, blockRestrict s hs len m j F ∈ Y) : X.card ≤ Y.card * (Fintype.card Letter)^Fintype.card (StageTail s len m j) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainStageLabels.StagePosition, OAI.TorsionFreeZeroDivisors.ChainStageLabels.activeBlocks, OAI.TorsionFreeZeroDivisors.ChainStageLabels.blockRestrict, OAI.TorsionFreeZeroDivisors.ChainStageLabels.StageTail
- theorem
OAI.TorsionFreeZeroDivisors.ChainStageLabels.tail_countline 392Source documentation
The fragment loss is O(s) per marked chain, with a literal uniform bound.
theorem tail_count : (Fintype.card (StageTail s len m j) : ℝ) ≤ (s+1)*Fintype.card C := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainStageLabels.StageTail
- def
OAI.TorsionFreeZeroDivisors.ChainStageLabels.fullWordsline 405 - theorem
OAI.TorsionFreeZeroDivisors.ChainStageLabels.blockRestrict_wordline 411 - theorem
OAI.TorsionFreeZeroDivisors.ChainStageLabels.restrict_memline 423Source documentation
Every literal feasible full-chain assignment projects to feasible blocks.
theorem restrict_mem (F : StagePosition len m j → Letter) (hF : F ∈ fullWords s len m j cmp d) : blockRestrict s hs len m j F ∈ StageLabels.stageWords (height s len) (activeBlocks s len m j) (ActualStageLabels.Feasible s len m cmp d) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainStageLabels.StagePosition, OAI.TorsionFreeZeroDivisors.ChainStageLabels.fullWords, OAI.TorsionFreeZeroDivisors.ChainStageLabels.blockRestrict, OAI.TorsionFreeZeroDivisors.StageLabels.stageWords, OAI.TorsionFreeZeroDivisors.ChainStageLabels.activeBlocks, OAI.TorsionFreeZeroDivisors.ActualStageLabels.Feasible
- theorem
OAI.TorsionFreeZeroDivisors.ChainStageLabels.count_extension_expline 438Source documentation
Numerical extension bound factored independently of the graph types.
theorem count_extension_exp (x y k z : ℕ) (cost error bound : ℝ) (hxy : x ≤ y*k^z) (hy : (y : ℝ) ≤ Real.exp (cost+error*Real.log k)) (hz : (z : ℝ) ≤ bound) (hk : 0 < k) : (x : ℝ) ≤ Real.exp (cost+(error+bound)*Real.log k) := by … - theorem
OAI.TorsionFreeZeroDivisors.ChainStageLabels.full_stage_countline 454Source documentation
Source stage-label estimate including every tail, not just full blocks.
theorem full_stage_count (err : ℕ) (hlarge : ∀ i, 3002 ≤ height s len i) (hscale : ∀ i, s+1200 ≤ 2*(height s len i : ℝ)) (hreduced : ∀ x e, cmp.side x = some e → (x.1.1,x.2.val) ≠ ((cmp.pairing.partner x).1.1,(cmp.pairing.partner x).2.val)) : ((fullWords s len m j cmp d).card : ℝ) ≤ Real.exp ((∑ c : StageLabels.activeComponents (ActualStageLabels.L s hs len m cmp err).graph.connectedComponentMk (activeBlocks s len m j), ActualStageLabels.cost s hs len m cmp err d c.val) + (2*(err : ℝ)*Fintype.card (Underlying s len)+(s+1)*Fintype.card C)* Real.log (Fintype.card Letter)) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainStageLabels.fullWords, OAI.TorsionFreeZeroDivisors.StageLabels.activeComponents, OAI.TorsionFreeZeroDivisors.ActualStageLabels.L, OAI.TorsionFreeZeroDivisors.ChainStageLabels.activeBlocks, OAI.TorsionFreeZeroDivisors.ActualStageLabels.cost