OAI/NumberTheory/Ostmann/Arithmetic/MovingSignedUnits.lean
10 declarations, 0 contain sorry, 0 declared as axioms
The giant unit tests on signed residue representatives
- theorem
OAI.Ostmann.int_modEq_isCoprime_iffline 11 - def
OAI.Ostmann.MovingSlotData.frequencyProductline 22Source documentation
The product records every frequency at or below this state.
def MovingSlotData.frequencyProduct {σ : Type*} : {n : ℕ} → MovingSlotData σ n → ℤ | _, .leaf s _ => s | _, .node s _ _ _ left right => s * left.frequencyProduct * right.frequencyProductMentions: OAI.Ostmann.MovingSlotData
- theorem
OAI.Ostmann.MovingSlotData.frequencies_isCoprimeline 26 - def
OAI.Ostmann.movingLocalGiantUnitsline 37Source documentation
Tests the two giants against every subtree frequency, every current regular slot, and the fixed outside list. Mutual coprimality of the two current giants is deliberately separate.
def movingLocalGiantUnits {σ : Type*} (value : σ → ℕ) (outside : List ℕ) {n : ℕ} (T : MovingSlotData σ n) (XL XR : ℤ) : Prop := …Mentions: OAI.Ostmann.MovingSlotData
- def
OAI.Ostmann.movingSignedGiantUnitsline 46Source documentation
Signed evaluation uses exact Euclidean division and hence is defined on all residue representatives, including representatives off the real support.
noncomputable def movingSignedGiantUnits {σ : Type*} (value : σ → ℕ) (outside : List ℕ) : {n : ℕ} → MovingSlotData σ n → ℤ → ℤ → Prop | _, T@(.leaf _ _), XL, XR => movingLocalGiantUnits value outside T XL XR | _, T@(.node s CL CR U left right), XL, XR => let p := (MovingSlotData.step s CL CR U left right false).signedPivot value XL XR …Mentions: OAI.Ostmann.MovingSlotData, OAI.Ostmann.movingLocalGiantUnits, OAI.Ostmann.MovingSlotData.step
- def
OAI.Ostmann.movingNaturalGiantUnitsline 55 - theorem
OAI.Ostmann.movingSignedGiantUnits_natline 64 - def
OAI.Ostmann.movingGiantUnitPeriodline 77Source documentation
A period for precisely the current unit tests and their descendant Euclidean divisions. No real inequalities are used in this definition.
def movingGiantUnitPeriod {σ : Type*} (value : σ → ℕ) (outside : List ℕ) : {n : ℕ} → MovingSlotData σ n → ℤ | _, T@(.leaf _ _) => T.frequencyProduct * (MovingSlotReversal.naturalProduct value T.regularSlots : ℤ) * outside.prod | _, T@(.node s _ _ U left right) => (T.frequencyProduct * (MovingSlotReversal.naturalProduct value T.regularSlots : ℤ) * outside.prod) * (s * (MovingSlotReversal.naturalProduct value U : ℤ)) * movingGiantUnitPeriod value outside left * movingGiantUnitPeriod value outside rightMentions: OAI.Ostmann.MovingSlotData, OAI.Ostmann.MovingSlotReversal.naturalProduct
- theorem
OAI.Ostmann.movingLocalGiantUnits_modEqline 86 - theorem
OAI.Ostmann.movingSignedGiantUnits_modEqline 105