Imports
/-
Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Tooby-Smith
-/
module
public import Physlib.Units.WithDim.BasicSpeed
In this module we define the dimensionful type corresponding to an speed. We define specific instances of speed, such as miles per hour, kilometers per hour, etc.
@[expose] public sectionThe type of speeds in the absence of a choice of unit.
abbrev DimSpeed : Type := Dimensionful (WithDim (L𝓭 * T𝓭⁻¹) ℝ≥0)Basic speeds
Speed in SI units
@[simp]
lemma oneMeterPerSecond_in_SI : oneMeterPerSecond SI = ⟨1⟩ := ⊢ ↑oneMeterPerSecond SI = { val := 1 }
All goals completed! 🐙@[simp]
lemma oneMilePerHour_in_SI : oneMilePerHour SI = ⟨0.44704⟩ := ⊢ ↑oneMilePerHour SI = { val := 0.44704 }
⊢ (⟨1609.344, ⋯⟩ * ⟨60 * 60, ⋯⟩ ^ (-1)) • { val := 1 } = { val := 0.44704 }
⊢ ↑((⟨1609.344, ⋯⟩ * ⟨60 * 60, ⋯⟩ ^ (-1)) • { val := 1 }).val = ↑{ val := 0.44704 }.val
⊢ ↑⟨1609.344, ⋯⟩ * ↑⟨60 * 60, ⋯⟩ ^ (-1) = 0.44704
All goals completed! 🐙@[simp]
lemma oneKilometerPerHour_in_SI :
oneKilometerPerHour SI = ⟨5/18⟩ := ⊢ ↑oneKilometerPerHour SI = { val := 5 / 18 }
⊢ (⟨10 ^ 3, ⋯⟩ * ⟨60 * 60, ⋯⟩ ^ (-1)) • { val := 1 } = { val := 5 / 18 }
⊢ ↑((⟨10 ^ 3, ⋯⟩ * ⟨60 * 60, ⋯⟩ ^ (-1)) • { val := 1 }).val = ↑{ val := 5 / 18 }.val
⊢ ↑⟨10 ^ 3, ⋯⟩ * ↑⟨60 * 60, ⋯⟩ ^ (-1) = 5 / 18
All goals completed! 🐙@[simp]
lemma oneKnot_in_SI : oneKnot SI = ⟨463/900⟩ := ⊢ ↑oneKnot SI = { val := 463 / 900 }
⊢ (⟨1852, ⋯⟩ * ⟨60 * 60, ⋯⟩ ^ (-1)) • { val := 1 } = { val := 463 / 900 }
⊢ ↑((⟨1852, ⋯⟩ * ⟨60 * 60, ⋯⟩ ^ (-1)) • { val := 1 }).val = ↑{ val := 463 / 900 }.val
⊢ ↑⟨1852, ⋯⟩ * ↑⟨60 * 60, ⋯⟩ ^ (-1) = 463 / 900
All goals completed! 🐙@[simp]
lemma speedOfLight_in_SI : speedOfLight SI = ⟨299792458⟩ := ⊢ ↑speedOfLight SI = { val := 299792458 }
All goals completed! 🐙Relations between speeds
lemma oneKnot_eq_mul_oneKilometerPerHour :
oneKnot = (1.852 : ℝ≥0) • oneKilometerPerHour := ⊢ oneKnot = 1.852 • oneKilometerPerHour
⊢ (toDimensionful SI).symm oneKnot = (toDimensionful SI).symm (1.852 • oneKilometerPerHour)
⊢ ↑((toDimensionful SI).symm oneKnot).val = ↑((toDimensionful SI).symm (1.852 • oneKilometerPerHour)).val
All goals completed! 🐙lemma oneKilometerPerHour_eq_mul_oneKnot:
oneKilometerPerHour = (250/463 : ℝ≥0) • oneKnot := ⊢ oneKilometerPerHour = (250 / 463) • oneKnot
⊢ (toDimensionful SI).symm oneKilometerPerHour = (toDimensionful SI).symm ((250 / 463) • oneKnot)
⊢ ↑((toDimensionful SI).symm oneKilometerPerHour).val = ↑((toDimensionful SI).symm ((250 / 463) • oneKnot)).val
All goals completed! 🐙lemma oneMeterPerSecond_eq_mul_oneMilePerHour :
oneMeterPerSecond = (3125/1397 : ℝ≥0) • oneMilePerHour := ⊢ oneMeterPerSecond = (3125 / 1397) • oneMilePerHour
⊢ (toDimensionful SI).symm oneMeterPerSecond = (toDimensionful SI).symm ((3125 / 1397) • oneMilePerHour)
⊢ ↑((toDimensionful SI).symm oneMeterPerSecond).val = ↑((toDimensionful SI).symm ((3125 / 1397) • oneMilePerHour)).val
All goals completed! 🐙