Physlib

Physlib.SpaceAndTime.Space.LengthUnit

Units on Length

A unit of length corresponds to a choice of translationally-invariant metric on the space manifold (to be defined). Such a choice is (non-canonically) equivalent to a choice of positive real number. We define the type `LengthUnit` to be equivalent to the positive reals.

On `LengthUnit` there is an instance of division giving a real number, corresponding to the ratio of the two scales of length unit.

To define specific length units, we first state the existence of a a given length unit, and then construct all other length units from it. We choose to state the existence of the length unit of meters, and construct all other length units from that.

Division of LengthUnit

The scaling of a length unit

Specific choices of Length units

To define a specific length units. We first define the notion of a meter 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 space manifold and the positive reals. From this choice of meters, we can define other length units by scaling meters.

Relations between length units

37 declarations

theorem

The numerical value of a length unit is non-zero (x.val0x.\text{val} \neq 0)

For any length unit xx, its underlying numerical value x.valx.\text{val} is not equal to 00.

theorem

The numerical value of a length unit is positive (x.val>0x.\text{val} > 0)

For any length unit xLengthUnitx \in \text{LengthUnit}, its underlying numerical value x.valx.\text{val} is strictly positive, satisfying x.val>0x.\text{val} > 0.

instance

Default LengthUnit\text{LengthUnit} is 11

The type LengthUnit\text{LengthUnit}, representing the set of physical length units (isomorphic to the positive real numbers R>0\mathbb{R}_{>0}), is inhabited. A default instance is provided, which is defined as the length unit with the underlying value 11.

instance

Division of length units as R0\mathbb{R}_{\geq 0}

The division operation x/yx / y for two length units x,yLengthUnitx, y \in \text{LengthUnit} is defined as the ratio of their underlying values x.val/y.valx.\text{val} / y.\text{val}, yielding a non-negative real number in R0\mathbb{R}_{\geq 0}.

theorem

x/y=x.val/y.valx / y = x.\text{val} / y.\text{val} for Length Units

For any length units x,yLengthUnitx, y \in \text{LengthUnit} with underlying numerical values x.valx.\text{val} and y.valy.\text{val}, the division x/yx / y is equal to the quotient of their values x.val/y.valx.\text{val} / y.\text{val} regarded as a non-negative real number in R0\mathbb{R}_{\geq 0}.

theorem

x/y0x / y \neq 0 for length units

For any length units x,yLengthUnitx, y \in \text{LengthUnit}, the ratio x/yx / y is not equal to 00 in the non-negative real numbers R0\mathbb{R}_{\geq 0}.

theorem

x/y>0x / y > 0 for length units

For any length units x,yLengthUnitx, y \in \text{LengthUnit}, the ratio x/yx / y is strictly greater than 00 in the non-negative real numbers R0\mathbb{R}_{\geq 0}.

theorem

x/x=1x / x = 1 for length units

For any length unit xx, the ratio of xx to itself, denoted by x/xx / x, is equal to 11 in the non-negative real numbers R0\mathbb{R}_{\geq 0}.

theorem

x/y=(y/x)1x / y = (y / x)^{-1} for length units

For any length units x,yLengthUnitx, y \in \text{LengthUnit}, the ratio of xx to yy is equal to the reciprocal of the ratio of yy to xx. Mathematically, this is expressed as: x/y=(y/x)1x / y = (y / x)^{-1} where the division a/ba / b denotes the ratio of the underlying numerical values of the length units, resulting in a non-negative real number in R0\mathbb{R}_{\geq 0}.

theorem

(x/y)(y/z)=x/z(x/y) \cdot (y/z) = x/z for length units

For any length units x,y,x, y, and zz, the product of the ratio of xx to yy and the ratio of yy to zz is equal to the ratio of xx to zz. Mathematically, this is expressed as (x/y)(y/z)=x/z(x / y) \cdot (y / z) = x / z, where the division a/ba / b denotes the ratio of the underlying scales of the length units, treated here as real numbers.

theorem

scale(r,x)/x=r\text{scale}(r, x) / x = r for positive rr

For any length unit xLengthUnitx \in \text{LengthUnit} and any positive real number rRr \in \mathbb{R} (where r>0r > 0), the ratio of the unit xx scaled by rr to the original unit xx is equal to rr. Mathematically, this is expressed as: scale(r,x)/x=r\text{scale}(r, x) / x = r where the division a/ba / b denotes the ratio of the underlying scales of the length units, resulting in a non-negative real number rR0r \in \mathbb{R}_{\geq 0}.

theorem

x/scale(r,x)=1/rx / \text{scale}(r, x) = 1/r for length units

Let xx be a length unit (an element of `LengthUnit`) and rr be a positive real number (r>0r > 0). The ratio of the length unit xx to the scaled unit scale(r,x)\text{scale}(r, x) is equal to the reciprocal of the scaling factor, 1/r1/r: xscale(r,x)=1/r\frac{x}{\text{scale}(r, x)} = 1/r In this expression, the division of length units and the resulting value 1/r1/r are treated as non-negative real numbers in R0\mathbb{R}_{\geq 0}.

theorem

scale(1,x)=x\text{scale}(1, x) = x

Let xx be a length unit (an element of `LengthUnit`, which corresponds to the set of positive real numbers R>0\mathbb{R}_{>0}). Scaling the length unit xx by a factor of 11 results in the original unit xx: scale(1,x)=x\text{scale}(1, x) = x

theorem

scale(r1,x1)/scale(r2,x2)=(r1/r2)(x1/x2)\text{scale}(r_1, x_1) / \text{scale}(r_2, x_2) = (r_1 / r_2) \cdot (x_1 / x_2)

Let x1x_1 and x2x_2 be length units (elements of `LengthUnit`, which corresponds to the set of positive real numbers R>0\mathbb{R}_{>0}). For any two positive real numbers r1,r2Rr_1, r_2 \in \mathbb{R} such that r1>0r_1 > 0 and r2>0r_2 > 0, the ratio of the scaled unit scale(r1,x1)\text{scale}(r_1, x_1) to the scaled unit scale(r2,x2)\text{scale}(r_2, x_2) is equal to the product of the ratio of the scaling factors r1/r2r_1/r_2 and the ratio of the original units x1/x2x_1/x_2: scale(r1,x1)scale(r2,x2)=(r1r2)(x1x2)\frac{\text{scale}(r_1, x_1)}{\text{scale}(r_2, x_2)} = \left(\frac{r_1}{r_2}\right) \cdot \left(\frac{x_1}{x_2}\right) Here, the division of length units and the scaling factors are treated as non-negative real numbers in R0\mathbb{R}_{\geq 0}.

theorem

scale(r1,scale(r2,x))=scale(r1r2,x)\text{scale}(r_1, \text{scale}(r_2, x)) = \text{scale}(r_1 \cdot r_2, x)

Let xx be a length unit (an element of `LengthUnit`, which corresponds to the set of positive real numbers R>0\mathbb{R}_{>0}). For any two positive real numbers r1,r2Rr_1, r_2 \in \mathbb{R} such that r1>0r_1 > 0 and r2>0r_2 > 0, scaling the unit xx by r2r_2 and then scaling the resulting unit by r1r_1 is equivalent to scaling the original unit xx by the product r1r2r_1 \cdot r_2: scale(r1,scale(r2,x))=scale(r1r2,x)\text{scale}(r_1, \text{scale}(r_2, x)) = \text{scale}(r_1 \cdot r_2, x)

definition

The length unit "meters" (1LengthUnit1 \in \text{LengthUnit})

The length unit "meters" is defined as the element of the type `LengthUnit` (which represents the set of positive real numbers R>0\mathbb{R}_{>0}) that corresponds to the value 11. This serves as the base reference unit from which other length units are scaled.

definition

The length unit of femtometers (101510^{-15} m)

The length unit "femtometers" is defined as an element of the type `LengthUnit`, which represents the set of positive real numbers R>0\mathbb{R}_{>0}. It is obtained by scaling the base unit `meters` by a factor of 101510^{-15}. In the underlying representation where one meter is assigned the value 11, a femtometer corresponds to the value 101510^{-15}.

definition

The length unit of picometers (101210^{-12} m)

The length unit "picometers" is defined as an element of the type `LengthUnit`, which represents the set of positive real numbers R>0\mathbb{R}_{>0}. It is obtained by scaling the base unit `meters` by a factor of 101210^{-12}. In the underlying representation where one meter is assigned the value 11, a picometer corresponds to the value 101210^{-12}.

definition

The length unit of nanometers (10910^{-9} m)

The length unit "nanometers" is defined as an element of the type `LengthUnit`, which represents the set of positive real numbers R>0\mathbb{R}_{>0}. It is obtained by scaling the base unit `meters` by a factor of 10910^{-9}. In the underlying representation where one meter is assigned the value 11, a nanometer corresponds to the value 10910^{-9}.

definition

The length unit of micrometers (10610^{-6} m)

The length unit "micrometers" is an element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) defined by scaling the base unit `meters` by a factor of 10610^{-6}. It corresponds to the value 10610^{-6} in the underlying representation where `meters` is assigned the value 11.

definition

The length unit of millimeters (10310^{-3} m)

The length unit "millimeters" is an element of the type `LengthUnit` (which represents the set of positive real numbers R>0\mathbb{R}_{>0}) defined by scaling the base unit `meters` by a factor of 10310^{-3}. It corresponds to the value 10310^{-3} in the underlying representation where one meter is assigned the value 11.

definition

The length unit of centimeters (10210^{-2} m)

The length unit "centimeters" is an element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) defined by scaling the base unit `meters` by a factor of (1/10)2(1/10)^2, or 10210^{-2}. It corresponds to the value 10210^{-2} in the underlying representation where `meters` is assigned the value 11.

definition

The length unit of inches (0.02540.0254 m)

The length unit "inches" is an element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) defined by scaling the base unit `meters` by a factor of 0.02540.0254. It corresponds to the value 0.02540.0254 in the underlying representation where `meters` is assigned the value 11.

definition

The length unit "feet" (0.30480.3048 meters)

The length unit "feet" is defined as an element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) obtained by scaling the base unit "meters" by a factor of 0.30480.3048. In the underlying representation where "meters" corresponds to the value 11, "feet" corresponds to the value 0.30480.3048.

definition

The length unit "yards" (0.91440.9144 meters)

The length unit "yards" is defined as an element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) obtained by scaling the base unit "meters" by a factor of 0.91440.9144.

definition

Length unit of rods (5.02925.0292 meters)

The length unit "rods" is defined as the element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) obtained by scaling the reference unit "meters" by a factor of 5.02925.0292. In the underlying representation of length units as positive reals, this corresponds to the value 5.02925.0292.

definition

Length unit of chains (20.116820.1168 meters)

The length unit "chains" is defined as the element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) obtained by scaling the reference unit "meters" by a factor of 20.116820.1168. In the underlying representation where "meters" corresponds to 11, "chains" corresponds to the value 20.116820.1168.

definition

Length unit of furlongs (201.168201.168 meters)

The length unit "furlongs" is defined as the element of the type `LengthUnit` (which represents the set of positive real numbers R>0\mathbb{R}_{>0}) obtained by scaling the reference unit "meters" by a factor of 201.168201.168. In the underlying representation of length units as positive reals, this corresponds to the value 201.168201.168.

definition

Length unit of kilometers (10310^3 meters)

The length unit "kilometers" is defined as the element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) obtained by scaling the reference unit "meters" by a factor of 10310^3. In the underlying representation where "meters" corresponds to 11, "kilometers" corresponds to the value 10001000.

definition

Length unit of miles (1609.344 meters1609.344 \text{ meters})

The length unit "miles" is defined as the element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) obtained by scaling the reference unit "meters" by a factor of 1609.3441609.344. In the underlying representation where "meters" corresponds to the value 11, "miles" corresponds to the value 1609.3441609.344.

definition

The length unit "nautical miles" (1852 meters1852 \text{ meters})

The length unit "nautical miles" is defined as the element of the type `LengthUnit` (representing the set of positive real numbers R>0\mathbb{R}_{>0}) obtained by scaling the reference unit "meters" by a factor of 18521852. In the underlying representation where "meters" corresponds to the value 11, "nautical miles" corresponds to the value 18521852.

definition

The length unit "astronomical units" (149,597,870,700 meters149,597,870,700 \text{ meters})

The length unit "astronomical units" is defined as the scaling of the base unit "meters" by a factor of 149,597,870,700149,597,870,700. Within the `LengthUnit` type, which represents the set of positive real numbers R>0\mathbb{R}_{>0} (where "meters" corresponds to the value 11), this unit corresponds to the value 149,597,870,700149,597,870,700.

definition

The length unit "light years" (9,460,730,472,580,800 meters9,460,730,472,580,800 \text{ meters})

The length unit "light years" is defined as the scaling of the base unit "meters" by a factor of 9,460,730,472,580,8009,460,730,472,580,800. Within the `LengthUnit` type, which represents positive real numbers R>0\mathbb{R}_{>0}, this unit corresponds to the value 9,460,730,472,580,8009,460,730,472,580,800.

definition

The length unit "parsecs" (648,000π astronomical units\frac{648,000}{\pi} \text{ astronomical units})

The length unit "parsecs" is defined as the scaling of the unit "astronomical units" by a factor of 648,000π\frac{648,000}{\pi}. Within the `LengthUnit` type, which represents the set of positive real numbers R>0\mathbb{R}_{>0} (where the unit "meters" corresponds to the value 11), this unit represents the value of a parsec relative to the base meter, calculated by multiplying the value of an astronomical unit (149,597,870,700149,597,870,700) by 648,000π\frac{648,000}{\pi}.

theorem

miles/yards=1760\text{miles} / \text{yards} = 1760

The ratio of the length unit `miles` to the length unit `yards` is equal to 17601760 in the non-negative real numbers R0\mathbb{R}_{\geq 0}. This represents the fact that there are exactly 1760 yards in a mile.

theorem

furlongs/yards=220\text{furlongs} / \text{yards} = 220

There are exactly 220 yards in a furlong. Formally, the ratio of the length unit "furlongs" to the length unit "yards" is equal to the non-negative real number 220, denoted as furlongs/yards=220\text{furlongs} / \text{yards} = 220.