Units on time #
A unit of time corresponds to a choice of translationally-invariant
metric on the time manifold TimeTransMan. Such a choice is (non-canonically) equivalent to a
choice of positive real number. We define the type TimeUnit to be equivalent to the
positive reals.
On TimeUnit there is an instance of division giving a real number, corresponding to the
ratio of the two scales of time unit.
We define HasTimeDimension to be a property of a function from TimeUnit to a type M
which is a function that scales with the time unit with respect to the rational power d.
To define specific time units, we first state the existence of a a given time unit, and then construct all other time units from it. We choose to state the existence of the time unit of seconds, and construct all other time units from that.
Equations
- TimeUnit.instInhabited = { default := { val := 1, property := TimeUnit.instInhabited._proof_1 } }
Division of TimeUnit #
The scaling of a time unit #
Specific choices of time units #
To define a specific time units.
We first define the notion of a second to correspond to the length unit with underlying value
equal to 1. This is really down to a choice in the isomorphism between the set of metrics
on the time manifold and the positive reals.
From this choice of second, we can define other length units by scaling second.
The definition of a time unit of seconds.
Equations
- TimeUnit.seconds = { val := 1, property := TimeUnit.instInhabited._proof_1 }
Instances For
The time unit of femtoseconds (10⁻¹⁵ of a second).
Equations
Instances For
The time unit of picoseconds (10⁻¹² of a second).
Equations
Instances For
The time unit of nanoseconds (10⁻⁹ of a second).
Equations
Instances For
The time unit of microseconds (10⁻⁶ of a second).
Equations
Instances For
The time unit of milliseconds (10⁻³ of a second).
Equations
Instances For
The time unit of centiseconds (10⁻² of a second).
Equations
Instances For
The time unit of deciseconds (10⁻¹ of a second).
Equations
Instances For
The time unit of minutes.
Instances For
The time unit of hours.
Equations
Instances For
The time unit of 24 hour days.
Equations
- TimeUnit.days = TimeUnit.scale (24 * 60 * 60) TimeUnit.seconds TimeUnit.days._proof_2
Instances For
The time unit of 7 day weeks.
Equations
- TimeUnit.weeks = TimeUnit.scale (7 * 24 * 60 * 60) TimeUnit.seconds TimeUnit.weeks._proof_2