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 axiomise the existence of a a given time unit, and then construct all other time units from it. We choose to axiomise 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 must first axiomise the existence of a a given time unit, and then construct all other time units from it. We choose to axiomise the existence of the time unit of seconds.
We need an axiom since this relates something to something in the physical world.
The axiom corresponding to the definition of a time unit of seconds.
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