Documentation

Analysis.Misc.SI

structure SI_dimensions :

The SI unit system. In order to permit fractional dimensions, we allow dimensions to be rational; but then to maintain defeq of various explicit dimensions, we need to unseal the arithmetic operations on the rationals.

  • units_length :
  • units_mass :
  • units_time :
  • units_current :
  • units_temperature :
  • units_amount :
  • units_intensity :
Instances For
    theorem SI_dimensions.ext {x y : SI_dimensions} (units_length : x.units_length = y.units_length) (units_mass : x.units_mass = y.units_mass) (units_time : x.units_time = y.units_time) (units_current : x.units_current = y.units_current) (units_temperature : x.units_temperature = y.units_temperature) (units_amount : x.units_amount = y.units_amount) (units_intensity : x.units_intensity = y.units_intensity) :
    x = y
    Equations
    • SI_dimensions.instZero = { zero := { units_length := 0, units_mass := 0, units_time := 0, units_current := 0, units_temperature := 0, units_amount := 0, units_intensity := 0 } }
    theorem SI_dimensions.zero_eq :
    0 = { units_length := 0, units_mass := 0, units_time := 0, units_current := 0, units_temperature := 0, units_amount := 0, units_intensity := 0 }

    The addition structure here is simple enough that one gets a lot of definitional equalities, e.g., between d₁+d₂ and d₂+d₁ for explicit choices of d₁ and d₂, which is convenient as it means we do not need to utilize the cast operator much.

    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • One or more equations did not get rendered due to their size.
    @[simp]
    theorem Rat.neg_eq (q : ) :
    q.neg = -q
    theorem Rat.add_eq (q r : ) :
    q.add r = q + r
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • One or more equations did not get rendered due to their size.
    @[reducible, inline]
    abbrev SI :
    Equations
    Instances For

      The SI system will be automatically installed as a global instance by any Lean file that imports this one. This makes it difficult to use any competing unit system simultaneously, but that should be a rare use case.

      Equations
      @[reducible, inline]
      Equations
      Instances For
        @[reducible, inline]
        Equations
        Instances For
          @[reducible, inline]
          Equations
          Instances For
            @[reducible, inline]
            Equations
            Instances For
              @[reducible, inline]
              Equations
              Instances For
                @[reducible, inline]
                Equations
                Instances For
                  @[reducible, inline]
                  Equations
                  Instances For
                    @[reducible, inline]
                    Equations
                    Instances For
                      @[reducible, inline]
                      Equations
                      Instances For
                        @[reducible, inline]
                        Equations
                        Instances For
                          @[reducible, inline]
                          Equations
                          Instances For
                            @[reducible, inline]
                            Equations
                            Instances For
                              @[reducible, inline]
                              Equations
                              Instances For
                                @[reducible, inline]
                                Equations
                                Instances For
                                  @[reducible, inline]
                                  Equations
                                  Instances For
                                    @[reducible, inline]
                                    Equations
                                    Instances For
                                      @[reducible, inline]
                                      Equations
                                      Instances For
                                        @[reducible, inline]
                                        Equations
                                        • SI.length_unit = { units_length := 1, units_mass := 0, units_time := 0, units_current := 0, units_temperature := 0, units_amount := 0, units_intensity := 0 }
                                        Instances For
                                          @[reducible, inline]
                                          abbrev SI.Length :
                                          Equations
                                          Instances For
                                            @[reducible, inline]
                                            Equations
                                            Instances For
                                              @[reducible, inline]
                                              Equations
                                              • SI.mass_unit = { units_length := 0, units_mass := 1, units_time := 0, units_current := 0, units_temperature := 0, units_amount := 0, units_intensity := 0 }
                                              Instances For
                                                @[reducible, inline]
                                                abbrev SI.Mass :
                                                Equations
                                                Instances For
                                                  @[reducible, inline]
                                                  Equations
                                                  Instances For
                                                    @[reducible, inline]
                                                    noncomputable abbrev SI.gram :
                                                    Equations
                                                    Instances For
                                                      @[reducible, inline]
                                                      Equations
                                                      • SI.time_unit = { units_length := 0, units_mass := 0, units_time := 1, units_current := 0, units_temperature := 0, units_amount := 0, units_intensity := 0 }
                                                      Instances For
                                                        @[reducible, inline]
                                                        abbrev SI.Time :
                                                        Equations
                                                        Instances For
                                                          @[reducible, inline]
                                                          abbrev SI.second :
                                                          Equations
                                                          Instances For
                                                            @[reducible, inline]
                                                            abbrev SI.minute :
                                                            Equations
                                                            Instances For
                                                              @[reducible, inline]
                                                              abbrev SI.hour :
                                                              Equations
                                                              Instances For
                                                                @[reducible, inline]
                                                                abbrev SI.day :
                                                                Equations
                                                                Instances For
                                                                  @[reducible, inline]
                                                                  abbrev SI.week :
                                                                  Equations
                                                                  Instances For
                                                                    @[reducible, inline]
                                                                    abbrev SI.year :
                                                                    Equations
                                                                    Instances For
                                                                      @[reducible, inline]
                                                                      Equations
                                                                      • SI.current_unit = { units_length := 0, units_mass := 0, units_time := 0, units_current := 1, units_temperature := 0, units_amount := 0, units_intensity := 0 }
                                                                      Instances For
                                                                        @[reducible, inline]
                                                                        Equations
                                                                        Instances For
                                                                          @[reducible, inline]
                                                                          Equations
                                                                          Instances For
                                                                            @[reducible, inline]
                                                                            Equations
                                                                            • SI.temperature_unit = { units_length := 0, units_mass := 0, units_time := 0, units_current := 0, units_temperature := 1, units_amount := 0, units_intensity := 0 }
                                                                            Instances For
                                                                              @[reducible, inline]
                                                                              Equations
                                                                              Instances For
                                                                                @[reducible, inline]
                                                                                Equations
                                                                                Instances For
                                                                                  @[reducible, inline]
                                                                                  Equations
                                                                                  • SI.amount_unit = { units_length := 0, units_mass := 0, units_time := 0, units_current := 0, units_temperature := 0, units_amount := 1, units_intensity := 0 }
                                                                                  Instances For
                                                                                    @[reducible, inline]
                                                                                    abbrev SI.Amount :
                                                                                    Equations
                                                                                    Instances For
                                                                                      @[reducible, inline]
                                                                                      abbrev SI.mole :
                                                                                      Equations
                                                                                      Instances For
                                                                                        @[reducible, inline]
                                                                                        Equations
                                                                                        • SI.intensity_unit = { units_length := 0, units_mass := 0, units_time := 0, units_current := 0, units_temperature := 0, units_amount := 0, units_intensity := 1 }
                                                                                        Instances For
                                                                                          @[reducible, inline]
                                                                                          Equations
                                                                                          Instances For
                                                                                            @[reducible, inline]
                                                                                            Equations
                                                                                            Instances For
                                                                                              @[reducible, inline]
                                                                                              Equations
                                                                                              Instances For
                                                                                                @[reducible, inline]
                                                                                                abbrev SI.Speed :
                                                                                                Equations
                                                                                                Instances For
                                                                                                  @[reducible, inline]
                                                                                                  Equations
                                                                                                  Instances For
                                                                                                    @[reducible, inline]
                                                                                                    Equations
                                                                                                    Instances For
                                                                                                      @[reducible, inline]
                                                                                                      Equations
                                                                                                      Instances For
                                                                                                        @[reducible, inline]
                                                                                                        abbrev SI.Energy :
                                                                                                        Equations
                                                                                                        Instances For
                                                                                                          @[reducible, inline]
                                                                                                          Equations
                                                                                                          Instances For
                                                                                                            @[reducible, inline]
                                                                                                            abbrev SI.Force :
                                                                                                            Equations
                                                                                                            Instances For
                                                                                                              @[reducible, inline]
                                                                                                              Equations
                                                                                                              Instances For
                                                                                                                @[reducible, inline]
                                                                                                                Equations
                                                                                                                Instances For
                                                                                                                  @[reducible, inline]
                                                                                                                  Equations
                                                                                                                  Instances For
                                                                                                                    @[reducible, inline]
                                                                                                                    Equations
                                                                                                                    Instances For
                                                                                                                      @[reducible, inline]
                                                                                                                      Equations
                                                                                                                      Instances For
                                                                                                                        @[reducible, inline]
                                                                                                                        Equations
                                                                                                                        Instances For
                                                                                                                          @[reducible, inline]
                                                                                                                          Equations
                                                                                                                          Instances For
                                                                                                                            @[reducible, inline]
                                                                                                                            abbrev SI.Power :
                                                                                                                            Equations
                                                                                                                            Instances For
                                                                                                                              @[reducible, inline]
                                                                                                                              abbrev SI.watt :
                                                                                                                              Equations
                                                                                                                              Instances For
                                                                                                                                @[reducible, inline]
                                                                                                                                abbrev SI.Charge :
                                                                                                                                Equations
                                                                                                                                Instances For
                                                                                                                                  @[reducible, inline]
                                                                                                                                  Equations
                                                                                                                                  Instances For
                                                                                                                                    @[reducible, inline]
                                                                                                                                    Equations
                                                                                                                                    Instances For
                                                                                                                                      @[reducible, inline]
                                                                                                                                      Equations
                                                                                                                                      Instances For
                                                                                                                                        @[reducible, inline]
                                                                                                                                        Equations
                                                                                                                                        Instances For
                                                                                                                                          @[reducible, inline]
                                                                                                                                          Equations
                                                                                                                                          Instances For
                                                                                                                                            @[reducible, inline]
                                                                                                                                            Equations
                                                                                                                                            Instances For
                                                                                                                                              @[reducible, inline]
                                                                                                                                              Equations
                                                                                                                                              Instances For
                                                                                                                                                @[reducible, inline]
                                                                                                                                                Equations
                                                                                                                                                Instances For
                                                                                                                                                  @[reducible, inline]
                                                                                                                                                  Equations
                                                                                                                                                  Instances For
                                                                                                                                                    @[reducible, inline]
                                                                                                                                                    Equations
                                                                                                                                                    Instances For
                                                                                                                                                      @[reducible, inline]
                                                                                                                                                      Equations
                                                                                                                                                      Instances For
                                                                                                                                                        @[reducible, inline]
                                                                                                                                                        abbrev SI.c :
                                                                                                                                                        Equations
                                                                                                                                                        Instances For
                                                                                                                                                          @[reducible, inline]
                                                                                                                                                          Equations
                                                                                                                                                          Instances For
                                                                                                                                                            @[reducible, inline]
                                                                                                                                                            noncomputable abbrev SI.e :
                                                                                                                                                            Equations
                                                                                                                                                            Instances For
                                                                                                                                                              @[reducible, inline]
                                                                                                                                                              noncomputable abbrev SI.ε₀ :
                                                                                                                                                              Equations
                                                                                                                                                              Instances For
                                                                                                                                                                @[reducible, inline]
                                                                                                                                                                noncomputable abbrev SI.μ₀ :
                                                                                                                                                                Equations
                                                                                                                                                                Instances For
                                                                                                                                                                  @[reducible, inline]
                                                                                                                                                                  noncomputable abbrev SI.g :
                                                                                                                                                                  Equations
                                                                                                                                                                  Instances For
                                                                                                                                                                    @[reducible, inline]
                                                                                                                                                                    Equations
                                                                                                                                                                    Instances For
                                                                                                                                                                      @[reducible, inline]
                                                                                                                                                                      noncomputable abbrev SI.N_A :
                                                                                                                                                                      Equations
                                                                                                                                                                      Instances For