scilib documentation

LeanChemicalTheories / dimensional_analysis.basic

Dimension type classes #

@[class]
structure has_time (α : Type u) :
Type u
Instances of this typeclass
Instances of other typeclasses for has_time
  • has_time.has_sizeof_inst
@[class]
structure has_length (α : Type u) :
Type u
Instances of this typeclass
Instances of other typeclasses for has_length
  • has_length.has_sizeof_inst
@[class]
structure has_mass (α : Type u) :
Type u
Instances for has_mass
  • has_mass.has_sizeof_inst
@[class]
structure has_amount_of_substance (α : Type u) :
Type u
Instances for has_amount_of_substance
  • has_amount_of_substance.has_sizeof_inst
@[class]
structure has_electric_current (α : Type u) :
Type u
Instances for has_electric_current
  • has_electric_current.has_sizeof_inst
@[class]
structure has_temperature (α : Type u) :
Type u
Instances for has_temperature
  • has_temperature.has_sizeof_inst
@[class]
structure has_luminous_intensity (α : Type u) :
Type u
Instances for has_luminous_intensity
  • has_luminous_intensity.has_sizeof_inst

Def of dimensions and its properties #

def dimension.dimensionless (α : Type u_1) :
Equations
@[protected, instance]
def dimension.has_one {α : Type u_1} :
Equations
@[protected, instance]
def dimension.nonempty {α : Type u_1} :
@[protected, instance]
noncomputable def dimension.decidable_eq (α : Type u_1) (a b : dimension α) :
decidable (a = b)
Equations
@[protected]
noncomputable def dimension.add {α : Type u_1} :
dimension α dimension α dimension α
Equations
@[protected]
noncomputable def dimension.sub {α : Type u_1} :
dimension α dimension α dimension α
Equations
@[protected]
def dimension.mul {α : Type u_1} :
dimension α dimension α dimension α
Equations
  • a.mul b = λ (i : α), a i + b i
@[protected]
def dimension.div {α : Type u_1} :
dimension α dimension α dimension α
Equations
  • a.div b = λ (i : α), a i - b i
@[protected]
def dimension.qpow {α : Type u_1} :
dimension α dimension α
Equations
@[protected]
def dimension.npow {α : Type u_1} :
dimension α dimension α
Equations
@[protected]
def dimension.zpow {α : Type u_1} :
dimension α dimension α
Equations
@[protected]
def dimension.inv {α : Type u_1} :
Equations
@[protected]
def dimension.le {α : Type u_1} :
dimension α dimension α Prop
Equations
@[protected]
def dimension.lt {α : Type u_1} :
dimension α dimension α Prop
Equations
@[protected, instance]
noncomputable def dimension.has_add {α : Type u_1} :
Equations
@[protected, instance]
noncomputable def dimension.has_sub {α : Type u_1} :
Equations
@[protected, instance]
def dimension.has_mul {α : Type u_1} :
Equations
@[protected, instance]
def dimension.has_div {α : Type u_1} :
Equations
@[protected, instance]
def dimension.nat.has_pow {α : Type u_1} :
Equations
@[protected, instance]
def dimension.int.has_pow {α : Type u_1} :
Equations
@[protected, instance]
def dimension.rat.has_pow {α : Type u_1} :
Equations
@[protected, instance]
def dimension.has_inv {α : Type u_1} :
Equations
@[protected, instance]
def dimension.has_lt {α : Type u_1} :
Equations
@[protected, instance]
def dimension.has_le {α : Type u_1} :
Equations
@[protected]
def dimension.derivative {α : Type u_1} (b : dimension α) :
Equations
@[protected]
def dimension.integral {α : Type u_1} (b : dimension α) :
Equations
@[simp]
theorem dimension.add_def {α : Type u_1} (a b : dimension α) :
a.add b = a + b
@[simp]
theorem dimension.add_def' {α : Type u_1} (a : dimension α) :
a.add a = a
@[simp]
theorem dimension.add_def'' {α : Type u_1} (a : dimension α) :
a + a = a
@[simp]
theorem dimension.sub_def {α : Type u_1} (a b : dimension α) :
a.sub b = a - b
@[simp]
theorem dimension.sub_def' {α : Type u_1} (a : dimension α) :
a.sub a = a
@[simp]
theorem dimension.sub_def'' {α : Type u_1} (a : dimension α) :
a - a = a
@[simp]
theorem dimension.mul_def {α : Type u_1} (a b : dimension α) :
a.mul b = a * b
@[simp]
theorem dimension.mul_def' {α : Type u_1} (a b : dimension α) :
a * b = λ (i : α), a i + b i
@[simp]
theorem dimension.div_def {α : Type u_1} (a b : dimension α) :
a.div b = a / b
@[simp]
theorem dimension.div_def' {α : Type u_1} (a b : dimension α) :
a / b = λ (i : α), a i - b i
@[simp]
theorem dimension.qpow_def {α : Type u_1} (a : dimension α) (b : ) :
a.qpow b = a ^ b
@[simp]
theorem dimension.qpow_def' {α : Type u_1} (a : dimension α) (b : ) :
a ^ b = λ (i : α), b a i
@[simp]
theorem dimension.pow_def {α : Type u_1} (a : dimension α) (b : ) :
a.npow b = a ^ b
@[simp]
theorem dimension.pow_def' {α : Type u_1} (a : dimension α) (b : ) :
a ^ b = λ (i : α), b a i
@[simp]
theorem dimension.zpow_def {α : Type u_1} (a : dimension α) (b : ) :
a.zpow b = a ^ b
@[simp]
theorem dimension.zpow_def' {α : Type u_1} (a : dimension α) (b : ) :
a ^ b = λ (i : α), b a i
@[simp]
theorem dimension.inv_def {α : Type u_1} (a : dimension α) :
@[simp]
theorem dimension.inv_def' {α : Type u_1} (a : dimension α) :
a⁻¹ = λ (i : α), (-1) a i
@[simp]
theorem dimension.le_def {α : Type u_1} (a b : dimension α) :
a.le b a b
@[simp]
theorem dimension.le_def' {α : Type u_1} (a : dimension α) :
a a
@[simp]
theorem dimension.lt_def {α : Type u_1} (a b : dimension α) :
a.lt b a < b
@[simp]
theorem dimension.lt_def' {α : Type u_1} (a : dimension α) :
a < a

Definition of the base dimensions #

def dimension.length (α : Type u_1) [has_length α] :
Equations
def dimension.time (α : Type u_1) [has_time α] :
Equations
def dimension.mass (α : Type u_1) [has_mass α] :
Equations
@[simp]
theorem dimension.one_eq_dimensionless {α : Type u_1} :
@[simp]
theorem dimension.dimensionless_def' {α : Type u_1} :
dimension.dimensionless α = λ (i : α), 0
@[simp]
theorem dimension.bit0_dimension_eq_dimension {α : Type u_1} (a : dimension α) :
bit0 a = a
@[protected]
theorem dimension.mul_comm {α : Type u_1} (a b : dimension α) :
a * b = b * a
@[protected]
theorem dimension.div_mul_comm {α : Type u_1} (a b c : dimension α) :
a / c * b = b / c * a
@[protected]
theorem dimension.mul_assoc {α : Type u_1} (a b c : dimension α) :
a * b * c = a * (b * c)
@[protected]
theorem dimension.mul_one {α : Type u_1} (a : dimension α) :
a * 1 = a
@[protected]
theorem dimension.one_mul {α : Type u_1} (a : dimension α) :
1 * a = a
@[protected]
theorem dimension.div_eq_mul_inv {α : Type u_1} (a b : dimension α) :
a / b = a * b⁻¹
@[protected]
theorem dimension.mul_left_inv {α : Type u_1} (a : dimension α) :
a⁻¹ * a = 1
@[protected]
theorem dimension.mul_right_inv {α : Type u_1} (a : dimension α) :
a * a⁻¹ = 1

Other dimensions #

def dimension.force (α : Type u_1) [has_length α] [has_time α] [has_mass α] :
Equations

examples for personal understanding #

inductive system1  :
Type
Instances for system1
@[protected]
Equations
@[protected, instance]
Equations