Dimension type classes #
@[class]
- dec : decidable_eq α
- time : α
Instances of this typeclass
Instances of other typeclasses for has_time
- has_time.has_sizeof_inst
@[class]
- dec : decidable_eq α
- length : α
Instances of this typeclass
Instances of other typeclasses for has_length
- has_length.has_sizeof_inst
@[class]
- dec : decidable_eq α
- amount_of_substance : α
Instances for has_amount_of_substance
- has_amount_of_substance.has_sizeof_inst
@[class]
- dec : decidable_eq α
- electric_current : α
Instances for has_electric_current
- has_electric_current.has_sizeof_inst
@[class]
- dec : decidable_eq α
- temperature : α
Instances for has_temperature
- has_temperature.has_sizeof_inst
@[class]
- dec : decidable_eq α
- luminous_intensity : α
Instances for has_luminous_intensity
- has_luminous_intensity.has_sizeof_inst
Def of dimensions and its properties #
Equations
- dimension.dimensionless α = λ (i : α), 0
@[protected, instance]
Equations
@[protected, instance]
Equations
- dimension.decidable_eq α a b = classical.prop_decidable (a = b)
@[protected]
Equations
- dimension.add = classical.epsilon (λ (f : dimension α → dimension α → dimension α), ∀ (a b : dimension α), a = b → f a b = a)
@[protected]
Equations
- dimension.sub = classical.epsilon (λ (f : dimension α → dimension α → dimension α), ∀ (a b : dimension α), a = b → f a b = a)
@[protected, instance]
Equations
- dimension.has_add = {add := dimension.add α}
@[protected, instance]
Equations
- dimension.has_sub = {sub := dimension.sub α}
@[protected, instance]
Equations
- dimension.has_mul = {mul := dimension.mul α}
@[protected, instance]
Equations
- dimension.has_div = {div := dimension.div α}
@[protected, instance]
Equations
@[protected, instance]
Equations
@[protected, instance]
Equations
@[protected, instance]
Equations
- dimension.has_inv = {inv := dimension.inv α}
@[protected, instance]
Equations
- dimension.has_lt = {lt := dimension.lt α}
@[protected, instance]
Equations
- dimension.has_le = {le := dimension.le α}
@[protected]
Equations
- b.derivative = λ (a : dimension α), a / b
Definition of the base dimensions #
Equations
- dimension.length α = pi.single (has_length.length α) 1
Equations
- dimension.time α = pi.single (has_time.time α) 1
Equations
- dimension.mass α = pi.single (has_mass.mass α) 1
Equations
Equations
Equations
Equations
@[simp]
@[simp]
@[simp]
@[simp]
@[protected, instance]
Equations
- dimension.comm_group = {mul := dimension.mul α, mul_assoc := _, one := dimension.dimensionless α, one_mul := _, mul_one := _, npow := npow_rec dimension.has_mul, npow_zero' := _, npow_succ' := _, inv := dimension.inv α, div := dimension.div α, div_eq_mul_inv := _, zpow := zpow_rec dimension.has_inv, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, mul_left_inv := _, mul_comm := _}
Other dimensions #
Equations
Equations
Equations
- dimension.force α = dimension.length α / dimension.time α ^ 2 * dimension.mass α
examples for personal understanding #
Instances for system1
- system1.has_sizeof_inst
- system1.has_time
- system1.has_length
- system1.has_repr
@[protected, instance]
Equations
- system1.decidable_eq system1.length system1.length = decidable.is_true rfl
- system1.decidable_eq system1.length system1.time = decidable.is_false system1.decidable_eq._main._proof_2
- system1.decidable_eq system1.time system1.length = decidable.is_false system1.decidable_eq._main._proof_1
- system1.decidable_eq system1.time system1.time = decidable.is_true rfl
@[protected, instance]
Equations
@[protected, instance]
Equations
@[protected]
Equations
- system1.length.repr = "length"
- system1.time.repr = "time"
@[protected, instance]