OAI/NumberTheory/Ostmann/Construction/BranchingHistoryReplay.lean
16 declarations, 0 contain sorry, 0 declared as axioms
- inductive
OAI.Ostmann.BranchingWordHistoryline 9 - def
OAI.Ostmann.BranchingWordHistory.Validline 17 - def
OAI.Ostmann.BranchingWordHistory.flipSignedline 22 - def
OAI.Ostmann.BranchingWordHistory.mapSignedline 24 - def
OAI.Ostmann.BranchingWordHistory.integerLeavesline 26 - def
OAI.Ostmann.BranchingWordHistory.updatedFormulasline 32 - def
OAI.Ostmann.BranchingWordHistory.formulaLeavesline 36 - def
OAI.Ostmann.BranchingWordHistory.pivotFormulasline 43 - theorem
OAI.Ostmann.BranchingWordHistory.wordFormula_valueline 51 - theorem
OAI.Ostmann.BranchingWordHistory.updatedFormulas_valueline 66 - theorem
OAI.Ostmann.BranchingWordHistory.mapSigned_flipline 80 - theorem
OAI.Ostmann.BranchingWordHistory.formulaLeaves_valueline 87Source documentation
Every signed leaf formula evaluates to its actual product after all ancestor integer substitutions, including the independently replayed right branch.
theorem formulaLeaves_value (history : BranchingWordHistory σ) (env : σ → HistoryFormula σ) (a : σ → ℚ) (x : σ → ℤ) (he : ∀ i, (env i).value a = x i) (hx : history.Valid x) : (history.formulaLeaves env).map (mapSigned (fun F => F.value a)) = (history.integerLeaves x).map (mapSigned (fun z : ℤ => (z : ℚ))) := by …Mentions: OAI.Ostmann.BranchingWordHistory, OAI.Ostmann.HistoryFormula, OAI.Ostmann.BranchingWordHistory.mapSigned
- def
OAI.Ostmann.BranchingWordHistory.leafCountline 101Source documentation
Counts use the original branching structure, independent of assignments.
def leafCount : BranchingWordHistory σ → ℕ | .leaf _ => 1 | .node _ left right => left.leafCount + right.leafCount
Mentions: OAI.Ostmann.BranchingWordHistory
- def
OAI.Ostmann.BranchingWordHistory.nodeCountline 105 - theorem
OAI.Ostmann.BranchingWordHistory.formulaLeaves_lengthline 109 - theorem
OAI.Ostmann.BranchingWordHistory.pivotFormulas_lengthline 115