PhyslibSearch

Physlib.SpaceAndTime.Time.Basic

59 declarations

theorem

The `val` function for `Time` is injective

#val_injective

The function val\text{val}, which assigns a numerical value to an element of type `Time`, is injective. That is, for any two time points t1,t2Timet_1, t_2 \in \text{Time}, if val(t1)=val(t2)\text{val}(t_1) = \text{val}(t_2), then t1=t2t_1 = t_2.

instance

Natural numbers as elements of `Time`

#instNatCast

The type `Time` admits a canonical coercion from the natural numbers. For any natural number nNn \in \mathbb{N}, it can be interpreted as an element of `Time` representing nn units of time relative to the chosen origin and orientation.

instance

Natural number literals nn as `Time`

#instOfNat

The type `Time` allows for the interpretation of natural number literals nNn \in \mathbb{N} as elements of `Time`. This interpretation is based on a fixed choice of a zero point (origin) and a fixed unit of duration (defining the value 11).

theorem

val(n)=n\text{val}(n) = n for nNn \in \mathbb{N} in Time\text{Time}

#natCast_val

For any natural number nNn \in \mathbb{N}, the numerical value val(n)\text{val}(n) of nn when interpreted as an element of the type Time\text{Time} is equal to nn.

theorem

The natural number 00 cast to Time\text{Time} is 00

#natCast_zero

The natural number 00, when interpreted as an element of the type Time\text{Time} via the canonical coercion, is equal to the zero element 00 of Time\text{Time}.

theorem

The natural number 11 cast to Time\text{Time} is 11

#natCast_one

The natural number 11, when interpreted as an element of the type Time\text{Time} via the canonical coercion, is equal to the element 11 of Time\text{Time}.

theorem

val(n)=n\text{val}(n) = n for any natural number nn cast to Time\text{Time}

#ofNat_val

For any natural number nNn \in \mathbb{N}, let nn be interpreted as an element of the type Time\text{Time} (using the natural number literal coercion). The numerical value associated with this element, denoted by the function val\text{val}, is equal to nn.

theorem

101 \neq 0 in Time\text{Time}

#one_ne_zero

In the type Time\text{Time}, which represents time with a fixed choice of units and origin, the element 11 is not equal to the element 00.

theorem

val(0)=0\text{val}(0) = 0

#zero_val

The numerical value associated with the zero element (the origin) of the type `Time` is equal to 00. That is, val(0)=0\text{val}(0) = 0.

theorem

val(1)=1\text{val}(1) = 1 for Time\text{Time}

#one_val

The numerical value of the constant 11 in the type Time\text{Time} is equal to 11. Specifically, val(1)=1\text{val}(1) = 1, where val\text{val} is the function that returns the numerical representation of a Time\text{Time} element.

instance

Coercion from R\mathbb{R} to Time

#instCoeReal

This definition provides a coercion from the real numbers R\mathbb{R} to the type `Time`. It allows any real number rRr \in \mathbb{R} to be treated as an instance of `Time`, where the numerical value representing the time is set to rr.

instance

Coercion from Time to R\mathbb{R}

#instCoeReal_1

This definition provides a coercion from the type `Time` to the real numbers R\mathbb{R}. It allows any instance of `Time` to be treated as a real number by extracting its underlying numerical value.

theorem

The value of rr cast as `Time` is rr

#realCast_val

For any real number rRr \in \mathbb{R}, the underlying numerical value of rr when cast into the type `Time` is equal to rr.

theorem

Casting nNn \in \mathbb{N} to `Time` via R\mathbb{R} is equivalent to direct casting

#realCast_of_natCast

For any natural number nNn \in \mathbb{N}, the value obtained by first casting nn to a real number R\mathbb{R} and then to the type `Time` is equal to the value obtained by casting nn directly to `Time`.

instance

`Time` is inhabited with default 00

#instInhabited

The type Time\text{Time} is inhabited, meaning it has a designated default element. This default element is defined to be 00.

theorem

The default value of `Time` is 00

#default_eq_zero

The default value of the type `Time` is equal to 00.

instance

\le relation on `Time`

#instLE

The type `Time` is equipped with a less-than-or-equal-to relation \le that defines the orientation of time. For any two time points t1,t2Timet_1, t_2 \in \text{Time}, the relation t1t2t_1 \le t_2 holds if and only if their underlying numerical values satisfy the inequality t1.valt2.valt_1.\text{val} \le t_2.\text{val}.

theorem

t1t2    t1.valt2.valt_1 \le t_2 \iff t_1.\text{val} \le t_2.\text{val}

#le_def

For any two time points t1,t2Timet_1, t_2 \in \text{Time}, the relation t1t2t_1 \le t_2 holds if and only if their underlying numerical values satisfy the inequality t1.valt2.valt_1.\text{val} \le t_2.\text{val}.

instance

Partial order on Time\text{Time}

#instPartialOrder

The type Time\text{Time} is equipped with a partial order structure. For any elements t1,t2,t3Timet_1, t_2, t_3 \in \text{Time}, the relation \le (defined by the inequality of their underlying numerical values) satisfies the following properties: 1. **Reflexivity**: t1t1t_1 \le t_1. 2. **Transitivity**: If t1t2t_1 \le t_2 and t2t3t_2 \le t_3, then t1t3t_1 \le t_3. 3. **Antisymmetry**: If t1t2t_1 \le t_2 and t2t1t_2 \le t_1, then t1=t2t_1 = t_2.

theorem

t1<t2    t1.val<t2.valt_1 < t_2 \iff t_1.\text{val} < t_2.\text{val}

#lt_def

For any two time instances t1,t2Timet_1, t_2 \in \text{Time}, the relation t1<t2t_1 < t_2 holds if and only if their underlying numerical values satisfy the inequality t1.val<t2.valt_1.\text{val} < t_2.\text{val}.

instance

Addition of `Time` values

#instAdd

The addition operation on the type `Time` is defined by summing the underlying numerical values of two time instances. For any t1,t2Timet_1, t_2 \in \text{Time}, their sum t1+t2t_1 + t_2 is the element of `Time` whose value is the sum of the values of t1t_1 and t2t_2, such that (t1+t2).val=t1.val+t2.val(t_1 + t_2).\text{val} = t_1.\text{val} + t_2.\text{val}.

theorem

(t1+t2).val=t1.val+t2.val(t_1 + t_2).\text{val} = t_1.\text{val} + t_2.\text{val}

#add_val

For any two time instances t1,t2t_1, t_2 of type `Time`, the underlying numerical value of their sum is equal to the sum of their individual numerical values: (t1+t2).val=t1.val+t2.val(t_1 + t_2).\text{val} = t_1.\text{val} + t_2.\text{val}.

instance

Negation of `Time`

#instNeg

The negation operation on the type `Time` is defined by negating the underlying numerical value of a time tt. Specifically, for any tTimet \in \text{Time}, its negation t-t is the element of `Time` whose value is the negative of the value of tt (i.e., (t).val=t.val(-t).\text{val} = -t.\text{val}).

theorem

(t).val=t.val(-t).\text{val} = -t.\text{val}

#neg_val

For any time instance tt of type `Time`, the underlying numerical value of its negation t-t is equal to the negative of the numerical value of tt. That is, (t).val=t.val(-t).\text{val} = -t.\text{val}.

instance

Subtraction of `Time`

#instSub

For any two elements t1,t2t_1, t_2 of the type Time\text{Time}, the subtraction t1t2t_1 - t_2 is defined as the element of Time\text{Time} whose underlying numerical value is the difference between the value of t1t_1 and the value of t2t_2 (i.e., (t1t2).val=t1.valt2.val(t_1 - t_2).\text{val} = t_1.\text{val} - t_2.\text{val}).

theorem

(t1t2).val=t1.valt2.val(t_1 - t_2).\text{val} = t_1.\text{val} - t_2.\text{val}

#sub_val

For any two time instances t1,t2Timet_1, t_2 \in \text{Time}, the underlying numerical value of their difference t1t2t_1 - t_2 is equal to the difference between the numerical value of t1t_1 and the numerical value of t2t_2. That is, (t1t2).val=t1.valt2.val(t_1 - t_2).\text{val} = t_1.\text{val} - t_2.\text{val}.

instance

Scalar multiplication of Time\text{Time} by R\mathbb{R}

#instSMulReal

For any real number kRk \in \mathbb{R} and any element tt of the type Time\text{Time}, the scalar multiplication ktk \cdot t is defined by multiplying the underlying real-valued magnitude of tt (denoted t.valt.\text{val}) by kk.

theorem

(kt).val=kt.val(k \cdot t).\text{val} = k \cdot t.\text{val}

#smul_real_val

In the context of the Time\text{Time} type, which represents time with a fixed choice of units and origin, for any real number kRk \in \mathbb{R} and any tTimet \in \text{Time}, the underlying numerical value of the scalar product ktk \cdot t is equal to the product of kk and the underlying value of tt. That is, (kt).val=kt.val(k \cdot t).\text{val} = k \cdot t.\text{val}.

instance

Time\text{Time} forms an additive group

#instAddGroup

The type Time\text{Time}, representing time with a fixed choice of units and origin, is endowed with the structure of an additive group. Under this structure, addition is associative, i.e., (t1+t2)+t3=t1+(t2+t3)(t_1 + t_2) + t_3 = t_1 + (t_2 + t_3) for all t1,t2,t3Timet_1, t_2, t_3 \in \text{Time}. The element 00 (origin) serves as the additive identity such that 0+t=t0 + t = t and t+0=tt + 0 = t, and every time tt has an additive inverse t-t satisfying t+t=0-t + t = 0. These properties are derived from the arithmetic of the underlying numerical values representing the time instances.

instance

Time\text{Time} forms an additive commutative group

#instAddCommGroup

The type Time\text{Time}, which represents time with a fixed choice of units and origin, is endowed with the structure of an additive commutative group (Abelian group). This structure implies that, in addition to the properties of an additive group (associativity, identity, and inverses), addition is commutative: t1+t2=t2+t1t_1 + t_2 = t_2 + t_1 for all t1,t2Timet_1, t_2 \in \text{Time}. These properties are inherited from the arithmetic of the underlying numerical values representing the time instances.

instance

Time\text{Time} is a vector space over R\mathbb{R}

#instModuleReal

The type Time\text{Time} is endowed with the structure of a module over the real numbers R\mathbb{R}. This confirms that Time\text{Time} functions as a one-dimensional real vector space, where scalar multiplication ktk \cdot t for kRk \in \mathbb{R} and tTimet \in \text{Time} satisfies the standard axioms: 1t=t1 \cdot t = t, a(bt)=(ab)ta(b \cdot t) = (ab) \cdot t, and distributivity over both scalar and time addition.

instance

Norm of tTimet \in \text{Time} is t.val\|t.\text{val}\|

#instNorm

The norm on the space Time\text{Time} is defined such that for any element tTimet \in \text{Time}, its norm t\|t\| is equal to the absolute value (norm) of its underlying real-valued representation t.valt.\text{val}.

theorem

t=t.val\|t\| = \|t.\text{val}\| for tTimet \in \text{Time}

#norm_eq_val

For any element tt in the space Time\text{Time}, the norm t\|t\| is equal to the norm (absolute value) of its underlying real-valued representation t.val\|t.\text{val}\|.

instance

Distance in Time\text{Time} as t1t2\|t_1 - t_2\|

#instDist

The type Time\text{Time} is equipped with a metric space structure where the distance function d(t1,t2)d(t_1, t_2) between two time points t1,t2Timet_1, t_2 \in \text{Time} is defined as the norm of their difference, t1t2\|t_1 - t_2\|.

theorem

dist(t1,t2)=t1.valt2.val\text{dist}(t_1, t_2) = \|t_1.\text{val} - t_2.\text{val}\| for t1,t2Timet_1, t_2 \in \text{Time}

#dist_eq_val

For any two time points t1,t2t_1, t_2 in the space Time\text{Time}, the distance dist(t1,t2)\text{dist}(t_1, t_2) between them is equal to the norm of the difference of their underlying real-valued representations, t1.valt2.val\|t_1.\text{val} - t_2.\text{val}\|.

theorem

d(t1,t2)=d(t1.val,t2.val)d(t_1, t_2) = d(t_1.\text{val}, t_2.\text{val})

#dist_eq_real_dist

For any two time points t1,t2Timet_1, t_2 \in \text{Time}, the distance d(t1,t2)d(t_1, t_2) between them is equal to the standard Euclidean distance d(t1.val,t2.val)d(t_1.\text{val}, t_2.\text{val}) between their underlying real-valued representations.

instance

Time\text{Time} as a seminormed additive commutative group

#instSeminormedAddCommGroup

The type Time\text{Time} is equipped with the structure of a seminormed additive commutative group. This means that Time\text{Time} satisfies the axioms of an abelian group under addition and is endowed with a seminorm \|\cdot\| such that the distance between any two time points t1,t2Timet_1, t_2 \in \text{Time} is given by dist(t1,t2)=t1t2\text{dist}(t_1, t_2) = \|t_1 - t_2\|. These properties, including the triangle inequality and the symmetry of the distance function, are inherited from the underlying real-valued representation of the time instances.

instance

Time\text{Time} as a normed additive commutative group

#instNormedAddCommGroup

The type Time\text{Time} is equipped with the structure of a normed additive commutative group. This means that Time\text{Time} satisfies the axioms of an abelian group under addition and is endowed with a norm \|\cdot\| such that the distance between any two time points t1,t2Timet_1, t_2 \in \text{Time}, defined as d(t1,t2)=t1t2d(t_1, t_2) = \|t_1 - t_2\|, satisfies the identity of indiscernibles (d(t1,t2)=0    t1=t2d(t_1, t_2) = 0 \implies t_1 = t_2). These properties are inherited from the underlying real-valued representation of the time instances.

instance

Time\text{Time} is a normed space over R\mathbb{R}

#instNormedSpaceReal

The type Time\text{Time} is endowed with the structure of a normed space over the field of real numbers R\mathbb{R}. This means that Time\text{Time} is a real vector space equipped with a norm \|\cdot\| such that for any scalar kRk \in \mathbb{R} and any tTimet \in \text{Time}, the property kt=kt\|k \cdot t\| = |k| \|t\| is satisfied. This structure ensures that the algebraic operations on Time\text{Time} (addition and scalar multiplication) are compatible with the topology induced by its norm.

instance

Inner product on `Time`

#instInnerReal

The type `Time` is equipped with an inner product structure over the real numbers R\mathbb{R}. For any two time values t1,t2Timet_1, t_2 \in \text{Time}, the inner product is defined as the product of their underlying real values: t1,t2R=t1t2\langle t_1, t_2 \rangle_{\mathbb{R}} = t_1 \cdot t_2

theorem

Definition of the inner product on Time\text{Time}: t1,t2R=t1.valt2.val\langle t_1, t_2 \rangle_{\mathbb{R}} = t_1.\text{val} \cdot t_2.\text{val}

#inner_def

For any two time values t1,t2Timet_1, t_2 \in \text{Time}, their inner product over the real numbers R\mathbb{R} is equal to the product of their underlying numerical values. That is, t1,t2R=t1.valt2.val\langle t_1, t_2 \rangle_{\mathbb{R}} = t_1.\text{val} \cdot t_2.\text{val} where t.valt.\text{val} represents the real number associated with the time tt in a given system of units and origin.

instance

Time\text{Time} is an inner product space over R\mathbb{R}

#instInnerProductSpaceReal

The type Time\text{Time} is endowed with the structure of an inner product space over the field of real numbers R\mathbb{R}. This structure defines an inner product ,R\langle \cdot, \cdot \rangle_{\mathbb{R}} that is compatible with the norm on Time\text{Time}, such that for any tTimet \in \text{Time}, the relation t2=t,tR\|t\|^2 = \langle t, t \rangle_{\mathbb{R}} holds. It further satisfies the standard axioms of a real inner product space, including linearity in the first argument and symmetry (t1,t2R=t2,t1R\langle t_1, t_2 \rangle_{\mathbb{R}} = \langle t_2, t_1 \rangle_{\mathbb{R}}).

instance

Decidability of t1=t2t_1 = t_2 for t1,t2Timet_1, t_2 \in \text{Time}

#instDecidableEq

For any two time values t1,t2Timet_1, t_2 \in \text{Time}, the equality t1=t2t_1 = t_2 is decidable.

instance

Time\text{Time} as a measurable space

#instMeasurableSpace

The type Time\text{Time} is equipped with a measurable space structure. This structure is defined by the Borel σ\sigma-algebra B(Time)\mathcal{B}(\text{Time}), which is the σ\sigma-algebra generated by the open sets of the topology on Time\text{Time}.

instance

Time\text{Time} is a Borel Space

#instBorelSpace

The type Time\text{Time} is a Borel space, meaning that its measurable space structure is identical to the Borel σ\sigma-algebra B(Time)\mathcal{B}(\text{Time}) generated by the open sets of the topology on Time\text{Time}.

definition

Orthonormal basis for Time\text{Time}

#basis

The definition provides an orthonormal basis for the space Time\text{Time} as a one-dimensional real inner product space. This basis is indexed by a single element (from the set {0}\{0\}, represented by `Fin 1`) and is defined by the unit element 1Time1 \in \text{Time}.

theorem

basisi=1\text{basis}_i = 1 in Time\text{Time}

#basis_apply_eq_one

For the unique index ii in the set {0}\{0\} (represented by `Fin 1`), the orthonormal basis element basisi\text{basis}_i of the space Time\text{Time} is equal to 11.

theorem

rankR(Time)=1\text{rank}_{\mathbb{R}}(\text{Time}) = 1

#rank_eq_one

The dimension (rank) of the space Time\text{Time} as a vector space over the real numbers R\mathbb{R} is 1.

theorem

finrankR(Time)=1\text{finrank}_{\mathbb{R}}(\text{Time}) = 1

#finRank_eq_one

The finite dimension of the space Time\text{Time} as a vector space over the real numbers R\mathbb{R} is equal to 11.

instance

Time\text{Time} is finite-dimensional over R\mathbb{R}

#instFiniteDimensionalReal

The space Time\text{Time}, representing time with a fixed choice of units and origin, is a finite-dimensional vector space over the real numbers R\mathbb{R}.

theorem

volumeTime\text{volume}_{\text{Time}} equals the basis-normalized Haar measure

#volume_eq_basis_addHaar

The canonical volume measure on the space Time\text{Time} is equal to the additive Haar measure normalized with respect to the standard orthonormal basis of Time\text{Time}.

definition

Continuous linear map from Time\text{Time} to R\mathbb{R}

#toRealCLM

The definition `Time.toRealCLM` is the continuous linear map from the space Time\text{Time} to the real numbers R\mathbb{R}. It associates each element tTimet \in \text{Time} with its corresponding real-valued representation val(t)\text{val}(t). This map preserves the vector space structure (addition and scalar multiplication) and is continuous with respect to the standard topologies on Time\text{Time} and R\mathbb{R}.

definition

Continuous linear equivalence between Time\text{Time} and R\mathbb{R}

#toRealCLE

The mapping is a continuous linear equivalence between the space Time\text{Time} and the real numbers R\mathbb{R}. This equivalence identifies a time instance tTimet \in \text{Time} with its underlying numerical value in R\mathbb{R} via the valuation function tval(t)t \mapsto \text{val}(t). As a continuous linear equivalence, the map preserves the additive and scalar multiplication structure of the 1-dimensional real vector space Time\text{Time} and serves as a homeomorphism between Time\text{Time} and R\mathbb{R}.

definition

Linear isometry equivalence between Time\text{Time} and R\mathbb{R}

#toRealLIE

The definition establishes a linear isometry equivalence between the space Time\text{Time} and the real numbers R\mathbb{R}. This mapping identifies a time instance tTimet \in \text{Time} with its numerical value in R\mathbb{R} via the valuation function tval(t)t \mapsto \text{val}(t). As a linear isometry, this equivalence preserves the vector space structure (addition and scalar multiplication) and the norm, such that the norm of a time t\|t\| is equal to the absolute value of its real-valued representation.

theorem

The valuation function val\text{val} on Time\text{Time} is measurable

#val_measurable

The valuation function val:TimeR\text{val} : \text{Time} \to \mathbb{R}, which assigns to each instance of time its corresponding numerical value in the real numbers, is a measurable function.

theorem

The valuation function val\text{val} is a measurable embedding

#val_measurableEmbedding

The valuation function val:TimeR\text{val} : \text{Time} \to \mathbb{R}, which assigns to each instance of time its corresponding numerical value in the real numbers, is a measurable embedding. This means that val\text{val} is an injective function such that a set STimeS \subseteq \text{Time} is measurable if and only if its image val(S)\text{val}(S) is measurable in R\mathbb{R}.

theorem

The valuation function val\text{val} on Time\text{Time} is measure-preserving

#val_measurePreserving

The valuation function val:TimeR\text{val} : \text{Time} \to \mathbb{R}, which identifies an element of the space Time\text{Time} with its corresponding real number, is measure-preserving with respect to the canonical volume measures on Time\text{Time} and R\mathbb{R}. Specifically, for any measurable set SRS \subseteq \mathbb{R}, the volume of its preimage val1(S)\text{val}^{-1}(S) in Time\text{Time} is equal to the Lebesgue measure (volume) of SS in R\mathbb{R}.

theorem

The valuation function val\text{val} on Time\text{Time} is differentiable

#val_differentiable

The valuation function val:TimeR\text{val} : \text{Time} \to \mathbb{R}, which maps an element of the space Time\text{Time} to its corresponding real-valued representation, is differentiable at all points with respect to the real numbers R\mathbb{R}.

theorem

The Fréchet derivative of the valuation function val\text{val} at tt applied to 11 is 11

#fderiv_val

For any point tt in the space Time\text{Time}, the Fréchet derivative of the valuation function val:TimeR\text{val}: \text{Time} \to \mathbb{R} at tt, when applied to the unit vector 1Time1 \in \text{Time}, is equal to 11.