OAI/NumberTheory/Ostmann/Construction/AtomSourceDescent.lean
10 declarations, 0 contain sorry, 0 declared as axioms
Actual reverse paths with freshly indexed ancestor pivot sources
- def
OAI.Ostmann.AtomSourceBeforeline 11 - theorem
OAI.Ostmann.AtomSourceBefore.monoline 15 - def
OAI.Ostmann.advanceNatAtomSourcesline 21 - theorem
OAI.Ostmann.advanceNatAtomSources_beforeline 25 - theorem
OAI.Ostmann.advanceNatAtomSources_injectiveline 36 - def
OAI.Ostmann.descendAtomSourcesline 49Source documentation
The first entry of the path is the root branch. Source indices count the previously reconstructed pivots in root-to-leaf order.
noncomputable def descendAtomSources {I B : Type*} (role : I → CopyScheduleRole) : (h n d : ℕ) → (Fin h → Bool) → (CopyScheduleAtoms role (n + h) → B ⊕ ℕ) → CopyScheduleAtoms role n → B ⊕ ℕ | 0, _, _, _, source => source | h + 1, n, d, path, source => descendAtomSources role h n (d + 1) (Fin.tail path) (advanceNatAtomSources role (n + h) d (path 0) source)Mentions: OAI.Ostmann.CopyScheduleRole, OAI.Ostmann.CopyScheduleAtoms, OAI.Ostmann.advanceNatAtomSources
- theorem
OAI.Ostmann.descendAtomSources_beforeline 57 - theorem
OAI.Ostmann.descendAtomSources_injectiveline 69 - def
OAI.Ostmann.descendAtomValuesline 82 - theorem
OAI.Ostmann.descendAtomSources_evalline 92Source documentation
Evaluating symbolic sources agrees exactly with the successive integer substitutions. This equality does not discard any pivot or outside coordinate.
theorem descendAtomSources_eval {I B A : Type*} (role : I → CopyScheduleRole) (h n d : ℕ) (path : Fin h → Bool) (source : CopyScheduleAtoms role (n + h) → B ⊕ ℕ) (C : B → A) (p : ℕ → A) (v : CopyScheduleAtoms role n) : Sum.elim C p (descendAtomSources role h n d path source v) = descendAtomValues role h n d path p (fun w => Sum.elim C p (source w)) v := by …Mentions: OAI.Ostmann.CopyScheduleRole, OAI.Ostmann.CopyScheduleAtoms, OAI.Ostmann.descendAtomSources, OAI.Ostmann.descendAtomValues