OAI/Algebra/GroupRing/StageRealization.lean
38 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.TorsionFreeZeroDivisors.StageRealization.allowed_turn_tableline 14Source documentation
Generic table application avoids reducing the concrete projective-plane alphabet while composing the elementary cardinality bounds.
theorem allowed_turn_table {PV PD TV T : Type*} [Fintype PD] [Fintype TV] (Γ : PortGraph PV PD) (plabel : PD → T) (outgoing : TV → Finset T) (pin : PV → Option TV) (v : PV) (a b : PD) (ha : Γ.origin a = v) (hb : Γ.origin b = v) (hab : plabel a ≠ plabel b) (f : T → T → ℝ) (htable : ∀ t u, t ≠ u → (Fintype.card {x : TV // t ∈ outgoing x ∧ u ∈ outgoing x} : ℝ) ≤ f t u) : ((allowed Γ plabel outgoing pin v).card : ℝ) ≤ f (plabel a) (plabel b) := …Mentions: OAI.TorsionFreeZeroDivisors.StageRealization.allowed
- def
OAI.TorsionFreeZeroDivisors.ChainRealization.edgePairline 35Source documentation
A choice of orientation for each actual edge; only this choice, not an independent matching event for its reverse, is counted.
def edgePair (e : Edge len) : Sym2 (Dart len) := s((e,false),(e,true)) …
- theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.edgePair_injectiveline 38 - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.edges_eqline 47 - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.edges_cardline 61 - def
OAI.TorsionFreeZeroDivisors.ChainRealization.labelline 64 - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.label_reverseline 69 - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.label_backline 75 - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.label_frontline 78 - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.internal_weightline 84Source documentation
Literal internal turn weight, not an independent-letter approximation.
theorem internal_weight (w : C → ℤ → WordEstimate.Letter) (himm : Function.Injective (fun d => ((graph len first last).origin d,label len w d))) (v : Interior len) : TypeWeights.jointWeight (label len w (back len v)) (label len w (front len v)) = WordEstimate.weight (w v.1 v.2.val) (w v.1 ((v.2.val : ℤ)+1)) := by …Mentions: OAI.TorsionFreeZeroDivisors.WordEstimate.Letter, OAI.TorsionFreeZeroDivisors.ChainRealization.label, OAI.TorsionFreeZeroDivisors.TypeWeights.jointWeight, OAI.TorsionFreeZeroDivisors.WordEstimate.weight
- def
OAI.TorsionFreeZeroDivisors.ChainRealization.turnProductline 103 - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.internal_productline 108Source documentation
Exact product of the type-table factors at all unmarked vertices.
theorem internal_product (w : C → ℤ → WordEstimate.Letter) (himm : Function.Injective (fun d => ((graph len first last).origin d,label len w d))) : (∏ v : Interior len, TypeWeights.jointWeight (label len w (back len v)) (label len w (front len v))) = turnProduct len w := by …Mentions: OAI.TorsionFreeZeroDivisors.WordEstimate.Letter, OAI.TorsionFreeZeroDivisors.ChainRealization.label, OAI.TorsionFreeZeroDivisors.TypeWeights.jointWeight, OAI.TorsionFreeZeroDivisors.ChainRealization.turnProduct
- def
OAI.TorsionFreeZeroDivisors.ChainRealization.pinline 119Source documentation
Marked vertices carry the optional prescribed root. Internal vertices never gain spurious pins.
def pin {TV : Type*} (p : V → Option TV) : Vertex len (V := V) → Option TV … - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.pin_internalline 124 - def
OAI.TorsionFreeZeroDivisors.ChainRealization.costline 128Source documentation
Source vertex-assignment cost, separating the finitely many marked vertices.
def cost {TV : Type*} (pp : V → Option TV) (n p : ℝ) (w : C → ℤ → WordEstimate.Letter) : Vertex len (V := V) → ℝ … - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.cost_productline 133 - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.allowed_costline 145 - theorem
OAI.TorsionFreeZeroDivisors.ChainRealization.fixed_label_boundline 179Source documentation
Exact finite first moment for an actually subdivided chain pattern. The fixed root costs one instead of n; all unmarked vertices use the type table.
theorem fixed_label_bound {TV : Type*} [Fintype TV] (outgoing : TV → Finset Types.Letter) (pp : V → Option TV) (n p : ℝ) (w : C → ℤ → WordEstimate.Letter) (himm : Function.Injective (fun d => ((graph len first last).origin d,label len w d))) (hn : (Fintype.card TV : ℝ) ≤ n) (htable : ∀ t u, t ≠ u → (Fintype.card {x : TV // t ∈ outgoing x ∧ u ∈ outgoing x} : ℝ) ≤ n*p*TypeWeights.jointWeight t u) (N d R : ℕ) (h2 : 2 ≤ d) (hR : 0 < R) (hd : ∀ v, Nat.card {e : PatternEmbeddings.Dart outgoing // PatternEmbeddings.origin outgoing e = v} ≤ d) (hsize : ∀ x : PatternEmbeddings.Dart outgoing, …Mentions: OAI.TorsionFreeZeroDivisors.Types.Letter, OAI.TorsionFreeZeroDivisors.WordEstimate.Letter, OAI.TorsionFreeZeroDivisors.ChainRealization.label, OAI.TorsionFreeZeroDivisors.TypeWeights.jointWeight, OAI.TorsionFreeZeroDivisors.PatternEmbeddings.Dart, OAI.TorsionFreeZeroDivisors.PatternEmbeddings.origin
- abbrev
OAI.TorsionFreeZeroDivisors.ChainWeights.BlockTurnline 220 - def
OAI.TorsionFreeZeroDivisors.ChainWeights.firstCoordinateline 222 - def
OAI.TorsionFreeZeroDivisors.ChainWeights.nextCoordinateline 224 - theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.firstCoordinate_valline 228 - theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.nextCoordinate_valline 235 - def
OAI.TorsionFreeZeroDivisors.ChainWeights.turnPointline 242 - def
OAI.TorsionFreeZeroDivisors.ChainWeights.turnsline 245 - theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.turnPoint_memline 247 - theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.turnPoint_blockline 255 - theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.turnPoint_injectiveline 261Source documentation
Different block turns are different turns of the actual chain subdivision.
theorem turnPoint_injective : Function.Injective (turnPoint s hs len) := by …
Mentions: OAI.TorsionFreeZeroDivisors.ChainWeights.turnPoint
- def
OAI.TorsionFreeZeroDivisors.ChainWeights.atTurnline 278 - def
OAI.TorsionFreeZeroDivisors.ChainWeights.chainProductline 280 - theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.wordWeight_predline 283 - theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.turn_productline 289 - theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.chain_le_blocksline 309Source documentation
Discarding only nonnegative factors at most one can increase a chain's turn product. This accounts for cross-block turns and all end fragments.
theorem chain_le_blocks (w : C → ℤ → Letter) : chainProduct len w ≤ ∏ i : Underlying s len, wordWeight (height s len i) (word s len w i) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainWeights.chainProduct
- theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.bin_weight_upperline 325Source documentation
A literal bin contributes its upper endpoint to the fixed-label exponent.
theorem bin_weight_upper {h : ℕ} {d : ℤ} {W : Fin h → Letter} (hW : W ∈ binWords h d) : wordWeight h W ≤ Real.exp (-(d : ℝ)) := by … - theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.chain_bin_boundline 337Source documentation
Fixed-label loss from all active full blocks. The stage instance is obtained by taking C to be the active-chain subtype itself.
theorem chain_bin_bound (w : C → ℤ → Letter) (d : Underlying s len → ℤ) (hbin : ∀ i, word s len w i ∈ binWords (height s len i) (d i)) : chainProduct len w ≤ Real.exp (-∑ i, (d i : ℝ)) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainWeights.chainProduct
- theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.mem_positions_natline 347 - def
OAI.TorsionFreeZeroDivisors.ChainWeights.turnEquivline 358Source documentation
Literal indexing equivalence from internal subdivision vertices to the half-integer-grid turn positions.
def turnEquiv : ((c : C) × Fin (len c-1)) ≃ (turns len) where …
- theorem
OAI.TorsionFreeZeroDivisors.ChainWeights.chainProduct_eqline 386Source documentation
The full-chain product is exactly the product over the actual internal vertices used in the matching first moment.
theorem chainProduct_eq (w : C → ℤ → Letter) : chainProduct len w = ∏ v : ((c : C) × Fin (len c-1)), weight (w v.1 v.2.val) (w v.1 ((v.2.val : ℤ)+1)) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainWeights.chainProduct