OAI/NumberTheory/Ostmann/Construction/AtomAncestorSources.lean
10 declarations, 0 contain sorry, 0 declared as axioms
Constructing finite ancestor products from distinct atom sources
- def
OAI.Ostmann.atomSourceExtendline 11 - theorem
OAI.Ostmann.atomSourceExtend_ne_lastline 27 - def
OAI.Ostmann.advanceAtomSourcesline 37 - theorem
OAI.Ostmann.advanceAtomSources_injectiveline 42 - theorem
OAI.Ostmann.reverseCopyLabelMap_mapline 50 - theorem
OAI.Ostmann.atomSourceExtend_evalline 58 - theorem
OAI.Ostmann.advanceAtomSources_evalline 65Source documentation
Source evaluation gives the actual reverse assignment, including the newly inserted integral pivot. Earlier pivots retain their original indices.
theorem advanceAtomSources_eval {I B A : Type*} (role : I → CopyScheduleRole) (n d : ℕ) (b : Bool) (source : CopyScheduleAtoms role (n + 1) → B ⊕ Fin d) (C : B → A) (p : Fin (d + 1) → A) (v : CopyScheduleAtoms role n) : Sum.elim C p (advanceAtomSources role n d b source v) = reverseCopyLabelMap role n b (p (Fin.last d)) (fun w => Sum.elim C (fun j => p j.castSucc) (source w)) v := by …Mentions: OAI.Ostmann.CopyScheduleRole, OAI.Ostmann.CopyScheduleAtoms, OAI.Ostmann.advanceAtomSources, OAI.Ostmann.reverseCopyLabelMap
- def
OAI.Ostmann.atomAncestorSetline 76 - def
OAI.Ostmann.atomFixedProductline 80 - theorem
OAI.Ostmann.atomSource_productline 86Source documentation
No multiplicity bound is postulated: source injectivity gives exactly the finite set product used by PivotDependencyScheme.
theorem atomSource_product {A B : Type*} [Fintype A] {d : ℕ} (source : A → B ⊕ Fin d) (hs : Function.Injective source) (C : B → ℤ) (p : Fin d → ℤ) : (∏ a, Sum.elim C p (source a)) = ancestorCoefficient (atomFixedProduct source C) (atomAncestorSet source) p := by …Mentions: OAI.Ostmann.ancestorCoefficient, OAI.Ostmann.atomFixedProduct, OAI.Ostmann.atomAncestorSet