def
definition
mapDeltaOne
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.RecogSpec.Scales on GitHub at line 167.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
164-- (no actionMap in minimal RSUnits)
165
166/-- Specialization of `mapDelta` to δ = 1 using the canonical projection. -/
167noncomputable def mapDeltaOne
168 (toZ : LedgerUnits.DeltaSub 1 → ℤ) (f : AffineMapZ) : LedgerUnits.DeltaSub 1 → ℝ :=
169 fun p => f.slope * ((toZ p) : ℝ) + f.offset
170
171@[simp] lemma mapDeltaOne_fromZ_one
172 (f : AffineMapZ) (n : ℤ) :
173 mapDeltaOne LedgerUnits.toZ_one f (LedgerUnits.fromZ_one n)
174 = f.slope * (n : ℝ) + f.offset := by
175 simp [mapDeltaOne, LedgerUnits.toZ_one, LedgerUnits.fromZ_one]
176
177lemma mapDeltaOne_step (f : AffineMapZ) (n : ℤ) :
178 mapDeltaOne LedgerUnits.toZ_one f (LedgerUnits.fromZ_one (n+1))
179 - mapDeltaOne LedgerUnits.toZ_one f (LedgerUnits.fromZ_one n) = f.slope := by
180 simp [mapDeltaOne, add_comm, add_left_comm, add_assoc, sub_eq_add_neg, mul_add]
181
182@[simp] lemma mapDeltaTime_fromZ_one
183 (U : Constants.RSUnits) (n : ℤ) :
184 mapDeltaOne LedgerUnits.toZ_one (timeMap U) (LedgerUnits.fromZ_one n)
185 = U.tau0 * (n : ℝ) := by
186 simp [mapDeltaOne, timeMap, add_comm]
187
188-- (no actionMap in minimal RSUnits)
189
190end Scales
191
192end RecogSpec
193end IndisputableMonolith