The time manifold with a transitive action of ℝ
#
In this module we define the type TimeTransMan
. This type physically corresponds to
the manifold of time (diffeomorphic to ℝ
) with the following additional structure:
- a transitive action of
ℝ
, - a choice of orientation.
The manifold TimeTransMan
is not equipped with a translationally-invariant metric.
Such metrics are in one-to-one correspondence (to be shown) with positive reals, and
as such we define the type TimeUnit
(equivalent to the positive reals) to
represent the choice of metric on TimeTransMan
. This is defined in a different module.
From the point of view of physics, this choice of metric corresponds to a choice of units, hence the name, and we will use the phrase 'units of time' interchangeably 'choice of metric'.
Given a x : TimeUnit
, and the structure above, we can define the following
operations on TimeTransMan
:
diff x t1 t2
, fort1 t2 : TimeTransMan
gives the signed difference between two points in time in the unitsx
.addTime x r t
, forr : ℝ
andt : TimeTransMan
, gives the point inTimeTransMan
that seperated fromt
, byr
in the unitx
. For example, ifx
is the unit of seconds, thenaddTime x 1 t
gives the point inTimeTransMan
that is one second aftert
.neg zero t
, for a givenzero : TimeTransMan
, gives the point inTimeTransMan
that is the same distance away fromzero
ast
but in the opposite direction. This is defined using a choice of units, but is independent of the choice.
Recall that the type Time
corresponds to the manifold of time with a
given (but arbitrary) choice of units and origin (and therefore has a structure
of a module over ℝ
). Here we define the homeomorphism:
toTime zero x
fromTimeTransMan
toTime
wherezero : TimeTransMan
is the choice of origin andx : TimeUnit
is the choice of units. This map is a diffeomorphism (to be shown).
The type TimeTransMan
represents the time manifold with an orientation and
a transitive action of the reals.
- val : ℝ
The choice of a map from
TimeTransMan
toℝ
.
Instances For
The topology on TimeTransMan. #
The topology on TimeTransMan
is induced from the topology on ℝ
, via the choice
of map TimeTransMan.val
.
The instance of a topological space on TimeTransMan
induced by the map TimeTransMan.val
.
The choice of map Time.val
from TimeTransMan
to ℝ
as a homeomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The manifold structure on TimeTransMan #
The structure of a charted space on TimeTransMan
Equations
- One or more equations did not get rendered due to their size.
The structure of a manifold on TimeTransMan
induced by the choice of map Time.val
.
The choice of map Time.val
from TimeTransMan
to ℝ
as a diffeomorphism.
Equations
- TimeTransMan.valDiffeomorphism = { toEquiv := TimeTransMan.valHomeomorphism.toEquiv, contMDiff_toFun := TimeTransMan.val_contDiff, contMDiff_invFun := TimeTransMan.valDiffeomorphism._proof_1 }
Instances For
The transitive group action on TimeTransMan #
Equations
- TimeTransMan.instVAddReal = { vadd := fun (p : ℝ) (t : TimeTransMan) => { val := p + t.val } }
Equations
- TimeTransMan.instAddActionReal = { toVAdd := TimeTransMan.instVAddReal, zero_vadd := TimeTransMan.instAddActionReal._proof_1, add_vadd := TimeTransMan.instAddActionReal._proof_2 }
A choice of orientation on TimeTransMan #
Equations
- TimeTransMan.instLE = { le := fun (x y : TimeTransMan) => x.val ≤ y.val }
Functions based on a choice of unit #
The distance between two points in TimeTransMan
in the units of x : TimeUnit
.
Instances For
Signed difference #
The signed difference between two points in on the manifold TimeTransMan
in the units of x : TimeUnit
.
Equations
- TimeTransMan.diff x t2 t1 = if t1 ≤ t2 then TimeTransMan.dist x t1 t2 else -TimeTransMan.dist x t1 t2
Instances For
Adding time #
Given a time unit x : TimeUnit
, addTime x r t
, for a real ℝ
and t : TimeTransMan
,
is the point in TimeTransMan
seprated from t
by a difference of r
in the units x
.
For example, if x
corresponds to seconds addTime x 1 t
is the time 1 second more then t
.
Equations
- TimeTransMan.addTime x r t = Function.invFun (fun (x_1 : TimeTransMan) => TimeTransMan.diff x x_1 t) r
Instances For
Negation of time around a zero #
Given a zero
and an x : TimeUnit
, negMetric zero x t
is the time the same distance
away from zero
as t
in units x
but in the opposite direction.
This does actually depend on x
, as a result see neg
and neg_eq_negMetric
.
Equations
- zero.negMetric x t = TimeTransMan.addTime x (TimeTransMan.diff x zero t) zero
Instances For
Given a zero
, neg zero t
is the time the same distance
away from zero
as t
in any units but in the opposite direction.
Instances For
The map from TimeTransMan to Time #
With a choice of zero zero : TimeTransMan
and a choice of units x : TimeUnit
,
toTime
is the homeomorphism between the type TimeTransMan
and Time
.
Equations
- One or more equations did not get rendered due to their size.