OAI/NumberTheory/Ostmann/Arithmetic/MovingFrequencyResidues.lean
13 declarations, 0 contain sorry, 0 declared as axioms
Frequency residues with compensation factors inverted
Unlike the signed integer recursion, this recursion divides only by the frequency. Compensation factors are inverted modulo a frequency power, so no internal prime enters its period. One power is consumed per reversal.
- def
OAI.Ostmann.MovingSlotReversal.signedNumeratorline 16 - def
OAI.Ostmann.MovingSlotReversal.frequencyPivotline 21 - theorem
OAI.Ostmann.coprime_bezout_inverse_modEqline 26 - theorem
OAI.Ostmann.MovingSlotReversal.signedNumerator_modEqline 35 - theorem
OAI.Ostmann.MovingSlotReversal.frequencyPivot_modEqline 41 - theorem
OAI.Ostmann.MovingSlotReversal.frequencyPivot_nat_modEqline 51 - def
OAI.Ostmann.movingFrequencyLocalUnitsline 65 - def
OAI.Ostmann.movingFrequencyGateline 69 - theorem
OAI.Ostmann.movingFrequencyLocalUnits_modEqline 78 - theorem
OAI.Ostmann.MovingSlotData.frequencyProduct_node_dvdline 85 - theorem
OAI.Ostmann.movingFrequencyGate_modEqline 98Source documentation
The entire frequency block has a period containing only frequencies. The compensation primes have disappeared from the period.
theorem movingFrequencyGate_modEq {σ : Type*} (value : σ → ℕ) (R : ℤ) {n : ℕ} (T : MovingSlotData σ n) (hf : T.Frequencies (· ≠ 0)) (hR : T.frequencyProduct ∣ R) (XL XR YL YR : ℤ) (hL : XL ≡ YL [ZMOD R ^ (n + 1)]) (hRight : XR ≡ YR [ZMOD R ^ (n + 1)]) : movingFrequencyGate value R T XL XR ↔ movingFrequencyGate value R T YL YR := by …Mentions: OAI.Ostmann.MovingSlotData, OAI.Ostmann.movingFrequencyGate
- theorem
OAI.Ostmann.movingNaturalProduct_coprimeline 124 - theorem
OAI.Ostmann.movingFrequencyGate_nat_iffline 136Source documentation
On an original integral history this frequency-only recursion is exactly the original subtree-frequency unit support. No stronger giant unit test is inserted and all frequency divisibility tests remain in the new recursion.
theorem movingFrequencyGate_nat_iff {σ : Type*} (value : σ → ℕ) (R : ℤ) (hsmall : ∀ i, IsCoprime (value i : ℤ) R) {n : ℕ} (T : MovingSlotData σ n) (hf : T.Frequencies (· ≠ 0)) (hR : T.frequencyProduct ∣ R) (XL XR : ℕ) (hI : T.Integral value XL XR) : movingFrequencyGate value R T XL XR ↔ movingAuxiliaryUnits value [] T XL XR := by …Mentions: OAI.Ostmann.MovingSlotData, OAI.Ostmann.movingFrequencyGate, OAI.Ostmann.movingAuxiliaryUnits