Not a flat list. Each relation carries its variables and units, and itsdimensional homogeneity is machine-checked — the producer confirms both sides reduce to the same dimension (and the gate re-derives it in pure Node). A relation that is definitional (machine-checked) is exact; a model-bearing one (model-assumed) is exact only inside its stated model — so it discloses the assumptions. Dimensional consistency is what we can prove; the model is what we disclose.
Amount, mass & solutions
Moles from mass
n=Mm machine-checked✓ dimensionally homogeneous — n = m / M both reduce to amount, machine-verified.
| Symbol | Meaning | Unit |
|---|
| n | amount of substance | mol |
| m | mass | g |
| M | molar mass | g/mol |
Rearranged: m=nMM=nm
The bridge between the mass you weigh and the moles the balanced equation counts. Because molar mass M carries units of g/mol, dividing a mass in grams by it cancels the grams and leaves moles — the machine checks that both sides are an amount.
Where it holds: Any pure substance whose molar mass is known; the definition of molar mass, so it always holds.
Molarity
c=Vn machine-checked✓ dimensionally homogeneous — c = n / V both reduce to concentration, machine-verified.
| Symbol | Meaning | Unit |
|---|
| c | molar concentration | M |
| n | amount of solute | mol |
| V | solution volume | L |
Rearranged: n=cVV=cn
Concentration is amount per volume — mol/L, written M. Dividing moles by litres gives the molarity; multiplying a molarity by a volume gives back moles, which is how a measured volume of a stock solution becomes an amount on the ledger.
Where it holds: Any solution; the definition of molar concentration. Volume is the total solution volume, not the solvent volume.
Dilution
M1V1=M2V2 machine-checked✓ dimensionally homogeneous — M₁V₁ = M₂V₂ both reduce to amount, machine-verified.
| Symbol | Meaning | Unit |
|---|
| M₁ | initial concentration | M |
| V₁ | initial volume | L |
| M₂ | final concentration | M |
| V₂ | final volume | L |
Rearranged: M2=V2M1V1V2=M2M1V1
Adding solvent does not add or remove solute — so the amount MV (concentration times volume, an amount of moles) is the same before and after. Both sides of the equation carry the dimension of an amount, which is exactly the conserved quantity.
Where it holds: Diluting a solution with more solvent: the moles of solute are unchanged, only the volume grows. Not for mixing two different solutes.
Particles from moles
N=nNA machine-checked✓ dimensionally homogeneous — N = n · N_A both reduce to dimensionless, machine-verified.
| Symbol | Meaning | Unit |
|---|
| N | number of particles | — |
| n | amount of substance | mol |
| N_A | Avogadro constant = 6.02214076E+23 mol⁻¹ (bipm-si-2019) | mol⁻¹ |
Rearranged: n=NAN
A mole is a count: NA=6.02214076×1023 particles per mole (exact since the 2019 SI redefinition). Multiplying an amount in moles by NA gives a pure number of particles — the moles cancel the per-mole of NA, leaving a dimensionless count, which the machine confirms.
Where it holds: Counting discrete particles (atoms, molecules, ions, formula units). N_A is a fixed count per mole.
Percent yield
percent yield=theoreticalactual×100 machine-checked✓ dimensionally homogeneous — percent yield = (actual / theoretical) × 100 both reduce to dimensionless, machine-verified.
| Symbol | Meaning | Unit |
|---|
| actual | measured product mass | g |
| theoretical | theoretical product mass (from stoichiometry) | g |
| percent yield | percent of the theoretical maximum obtained | % |
Percent yield is a ratio of two masses, so it is dimensionless — the grams cancel, and the ×100 only rescales the fraction to a percent. The machine checks that both sides are dimensionless; the chemistry check (that actual never exceeds theoretical) lives in the lesson that emits it.
Where it holds: Comparing a measured (actual) product mass to the theoretical maximum from stoichiometry. Always ≤ 100% — you cannot collect more than forms.
Gases & energy
Ideal gas law
PV=nRT model-assumed✓ dimensionally homogeneous — PV = nRT both reduce to energy, machine-verified.
| Symbol | Meaning | Unit |
|---|
| P | pressure | atm |
| V | volume | L |
| n | amount of gas | mol |
| R | universal gas constant = 0.0820573660809596 L·atm/(mol·K) (bipm-si-2019) | L·atm/(mol·K) |
| T | absolute temperature | K |
Rearranged: V=PnRTn=RTPVP=VnRTT=nRPV
The single relation tying a gas's pressure, volume, amount, and temperature. Each side, PV and nRT, works out to an energy — the machine confirms the two are dimensionally the same, which is why the equation can hold. Solve it for any one variable given the other three; it is the gas-phase entry onto the species ledger (a volume of gas is an amount of moles).
Where it holds: Best when the gas is dilute — low pressure and temperature well above the boiling point. Real gases deviate near condensation (high P, low T), where intermolecular forces and molecular volume stop being negligible.
Model assumptions (disclosed, not proved):- The gas is ideal: its particles have negligible volume and no intermolecular forces.
- T is the absolute (kelvin) temperature — convert from °C by adding 273.15 before using the law.
Combined gas law
T1P1V1=T2P2V2 model-assumed✓ dimensionally homogeneous — P₁V₁ / T₁ = P₂V₂ / T₂ both reduce to energy per temperature, machine-verified.
| Symbol | Meaning | Unit |
|---|
| P₁ | initial pressure | atm |
| V₁ | initial volume | L |
| T₁ | initial absolute temperature | K |
| P₂ | final pressure | atm |
| V₂ | final volume | L |
| T₂ | final absolute temperature | K |
Rearranged: P2=T1V2P1V1T2V2=T1P2P1V1T2
For a sealed sample of gas, PV/T is the same in any two states — because nR is constant, PV/T=nR. Each side carries the dimension of energy-per-temperature; the machine checks they match. Set up the two states, cancel whatever is held constant, and solve for the missing quantity.
Where it holds: A fixed amount of gas taken from one state to another (Boyle's, Charles's, and Gay-Lussac's laws combined). Temperatures are absolute (kelvin).
Model assumptions (disclosed, not proved):- The amount of gas n is fixed — a sealed sample, no gas added or lost.
- The gas behaves ideally over the whole change of state.
Calorimetry (specific heat)
q=mcΔT model-assumed✓ dimensionally homogeneous — q = m c ΔT both reduce to energy, machine-verified.
| Symbol | Meaning | Unit |
|---|
| q | heat transferred | J |
| m | mass of the substance | g |
| c | specific heat capacity | J/(g·K) |
| ΔT | temperature change | K |
Rearranged: c=mΔTqΔT=mcq
The heat q that flows into a sample raises its temperature in proportion to its mass and its specific heat capacity c. Multiplying mass (grams) by c (energy per gram per degree) by the temperature change (degrees) leaves an energy — the machine confirms q and mcΔT share the dimension of energy. This is the first rung of the energy ledger.
Where it holds: Heating or cooling one substance with no phase change and no chemical reaction. ΔT is a temperature difference, so °C and K give the same number.
Model assumptions (disclosed, not proved):- The calorimeter loses no heat to the surroundings — all heat stays in the sample.
- The specific heat capacity c is constant over the temperature range.
Enthalpy of reaction (Hess's law)
ΔHrxn=∑νΔHf∘(products)−∑νΔHf∘(reactants) model-assumed✓ dimensionally homogeneous — ΔH_rxn = Σ ν ΔH_f° (products − reactants) both reduce to molar energy, machine-verified.
| Symbol | Meaning | Unit |
|---|
| ΔH_rxn | enthalpy of reaction (per mole of reaction) | kJ/mol |
| ΔH_f° | standard enthalpy of formation of a species (× its coefficient ν) | kJ/mol |
Rearranged: ΔHf∘(unknown)=ΔHrxn−∑νΔHf∘(known species)ΔHreverse=−ΔHrxn
The enthalpy of a reaction is the sum of its products' standard formation enthalpies minus its reactants', each weighted by its coefficient ν — because enthalpy is a state function, the path does not matter (Hess's law). Both sides carry the dimension of molar energy (kJ/mol), and the machine checks they match. A negative ΔHrxn is exothermic. The heat an actual run delivers is q=ΔHrxn⋅ξ, scaled by the extent the limiting reagent allows.
Where it holds: Assembling a reaction's enthalpy from tabulated standard enthalpies of formation. Each ΔH_f° is weighted by its stoichiometric coefficient ν; an element in its standard state has ΔH_f° = 0. The result is per mole of reaction, as the equation is balanced.
Model assumptions (disclosed, not proved):- Enthalpy is a state function: ΔH depends only on the initial and final states, not the path taken (Hess's law). This is what lets ΔH_rxn be assembled from tabulated formation enthalpies.
- The standard enthalpies of formation apply at standard conditions (298.15 K, 1 bar) and ΔH is treated as temperature-independent over modest ranges.
Equilibrium & acid–base
Acid ionization constant (Kₐ)
Ka=[HA][H+][A−] model-assumed✓ dimensionally homogeneous — K_a = [H⁺][A⁻] / [HA] both reduce to dimensionless, machine-verified.
| Symbol | Meaning | Unit |
|---|
| K_a | acid ionization constant (dimensionless) | 1 |
| [H^+] | hydrogen-ion activity — [H⁺] relative to the 1 M standard state (dimensionless) | 1 |
| [A^-] | conjugate-base activity — [A⁻] relative to the 1 M standard state (dimensionless) | 1 |
| [HA] | un-ionized-acid activity — [HA] relative to the 1 M standard state (dimensionless) | 1 |
An equilibrium constant is a ratio of activities, and an activity aX=[X]/c∘ is a concentration measured against the c∘=1 M standard state — so it is dimensionless. That is why Ka carries no units even though it is written with concentrations: every bracket is really an activity, the mol/L cancels against c∘, and the machine checks that both sides reduce to the same (zero) dimension. What Ka equals numerically is the sourced datum (`data/ionization-constants.toml`); what is machine-checked here is that the relation is dimensionally consistent. The equilibrium position it encodes is the disclosed model.
Where it holds: For a weak monoprotic acid at equilibrium, HA⇌H++A−. A larger Ka means a stronger (more ionized) weak acid. For a polyprotic acid each proton has its own Ka (Ka1≫Ka2≫…).
Model assumptions (disclosed, not proved):- Activities are approximated by concentrations relative to the 1 M standard state (aX=[X]/c∘) — the ideal-dilute-solution model. This is why Ka is dimensionless and written with concentrations.
Base ionization constant (K_b)
Kb=[B][BH+][OH−] model-assumed✓ dimensionally homogeneous — K_b = [BH⁺][OH⁻] / [B] both reduce to dimensionless, machine-verified.
| Symbol | Meaning | Unit |
|---|
| K_b | base ionization constant (dimensionless) | 1 |
| [BH^+] | conjugate-acid activity — [BH⁺] relative to the 1 M standard state (dimensionless) | 1 |
| [OH^-] | hydroxide-ion activity — [OH⁻] relative to the 1 M standard state (dimensionless) | 1 |
| [B] | un-ionized-base activity — [B] relative to the 1 M standard state (dimensionless) | 1 |
Like Ka, Kb is a ratio of activities (aX=[X]/c∘ against the 1 M standard state), so it is dimensionless — the machine checks that both sides reduce to the zero dimension. The solvent water is a pure liquid (activity 1) and is excluded, exactly as the pure solid is excluded from Ksp. A base and its conjugate acid are tied together by KaKb=Kw (see that entry); its numeric value is the sourced datum.
Where it holds: For a weak base reacting with water at equilibrium, B+H2O⇌BH++OH−. Water is the pure solvent (activity 1), so it does not appear. A larger Kb means a stronger weak base.
Model assumptions (disclosed, not proved):- Activities are approximated by concentrations relative to the 1 M standard state (aX=[X]/c∘), and water is treated as the pure solvent (activity 1). This is why Kb is dimensionless and omits water.
Water ion-product (K_w)
Kw=[H+][OH−] model-assumed✓ dimensionally homogeneous — K_w = [H⁺][OH⁻] both reduce to dimensionless, machine-verified.
| Symbol | Meaning | Unit |
|---|
| K_w | water ion-product constant (dimensionless) | 1 |
| [H^+] | hydrogen-ion activity — [H⁺] relative to the 1 M standard state (dimensionless) | 1 |
| [OH^-] | hydroxide-ion activity — [OH⁻] relative to the 1 M standard state (dimensionless) | 1 |
Kw is the product of the hydrogen-ion and hydroxide-ion activities (aX=[X]/c∘), so it is dimensionless — the machine checks that both sides reduce to the zero dimension. Because it always holds, it ties [H+] and [OH−] together: a weak base fixes [OH−], and Kw converts that to [H+] and thus a pH. Its value (1.0×10−14 at 25 °C) is the sourced datum; what is checked here is dimensional consistency.
Where it holds: The autoionization of water, H2O⇌H++OH−, at every point in any aqueous solution. At 25 °C, Kw=1.0×10−14. It is the bridge that turns an [OH−] into an [H+] (and pOH into pH): [H+]=Kw/[OH−].
Model assumptions (disclosed, not proved):- Activities are approximated by concentrations relative to the 1 M standard state (aX=[X]/c∘), the ideal-dilute-solution model. This is why Kw is dimensionless and written with concentrations.
Conjugate pair: Kₐ · K_b = K_w
KaKb=Kw model-assumed✓ dimensionally homogeneous — K_a K_b = K_w both reduce to dimensionless, machine-verified.
| Symbol | Meaning | Unit |
|---|
| K_a | acid ionization constant of the acid (dimensionless) | 1 |
| K_b | base ionization constant of its conjugate base (dimensionless) | 1 |
| K_w | water ion-product constant (dimensionless) | 1 |
Each of Ka, Kb, Kw is a dimensionless activity constant, so their relation is a dimensionless identity — the machine checks that both sides reduce to the zero dimension. It is why you never need a separate table of Kb values: given Ka and Kw, Kb=Kw/Ka. This is exactly the step a weak-acid/strong-base titration uses at the equivalence point, where the acid has all become its conjugate base.
Where it holds: For any conjugate acid-base pair in water: the acid's Ka and its conjugate base's Kb multiply to the water ion-product Kw. So a strong weak-acid has a weak conjugate base and vice versa, and Kb=Kw/Ka — the identity that turns a titration's equivalence point (all conjugate base) into a weak-base solve.
Model assumptions (disclosed, not proved):- Activities are approximated by concentrations relative to the 1 M standard state (aX=[X]/c∘), the ideal-dilute-solution model — so Ka, Kb, and Kw are all dimensionless and multiply cleanly.
Solubility product (K_sp)
Ksp=[Mn+]a[Xm−]b model-assumed✓ dimensionally homogeneous — K_sp = [Mⁿ⁺]ᵃ [Xᵐ⁻]ᵇ both reduce to dimensionless, machine-verified.
| Symbol | Meaning | Unit |
|---|
| K_sp | solubility-product constant (dimensionless) | 1 |
| [M^n+] | cation activity — its concentration relative to the 1 M standard state (dimensionless); raised to the coefficient a | 1 |
| [X^m-] | anion activity — its concentration relative to the 1 M standard state (dimensionless); raised to the coefficient b | 1 |
Ksp is a product of ion activities (aX=[X]/c∘ against the 1 M standard state), each dimensionless — so Ksp is dimensionless whatever the stoichiometric coefficients a,b are (a dimensionless quantity raised to any power stays dimensionless). The machine checks that both sides reduce to the zero dimension. The pure solid is excluded (activity 1), the same move that lets water drop out of Kb; its value is the sourced datum (`data/solubility-products.toml`).
Where it holds: For a sparingly soluble salt dissolving at saturation, MaXb(s)⇌aMn++bXm−. The dissolving solid is a pure phase (activity 1), so it does not appear. Comparing the reaction quotient Q to Ksp predicts whether a precipitate forms (Q>Ksp).
Model assumptions (disclosed, not proved):- Activities are approximated by concentrations relative to the 1 M standard state (aX=[X]/c∘), and the dissolving solid is a pure phase (activity 1). This is why Ksp is dimensionless and omits the solid.