Masses and mass units
Context mass
uses builtins/real-numbers
1 Masses
mass + mass : mass
ℝp × mass : mass
mass ÷ ℝp : mass
mass ÷ mass : ℝp
1.1 Simplification rules
In the following, we use the variables M:mass, M1:mass, M2:mass and F:ℝp, F1:ℝp, F2:ℝp.
(F1 × M) + (F2 × M) ⇒ (F1 + F2) × M
F1 × (F2 × M) ⇒ F1 × F2 × M
M ÷ F ⇒ (1 ÷ F) × M
M1 ÷ (F × M2) ⇒ M1 ÷ F ÷ M2
(F × M1) ÷ M2 ⇒ F × (M1 ÷ M2)
M ÷ M ⇒ 1
Context mass-units
extends mass
uses boolean/boolean
2 Mass units
A mass-unit ⊆ mass is a mass used as a reference in specifying other masses.
kg : mass-unit
g : mass-unit
mg : mass-unit
mass in mass-unit : mass
g ÷ kg ⇒ 1/1000
mg ÷ kg ⇒ 1/1000000
2.1 Simplification rules
Additional variables: MU:mass-unit, MU1:mass-unit, MU2:mass-unit.
M in MU ⇒ (M ÷ MU) × MU
MU1 ÷ MU2 ⇒ MU1 ÷ kg ÷ (MU2 ÷ kg) if ¬(MU2 == kg)
2.2 Tests
2 × (3 × kg) ⇒ 6 × kg ✓
2 × (kg ÷ 3) ⇒ 2/3 × kg ✓
(2 × kg) ÷ 3 ⇒ 2/3 × kg ✓
(2 × kg) ÷ (3 × kg) ⇒ 2/3 ✓
(2 × g) ÷ (3 × kg) ⇒ 1/1500 ✓
(2 × g) ÷ (3 × mg) ⇒ 2000/3 ✓
(2 × g) in mg ⇒ 2000 × mg ✓