Skip to main content

Isotope Ratio Ontology

Chemical Measurements
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 16 September 2026
Audio Overview
# Isotope Ratio Ontology — Flow Algebra

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/chemical-measurements/isotope-ratio-ontology.html

FLOW IsotopeRatioOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> Chemical Measurements
    -> Isotope Ratio Ontology

  PURPOSE:
    Represent isotope ratios as dimensionless chemical and metrological quantities comparing the amount or abundance of one isotope with another isotope of the same element or defined isotopic system, including isotope amount ratios, isotope abundance, delta notation, reference materials, mass spectrometric measurement, mass bias, fractionation, radiogenic and stable isotope systems, calibration, uncertainty, traceability, and strict preservation of numerator, denominator and reference conventions.

  ENTITY IsotopeRatio {
    TYPE: DimensionlessChemicalRatioQuantity
    SYMBOL: R
    DIMENSION: dimensionless
    SI_UNIT: dimensionless

    DEFINITION:
      R(i,j) = n(isotope_i)/n(isotope_j)

    REQUIRE:
      denominator_amount != 0
      numerator_isotope_identity
      denominator_isotope_identity

    PROPERTIES:
      is_dimensionless
      is_ordered_ratio
      is_isotope_specific
      depends_on_sample
      may_depend_on_fractionation
      may_require_reference_material
      may_have_uncertainty
  }

  ENTITY IsotopeAmountFraction {
    TYPE: DimensionlessCompositionQuantity
    SYMBOL: x_i

    DEFINITION:
      x_i = n_i/sum(n_k)

    COMPLETE_ELEMENTAL_ISOTOPE_SET:
      sum(x_i) = 1
  }

  ENTITY DeltaValue {
    TYPE: DimensionlessRelativeIsotopeQuantity
    SYMBOL: delta

    DEFINITION:
      delta_sample_reference =
        R_sample/R_reference - 1

    COMMON_SCALED_FORM:
      delta_per_mille =
        (R_sample/R_reference - 1)*1000

    COMMON_UNIT_STYLE:
      per_mille

    RULE:
      delta_value_requires_explicit_isotope_ratio_and_reference
  }

  ENTITY ReferenceIsotopeRatio {
    TYPE: ReferenceQuantity
    SYMBOL: R_ref

    PROPERTIES:
      tied_to_reference_material_or_scale
      has_uncertainty
      has_provenance
  }

  UNIT_SYSTEM {
    isotope_ratio:
      dimensionless

    isotope_amount_fraction:
      dimensionless

    delta:
      dimensionless

    common_delta_reporting:
      per_mille
      percent
      parts_per_million

    RULE:
      scaled_delta_notation MUST preserve_scale_factor_and_reference
  }

  TERMINOLOGY_MODEL {
    phrases:
      isotope_ratio
      isotopic_ratio
      isotope_abundance_ratio
      isotope_amount_ratio

    RULE:
      numerator_and_denominator_isotopes MUST be explicit

    EXAMPLE_AMBIGUITY:
      "carbon isotope ratio" MAY refer_to
        13C/12C
        14C/12C
        14C/13C

    RULE:
      element_name_alone_is_insufficient_for_ratio_identity
  }

  ORDERED_RATIO_MODEL {
    R_i_j = n_i/n_j

    reciprocal:
      R_j_i = 1/R_i_j
      WHEN R_i_j != 0

    RULE:
      R_i_j != R_j_i
      except_special_numeric_case

    RULE:
      numerator_denominator_order MUST be preserved
  }

  AMOUNT_FRACTION_RELATION_MODEL {
    two_isotope_system:
      x_i = R_i_j/(1 + R_i_j)
      x_j = 1/(1 + R_i_j)

    general_system:
      x_i =
        R_i_ref /
        sum_k(R_k_ref)
      with_reference_isotope_ratio_defined_as_1_for_reference_isotope

    RULE:
      conversion_between_ratio_and_fraction_requires_complete_isotope_system_definition
  }

  DELTA_NOTATION_MODEL {
    dimensionless:
      delta = R_sample/R_ref - 1

    per_mille:
      delta_permille =
        1000*(R_sample/R_ref - 1)

    inverse:
      R_sample =
        R_ref*(1 + delta_permille/1000)

    RULE:
      delta_value_without_reference_scale_is_semantically_incomplete
  }

  COMMON_STABLE_ISOTOPE_SYSTEMS {
    hydrogen:
      2H/1H

    carbon:
      13C/12C

    nitrogen:
      15N/14N

    oxygen:
      18O/16O
      17O/16O

    sulfur:
      34S/32S
      33S/32S
      36S/32S

    RULE:
      isotope_system_and_reference_scale MUST be preserved
  }

  RADIOGENIC_ISOTOPE_MODEL {
    systems:
      87Sr/86Sr
      143Nd/144Nd
      lead_isotope_ratios
      uranium_isotope_ratios
      hafnium_isotope_ratios

    possible_sources:
      primordial_isotope
      radiogenic_growth
      radioactive_decay
      mixing

    RULE:
      radiogenic_ratio_interpretation MUST preserve_decay_system_and_time_context
  }

  RADIOACTIVE_DECAY_MODEL {
    parent_amount:
      N_p(t) = N_p0*exp(-lambda_decay*t)

    daughter_growth:
      depends_on_initial_daughter_and_decay_system

    half_life:
      t_half = ln(2)/lambda_decay

    RULE:
      isotope_ratio_age_inference requires_closed_system_and_initial_condition_model
  }

  MASS_SPECTROMETRY_MODEL {
    principle:
      separate_ions_by_mass_to_charge
      and_measure_relative_signal

    instruments:
      isotope_ratio_mass_spectrometer
      thermal_ionisation_mass_spectrometer
      multi_collector_ICP_mass_spectrometer
      secondary_ion_mass_spectrometer
      accelerator_mass_spectrometer

    raw_signal_ratio:
      r_measured = signal_i/signal_j

    RULE:
      raw_signal_ratio != calibrated_isotope_amount_ratio
      without_mass_bias_interference_and_response_correction
  }

  MASS_BIAS_MODEL {
    measured_ratio:
      may_differ_from_true_ratio_due_to_mass_discrimination

    exponential_law_example:
      R_true =
        R_measured*(m_i/m_j)^beta
      under_declared_convention

    possible_models:
      exponential_law
      power_law
      linear_law
      empirical_standard_bracketing

    RULE:
      mass_bias_model_and_sign_convention MUST be preserved
  }

  ISOBARIC_INTERFERENCE_MODEL {
    sources:
      isobaric_species
      molecular_ions
      hydrides
      oxides
      doubly_charged_species
      detector_background

    correction:
      corrected_signal =
        measured_signal - estimated_interference

    RULE:
      interference_correction_requires_species_model_and_uncertainty
  }

  FRACTIONATION_MODEL {
    fractionation_factor:
      alpha_A_B =
        R_A/R_B

    delta_relation_approximate:
      delta_A - delta_B
      relates_to_fractionation
      for_small_delta_under_declared_scaling

    equilibrium_fractionation:
      may_depend_on_temperature

    kinetic_fractionation:
      may_depend_on_reaction_or_transport_process

    RULE:
      physical_fractionation_and_instrumental_mass_bias MUST be distinguished
  }

  MIXING_MODEL {
    isotope_amount_balance:
      n_i_mix =
        sum(n_i_source)

    ratio:
      R_mix =
        total_numerator_isotope_amount /
        total_denominator_isotope_amount

    RULE:
      isotope_ratios generally_do_not_mix_by_simple_arithmetic_average
      unless_weighting_conditions_make_it_valid
  }

  REFERENCE_SCALE_MODEL {
    reference_material:
      assigned_isotope_ratio_or_delta_value

    scale_realisation:
      calibration_to_reference_materials

    possible_roles:
      primary_reference
      secondary_reference
      laboratory_working_standard

    REQUIRE:
      material_identifier
      assigned_value
      uncertainty
      scale
      provenance

    RULE:
      reported_delta_values MUST identify_reference_scale
  }

  CALIBRATION_MODEL {
    methods:
      standard_sample_bracketing
      internal_normalisation
      external_normalisation
      double_spike
      reference_material_calibration

    calibration_relation:
      raw_ratio -> corrected_ratio -> scale_normalised_ratio_or_delta

    RULE:
      correction_sequence SHOULD be preserved_for_traceability
  }

  NORMALISATION_MODEL {
    internal_normalisation:
      fix_selected_isotope_ratio_to_reference_value
      to_correct_mass_fractionation

    REQUIRE:
      normalising_ratio
      reference_value
      mass_fractionation_law

    RULE:
      normalisation_changes_depend_on_chosen_fixed_ratio_and_model
  }

  RELATIONSHIPS {
    IsotopeRatio -> COMPARES -> IsotopeAmounts
    IsotopeRatio -> IS -> OrderedDimensionlessRatio
    IsotopeAmountFraction -> RELATES_TO -> IsotopeRatio
    DeltaValue -> COMPARES -> SampleRatioAndReferenceRatio
    IsotopeRatio -> MEASURED_BY -> IsotopeMassSpectrometry
    RawSignalRatio -> CORRECTED_BY -> MassBiasModel
    RawSignal -> MAY_REQUIRE -> InterferenceCorrection
    Fractionation -> CHANGES -> IsotopeRatio
    RadioactiveDecay -> CHANGES -> ParentDaughterIsotopeRatios
    ReferenceMaterial -> CALIBRATES -> IsotopeRatioMeasurement
  }

  SEMANTIC_EQUIVALENCE {
    "isotope ratio" ~= isotope_amount_ratio WHEN amount_basis
    "isotopic ratio" ~= isotope_ratio

    isotope_ratio != isotope_fraction
    isotope_ratio != delta_value
    isotope_ratio != raw_signal_ratio
    physical_fractionation != instrumental_mass_bias
    reference_ratio != sample_ratio
    numerator_denominator_order_is_not_interchangeable
  }

  CONSTRAINTS {
    isotope_ratio_is_dimensionless = true
    numerator_isotope_must_be_defined = true
    denominator_isotope_must_be_defined = true
    denominator_amount_must_be_nonzero = true
    isotope_ratio_is_ordered = true
    delta_value_requires_reference_ratio = true
    delta_scale_factor_must_be_preserved = true
    raw_mass_spectrometer_ratio_requires_correction_model = true
    reference_material_and_scale_should_be_preserved = true
    uncertainty_must_include_material_correction_and_measurement_components_when_relevant = true
  }

  MEASUREMENT_MODEL {
    OBSERVABLE_OR_INFERRED:
      IsotopeRatio
      IsotopeAmountFraction
      DeltaValue

    RECORD:
      element
      numerator_isotope
      denominator_isotope
      numerical_ratio
      dimensionless
      delta_value_when_relevant
      delta_scale
      reference_material
      reference_scale
      sample
      sample_matrix
      preparation_method
      instrument
      ionisation_method
      measured_masses
      detector_configuration
      raw_signal_ratio
      blank_correction
      interference_correction
      mass_bias_model
      normalisation_model
      calibration_method
      timestamp
      replicate_information
      uncertainty

    UNCERTAINTY:
      measured_isotope_ratio = best_estimate +/- uncertainty
  }

  SAMPLE_PREPARATION_MODEL {
    possible_steps:
      dissolution
      digestion
      chemical_separation
      ion_exchange
      purification
      derivatisation
      combustion
      gas_conversion
      target_preparation

    risks:
      contamination
      blank
      isotope_fractionation
      incomplete_recovery
      isobaric_interference

    RULE:
      sample_preparation_history SHOULD be preserved
  }

  UNCERTAINTY_MODEL {
    sources:
      counting_statistics
      detector_noise
      detector_gain
      mass_bias_correction
      reference_material
      standard_bracketing
      blank
      isobaric_interference
      sample_preparation
      fractionation
      normalisation
      instrumental_drift
      repeatability
      calibration

    PROPAGATION:
      derived_isotope_ratio_uncertainty
      <- signal_correction_reference_and_model_uncertainties
  }

  TRACEABILITY_MODEL {
    chain:
      reported_ratio_or_delta
      -> corrected_measurement
      -> calibration_standard
      -> certified_reference_material_or_scale
      -> documented_reference_value

    REQUIRE:
      reference_material_identifier
      assigned_value
      uncertainty
      calibration_history

    RULE:
      isotope_scale_traceability MUST be preserved_across_normalisation_steps
  }

  REASONING_RULES {
    IF numerator_and_denominator_amounts_known
      AND denominator_amount != 0
      THEN isotope_ratio =
        numerator_amount/denominator_amount

    IF isotope_ratio_known AND ratio != 0
      THEN reciprocal_ratio =
        1/isotope_ratio
      WITH numerator_denominator_swapped

    IF sample_ratio_and_reference_ratio_known
      AND reference_ratio != 0
      THEN delta =
        sample_ratio/reference_ratio - 1

    IF delta_permille_and_reference_ratio_known
      THEN sample_ratio =
        reference_ratio*(1 + delta_permille/1000)

    IF two_isotope_system_ratio_known
      THEN numerator_fraction =
        ratio/(1 + ratio)
      AND denominator_fraction =
        1/(1 + ratio)

    IF raw_signals_known AND denominator_signal != 0
      THEN raw_signal_ratio =
        numerator_signal/denominator_signal

    IF mass_bias_model_and_parameters_known
      THEN corrected_ratio =
        apply_mass_bias_correction(raw_ratio)

    IF source_isotope_amounts_known
      THEN mixed_ratio =
        sum(numerator_isotope_amounts) /
        sum(denominator_isotope_amounts)

    IF decay_constant_and_time_known
      THEN update_parent_isotope_amount =
        initial_parent_amount*exp(-decay_constant*time)
  }

  VALIDATION {
    CHECK element_identity
    CHECK numerator_isotope_identity
    CHECK denominator_isotope_identity
    CHECK denominator_nonzero
    CHECK ratio_order
    CHECK dimensionless_semantics
    CHECK ratio_vs_fraction
    CHECK ratio_vs_delta
    CHECK delta_reference_material
    CHECK delta_scale_factor
    CHECK raw_vs_corrected_ratio
    CHECK mass_bias_model
    CHECK isobaric_interference
    CHECK fractionation_vs_instrumental_bias
    CHECK normalisation_ratio_and_model
    CHECK reference_scale
    CHECK sample_preparation
    CHECK traceability
    CHECK uncertainty_representation
  }

  CONFIDENCE {
    definition_confidence: 1.00
    dimensionless_confidence: 1.00
    ordered_ratio_confidence: 1.00
    delta_relationship_confidence: 1.00
    mass_spectrometric_measurement_confidence: 0.98
    correction_model_confidence: 0.97
    reference_scale_confidence: 0.99

    RULE:
      confidence decreases when isotope identities, ratio order,
      reference scale, mass bias, interference correction,
      sample preparation, calibration or uncertainty is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_measurement:
      identify_element
      identify_numerator_and_denominator_isotopes
      preserve_ratio_order
      attach_sample_and_matrix
      attach_raw_signals
      apply_blank_correction
      apply_interference_correction
      apply_mass_bias_correction
      apply_normalisation_when_required
      attach_reference_material_and_scale
      calculate_ratio_and_delta_when_requested
      attach_uncertainty
      update_isotope_ratio_state

    ON reference_scale_change:
      preserve_original_ratio
      attach_new_reference_ratio
      recompute_delta_values
      preserve_previous_reference_provenance

    ON correction_model_change:
      preserve_raw_data
      preserve_previous_correction
      apply_new_model
      recompute_ratio
      update_uncertainty
      update_confidence

    ON mixing_update:
      update_source_isotope_amounts
      recompute_mixed_ratio_by_isotope_amount_balance
      preserve_source_provenance

    ON decay_update:
      update_time
      update_parent_and_daughter_amounts
      recompute_radiogenic_ratio
      preserve_initial_state

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: IsotopeRatio
    canonical_symbol: R
    canonical_dimension: dimensionless

    interpretation_order:
      identify_element
      identify_numerator_isotope
      identify_denominator_isotope
      preserve_ratio_order
      identify_ratio_fraction_or_delta_quantity
      identify_value
      identify_reference_material_and_scale
      identify_sample_and_matrix
      identify_measurement_method
      identify_raw_or_corrected_status
      identify_blank_and_interference_corrections
      identify_mass_bias_model
      identify_normalisation_model
      identify_physical_fractionation_context
      identify_radiogenic_or_stable_system
      identify_uncertainty
      validate_dimensionless_semantics
      infer_isotopic_relationships

    ambiguity_controls:
      distinguish_isotope_ratio_from_isotope_fraction
      distinguish_isotope_ratio_from_delta_value
      distinguish_sample_ratio_from_reference_ratio
      distinguish_raw_signal_ratio_from_corrected_isotope_ratio
      distinguish_physical_fractionation_from_instrumental_mass_bias
      distinguish_numerator_denominator_order
      distinguish_stable_from_radiogenic_interpretation
      preserve_isotope_identity_reference_scale_correction_model_and_sample_provenance
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_and_chemical_isotope_ratio_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> Chemical Measurements
      -> Isotope Ratio Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      terminology_model
      ordered_ratio_model
      amount_fraction_relation_model
      delta_notation_model
      stable_isotope_systems
      radiogenic_isotope_model
      radioactive_decay_model
      mass_spectrometry_model
      mass_bias_model
      isobaric_interference_model
      fractionation_model
      mixing_model
      reference_scale_model
      calibration_model
      normalisation_model
      relationships
      constraints
      measurement_model
      sample_preparation_model
      uncertainty_model
      traceability_model
      reasoning_rules
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      isotope_ratio_definition_changes
      numerator_or_denominator_convention_changes
      delta_reference_model_changes
      fractionation_model_changes
      mass_bias_or_interference_model_changes
      normalisation_model_changes
      radiogenic_decay_model_changes
      reference_scale_changes
      measurement_model_changes
      constraint_model_changes
      reasoning_rule_changes
  }

}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ