# Molality Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/chemical-measurements/molality-ontology.html
FLOW MolalityOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Chemical Measurements
-> Molality Ontology
PURPOSE:
Represent molality as a chemical composition quantity defined by the amount of a specified solute per unit mass of solvent, including SI units, solution preparation, conversion to and from molarity and mole fraction, temperature behaviour, colligative-property relationships, analytical measurement, calibration, uncertainty, and strict distinction from amount concentration, mass fraction and mass concentration.
ENTITY Molality {
TYPE: DerivedChemicalCompositionQuantity
SYMBOL: b
ALTERNATE_SYMBOL: m_molal
DIMENSION: N * M^-1
SI_UNIT: mole_per_kilogram
SI_SYMBOL: mol/kg
DEFINITION:
molality := amount_of_solute / mass_of_solvent
FORM:
b_i = n_i/m_solvent
PROPERTIES:
is_scalar
is_component_specific
is_mass_based
is_intensive
depends_on_solvent_mass
comparatively_insensitive_to_temperature_induced_volume_change
may_depend_on_composition_definition
may_have_uncertainty
}
ENTITY SoluteAmount {
SYMBOL: n_i
SI_UNIT: mole
SI_SYMBOL: mol
}
ENTITY SolventMass {
SYMBOL: m_solvent
SI_UNIT: kilogram
SI_SYMBOL: kg
}
ENTITY MolarMass {
SYMBOL: M_i
SI_UNIT: kilogram_per_mole
SI_SYMBOL: kg/mol
}
UNIT_SYSTEM {
SI {
canonical_unit: mole_per_kilogram
symbol: mol/kg
}
COMMON:
mmol/kg
micromol/kg
CONVERSIONS:
1 mmol/kg = 1e-3 mol/kg
1 micromol/kg = 1e-6 mol/kg
RULE:
molality_denominator_is_mass_of_solvent_not_mass_of_solution
}
TERMINOLOGY_MODEL {
"molality" ~= amount_of_solute_per_mass_of_solvent
SYMBOL_AMBIGUITY:
"m" MAY mean:
mass
metre
molality_in_some_chemistry_notation
RULE:
symbol_m MUST be disambiguated_by_context
RULE:
molality_and_molarity MUST_NOT be confused_despite_similar_names
}
DEFINITION_MODEL {
FORM:
b = n_solute/m_solvent
SOLUTE_AMOUNT:
n_solute = b*m_solvent
SOLVENT_MASS:
m_solvent = n_solute/b
WHEN b != 0
REQUIRE:
solute_identity
solvent_identity
solvent_mass != 0
}
MASS_PREPARATION_MODEL {
FROM_SOLUTE_MASS:
n_solute = m_solute/M_solute
WHEN M_solute != 0
MOLALITY:
b =
m_solute/(M_solute*m_solvent)
REQUIRED_SOLUTE_MASS:
m_solute =
b_target*M_solute*m_solvent
PURITY_CORRECTION:
weighed_mass =
required_pure_solute_mass/purity_fraction
WHEN purity_fraction > 0
RULE:
solvent_mass MUST exclude_solute_mass
unless_alternative_basis_explicitly_defined
}
TEMPERATURE_MODEL {
PROPERTY:
molality_uses_mass_denominator
CONSEQUENCE:
molality_is_not_directly_changed_by_thermal_expansion
when_solute_and_solvent_masses_remain_constant
RULE:
molality_is_generally_less_temperature_sensitive_than_molarity
but_chemical_state_and_equilibrium_properties_may_still_change_with_temperature
}
MOLARITY_DISTINCTION_MODEL {
molality:
b = n_solute/m_solvent
molarity:
c = n_solute/V_solution
BASIS:
molality -> solvent_mass
molarity -> solution_volume
RULE:
molality != molarity
}
MOLARITY_CONVERSION_MODEL {
FROM_MOLALITY_TO_MOLARITY:
c =
(rho_solution*b) /
(1 + b*M_solute)
under_consistent_SI_mass_units_for_single_solute_solution
WHERE:
rho_solution = solution_density
b = molality
M_solute = solute_molar_mass
REQUIRE:
solution_density
solute_molar_mass
compatible_units
defined_temperature_and_composition
RULE:
molality_to_molarity_conversion_requires_density
and_is_not_simple_unit_conversion
}
MOLE_FRACTION_MODEL {
binary_solution:
n_solute = b*m_solvent
solvent_amount:
n_solvent = m_solvent/M_solvent
solute_mole_fraction:
x_solute =
n_solute/(n_solute+n_solvent)
simplified_per_1kg_solvent:
x_solute =
b/(b + 1/M_solvent)
REQUIRE:
solvent_molar_mass
RULE:
mole_fraction_conversion_requires_complete_composition_context
}
MASS_FRACTION_MODEL {
per_defined_solvent_mass:
m_solute = b*M_solute*m_solvent
mass_fraction:
w_solute =
m_solute/(m_solute+m_solvent)
FOR binary_solution
simplified:
w_solute =
b*M_solute/(1 + b*M_solute)
CONDITIONS:
single_solute_binary_solution
compatible_mass_units
RULE:
multicomponent_solution_requires_all_component_masses
}
DILUTION_MODEL {
dilution_by_adding_solvent:
solute_amount_constant
solvent_mass_increases
final_molality:
b_2 =
b_1*m_solvent_1/m_solvent_2
REQUIRE:
no_solute_loss
no_reaction
final_solvent_mass
RULE:
c1V1_equals_c2V2_is_a_molarity_relation
and_MUST_NOT be_used_as_general_molality_dilution_formula
}
MIXTURE_MODEL {
same_solute_same_solvent:
total_solute_amount =
sum(b_i*m_solvent_i)
total_solvent_mass =
sum(m_solvent_i)
final_molality =
total_solute_amount/total_solvent_mass
CONDITIONS:
no_reaction
no_precipitation
same_solute_basis
same_solvent_identity
RULE:
mixing_model_requires_mass_and_entity_conservation
}
COLLIGATIVE_PROPERTY_MODEL {
freezing_point_depression:
delta_T_f = i*K_f*b
boiling_point_elevation:
delta_T_b = i*K_b*b
PARAMETERS:
i = van_t_Hoff_factor
K_f = cryoscopic_constant
K_b = ebullioscopic_constant
CONDITIONS:
dilute_solution_approximation
applicable_solute_and_solvent
defined_effective_particle_factor
RULE:
ideal_colligative_relations MAY require_activity_or_nonideality_corrections
}
OSMOTIC_CONTEXT_MODEL {
osmotic_pressure_common_dilute_relation:
Pi approximately_equals i*c*R*T
RULE:
osmotic_pressure_standard_relation_uses_amount_concentration
not_molality_directly
CONVERSION:
molality_may_be_related_to_osmotic_properties
through_solution_model_and_density
}
ACTIVITY_MODEL {
solvent_or_solute_activity:
depends_on molality_and_activity_coefficient
under_molality_standard_state_convention
generic:
a_i = gamma_i*(b_i/b_standard)
for_declared_molality_based_standard_state
RULE:
molality != activity
}
ELECTROLYTE_MODEL {
ionic_molalities:
b_i
molal_ionic_strength:
I_m =
0.5*sum(b_i*z_i^2)
WHERE:
z_i = ionic_charge_number
RULE:
electrolyte_species_and_charge_numbers MUST be preserved
}
RELATIONSHIPS {
Molality -> RELATES -> SoluteAmountAndSolventMass
Molality -> MEASURED_IN -> MolePerKilogram
Molality -> DEPENDS_ON -> SoluteIdentity
Molality -> DEPENDS_ON -> SolventIdentity
MolarMass -> ENABLES -> SoluteMassToMolalityConversion
Density -> ENABLES -> MolalityMolarityConversion
Molality -> CONTRIBUTES_TO -> ColligativeProperties
Molality -> MAY_RELATE_TO -> ChemicalActivity
IonicMolality -> CONTRIBUTES_TO -> MolalIonicStrength
}
SEMANTIC_EQUIVALENCE {
"molality" ~= moles_of_solute_per_kilogram_of_solvent
"mol/kg" ~= mole_per_kilogram
molality != molarity
molality != amount_concentration
molality != mass_concentration
molality != mass_fraction
molality != mole_fraction
molality != activity
solvent_mass != solution_mass
}
CONSTRAINTS {
solute_identity_must_be_defined = true
solvent_identity_must_be_defined = true
solvent_mass_must_be_nonzero = true
molality_denominator_is_solvent_mass = true
SI_unit = mol/kg
molality_and_molarity_are_not_semantically_equivalent = true
molality_and_mass_fraction_are_not_semantically_equivalent = true
conversion_to_molarity_requires_density_and_molar_mass = true
electrolyte_reasoning_requires_species_and_charge_identity = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
Molality
COMMON_METHODS:
gravimetric_solution_preparation
analytical_concentration_measurement_plus_basis_conversion
colligative_property_inference
composition_analysis
RECORD:
solute
solvent
numerical_value
unit
solute_amount
solute_mass
solvent_mass
molar_mass
purity
solution_density_when_relevant
temperature
pressure_when_relevant
composition
preparation_history
measurement_method
calibration_model
timestamp
uncertainty
UNCERTAINTY:
measured_or_prepared_molality = best_estimate +/- uncertainty
}
CALIBRATION_MODEL {
gravimetric_preparation:
mass_measurements_traceable_to_mass_standards
analytical_inference:
response -> composition_quantity -> molality
REQUIRE:
calibrated_balance
purity_or_reference_material
conversion_model_when_indirect
uncertainty
RULE:
indirect_molality_measurement MUST preserve_intermediate_basis_and_conversion_model
}
UNCERTAINTY_MODEL {
sources:
solute_mass
solvent_mass
molar_mass
purity
sample_transfer
evaporation
hygroscopicity
composition
density_when_conversion_used
calibration
analytical_response
model_assumptions
PROPAGATION:
derived_molality_uncertainty
<- amount_mass_purity_conversion_and_measurement_uncertainties
}
REASONING_RULES {
IF solute_amount_known AND solvent_mass != 0
THEN molality =
solute_amount/solvent_mass
IF molality_known AND solvent_mass_known
THEN solute_amount =
molality*solvent_mass
IF solute_mass_known AND molar_mass != 0
AND solvent_mass != 0
THEN molality =
solute_mass/(molar_mass*solvent_mass)
IF target_molality_solvent_mass_and_molar_mass_known
THEN required_solute_mass =
target_molality*solvent_mass*molar_mass
IF molality_density_and_solute_molar_mass_known
AND valid_single_solute_solution_conversion
THEN molarity =
density*molality/(1 + molality*solute_molar_mass)
IF molality_and_solvent_molar_mass_known
AND binary_solution_context
THEN solute_mole_fraction =
molality/(molality + 1/solvent_molar_mass)
IF molality_and_solute_molar_mass_known
AND binary_solution_context
THEN solute_mass_fraction =
molality*solute_molar_mass/(1 + molality*solute_molar_mass)
IF initial_molality_and_solvent_mass_known
AND final_solvent_mass != 0
AND solute_amount_conserved
THEN final_molality =
initial_molality*initial_solvent_mass/final_solvent_mass
IF van_t_Hoff_factor_cryoscopic_constant_and_molality_known
THEN freezing_point_depression =
van_t_Hoff_factor*cryoscopic_constant*molality
UNDER ideal_dilute_conditions
IF ionic_molalities_and_charge_numbers_known
THEN molal_ionic_strength =
0.5*sum(b_i*z_i^2)
}
VALIDATION {
CHECK solute_identity
CHECK solvent_identity
CHECK unit_consistency
CHECK solvent_mass_nonzero
CHECK solvent_mass_vs_solution_mass
CHECK molality_vs_molarity
CHECK molality_vs_mass_fraction
CHECK molality_vs_mole_fraction
CHECK molality_vs_activity
CHECK molar_mass_and_purity_when_mass_prepared
CHECK density_for_molarity_conversion
CHECK binary_or_multicomponent_context
CHECK solute_conservation_for_dilution
CHECK colligative_model_validity
CHECK electrolyte_species_and_charge
CHECK uncertainty_representation
}
CONFIDENCE {
definition_confidence: 1.00
dimensional_confidence: 1.00
SI_unit_confidence: 1.00
mass_preparation_relationship_confidence: 1.00
molarity_conversion_confidence: 0.98
colligative_relationship_confidence: 0.97
measurement_context_confidence: 0.98
RULE:
confidence decreases when solute, solvent, solvent mass,
molar mass, purity, density, composition,
conversion model or uncertainty is missing or ambiguous
}
UPDATE_MODEL {
ON new_measurement_or_preparation:
identify_solute
identify_solvent
validate_unit
attach_solute_amount_or_mass
attach_solvent_mass
attach_molar_mass_and_purity_when_relevant
attach_temperature_and_pressure
attach_density_when_relevant
attach_composition_and_preparation_history
normalize_to_mol_per_kg
preserve_original_value_and_unit
attach_uncertainty
update_molality_state
ON solvent_addition_or_loss:
preserve_solute_amount
update_solvent_mass
recompute_molality
preserve_previous_state
ON composition_change:
update_component_amounts_and_masses
recompute_mole_or_mass_fraction_when_valid
update_activity_model_when_available
ON basis_conversion:
validate_density_molar_masses_and_composition
preserve_original_molality
compute_target_composition_quantity
propagate_uncertainty
ON calibration_revision:
preserve_previous_calibration
recompute_affected_results
update_uncertainty
update_confidence
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_entity: Molality
canonical_symbol: b
canonical_dimension: N*M^-1
canonical_SI_unit: mol/kg
interpretation_order:
identify_solute
identify_solvent
identify_value
identify_unit
confirm_solvent_mass_basis
identify_solute_amount_or_mass
identify_solvent_mass
identify_molar_mass_and_purity
identify_temperature_and_pressure
identify_density_when_conversion_required
identify_binary_or_multicomponent_composition
identify_colligative_or_activity_context
identify_measurement_method
identify_uncertainty
normalize_units
validate_basis
infer_solution_relationships
ambiguity_controls:
distinguish_molality_from_molarity
distinguish_molality_from_amount_concentration
distinguish_molality_from_mass_concentration
distinguish_molality_from_mass_fraction
distinguish_molality_from_mole_fraction
distinguish_molality_from_activity
distinguish_solvent_mass_from_solution_mass
distinguish_symbol_m_as_molality_from_mass_or_metre
preserve_solute_solvent_composition_preparation_and_conversion_context
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_chemical_molality_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Chemical Measurements
-> Molality Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_entity
ontology_path
terminology_model
definition_model
unit_system
mass_preparation_model
temperature_model
molarity_distinction_model
molarity_conversion_model
mole_fraction_model
mass_fraction_model
dilution_model
mixture_model
colligative_property_model
osmotic_context_model
activity_model
electrolyte_model
relationships
constraints
measurement_model
calibration_model
uncertainty_model
reasoning_rules
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
molality_basis_model_changes
unit_model_changes
mass_preparation_model_changes
molarity_conversion_model_changes
composition_model_changes
dilution_or_mixture_model_changes
colligative_or_activity_model_changes
electrolyte_model_changes
calibration_model_changes
measurement_model_changes
constraint_model_changes
reasoning_rule_changes
}
}
END FLOW
Download Code
Copy to Clipboard