PhysLean Documentation

PhysLean.SpaceAndTime.Time.TimeUnit

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.

structure TimeUnit :

The choices of translationally-invariant metrics on the manifold TimeTransMan. Such a choice corresponds to a choice of units for time.

  • val :

    The underlying scale of the unit.

  • property : 0 < self.val
Instances For
    @[simp]

    Division of TimeUnit #

    Equations
    theorem TimeUnit.div_eq_val (x y : TimeUnit) :
    x / y = x.val / y.val,
    @[simp]
    theorem TimeUnit.div_neq_zero (x y : TimeUnit) :
    ¬x / y = 0
    @[simp]
    theorem TimeUnit.div_self (x : TimeUnit) :
    x / x = 1
    theorem TimeUnit.div_symm (x y : TimeUnit) :
    x / y = (y / x)⁻¹

    The scaling of a time unit #

    def TimeUnit.scale (r : ) (x : TimeUnit) (hr : 0 < r := by norm_num) :

    The scaling of a time unit by a positive real.

    Equations
    Instances For
      @[simp]
      theorem TimeUnit.scale_div_self (x : TimeUnit) (r : ) (hr : 0 < r) :
      scale r x hr / x = r,
      @[simp]
      theorem TimeUnit.scale_one (x : TimeUnit) :
      scale 1 x = x
      @[simp]
      theorem TimeUnit.scale_div_scale (x1 x2 : TimeUnit) {r1 r2 : } (hr1 : 0 < r1) (hr2 : 0 < r2) :
      scale r1 x1 hr1 / scale r2 x2 hr2 = r1, / r2, * (x1 / x2)

      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.

      noncomputable def TimeUnit.femtoseconds :

      The time unit of femtoseconds (10⁻¹⁵ of a second).

      Equations
      Instances For
        noncomputable def TimeUnit.picoseconds :

        The time unit of picoseconds (10⁻¹² of a second).

        Equations
        Instances For
          noncomputable def TimeUnit.nanoseconds :

          The time unit of nanoseconds (10⁻⁹ of a second).

          Equations
          Instances For
            noncomputable def TimeUnit.microseconds :

            The time unit of microseconds (10⁻⁶ of a second).

            Equations
            Instances For
              noncomputable def TimeUnit.milliseconds :

              The time unit of milliseconds (10⁻³ of a second).

              Equations
              Instances For
                noncomputable def TimeUnit.centiseconds :

                The time unit of centiseconds (10⁻² of a second).

                Equations
                Instances For
                  noncomputable def TimeUnit.deciseconds :

                  The time unit of deciseconds (10⁻¹ of a second).

                  Equations
                  Instances For
                    noncomputable def TimeUnit.minutes :

                    The time unit of minutes.

                    Equations
                    Instances For
                      noncomputable def TimeUnit.hours :

                      The time unit of hours.

                      Equations
                      Instances For
                        noncomputable def TimeUnit.days :

                        The time unit of 24 hour days.

                        Equations
                        Instances For
                          noncomputable def TimeUnit.weeks :

                          The time unit of 7 day weeks.

                          Equations
                          Instances For

                            Relations between time units #