Skip to main content

SI Standard Ontology

International Standards
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 16 September 2026
Audio Overview
# SI Standard Ontology — Flow Algebra

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/international-standards/si-standard-ontology.html

FLOW SIStandardOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> International Standards
    -> SI Standard Ontology

  PURPOSE:
    Represent the International System of Units (SI) as the coherent international system for expressing quantity values through defined units, prefixes, symbols, derived-unit relations and rules for writing and interpreting measurement results. The ontology models the seven SI base units, defining constants, coherent derived units, units with special names and symbols, dimensionless derived quantities, decimal prefixes, quantity-value representation, unit algebra, conversion semantics, typography, traceability, realisation, uncertainty, historical versioning, machine-readable representation and semantic reasoning while preserving distinctions between quantities, quantity kinds, dimensions, units, numerical values, defining constants and practical realisations.

  ENTITY SI {
    TYPE: InternationalSystemOfUnits

    FULL_NAME:
      International_System_of_Units

    SYMBOLIC_NAME:
      SI

    PROPERTIES:
      has_base_units
      has_derived_units
      has_defining_constants
      has_decimal_prefixes
      has_coherent_structure
      has_writing_rules
      supports_quantity_values
      supports_metrological_traceability
      has_version_context
  }

  ENTITY SIUnit {
    TYPE: MeasurementUnit

    PROPERTIES:
      has_name
      has_symbol
      has_quantity_kind_context
      has_dimension
      may_be_base
      may_be_derived
      may_have_special_name
      may_accept_prefix
  }

  ENTITY DefiningConstant {
    TYPE: ExactDefinitionalQuantity

    PROPERTIES:
      symbol
      exact_numerical_value
      unit
      dimensional_role
  }

  SI_DEFINITION_MODEL {
    contemporary_SI:
      system_defined_by_exact_numerical_values_of_seven_defining_constants

    RULE:
      applicable_SI_edition_and_definition_context SHOULD be preserved
  }

  DEFINING_CONSTANTS_MODEL {
    constants:
      delta_nu_Cs
      c
      h
      e
      k
      N_A
      K_cd

    RULE:
      exact_values_are_definitional_and_not_measurement_estimates
  }

  CAESIUM_FREQUENCY_MODEL {
    symbol:
      delta_nu_Cs

    role:
      defines_second_through_fixed_numerical_value_of_hyperfine_transition_frequency_of_caesium_133

    dimension:
      T^-1
  }

  SPEED_OF_LIGHT_MODEL {
    symbol:
      c

    role:
      participates_in_definition_of_metre

    dimension:
      L*T^-1
  }

  PLANCK_CONSTANT_MODEL {
    symbol:
      h

    role:
      participates_in_definition_of_kilogram

    dimension:
      M*L^2*T^-1
  }

  ELEMENTARY_CHARGE_MODEL {
    symbol:
      e

    role:
      participates_in_definition_of_ampere

    dimension:
      I*T
  }

  BOLTZMANN_CONSTANT_MODEL {
    symbol:
      k

    role:
      participates_in_definition_of_kelvin

    dimension:
      M*L^2*T^-2*Theta^-1
  }

  AVOGADRO_CONSTANT_MODEL {
    symbol:
      N_A

    role:
      participates_in_definition_of_mole

    dimension:
      N^-1
  }

  LUMINOUS_EFFICACY_MODEL {
    symbol:
      K_cd

    role:
      participates_in_definition_of_candela

    context:
      monochromatic_radiation_of_frequency_540e12_Hz
  }

  BASE_QUANTITY_MODEL {
    quantities:
      time
      length
      mass
      electric_current
      thermodynamic_temperature
      amount_of_substance
      luminous_intensity

    RULE:
      base_quantity != base_unit
  }

  BASE_UNIT_MODEL {
    units:
      second
      metre
      kilogram
      ampere
      kelvin
      mole
      candela

    RULE:
      base_units_form_foundational_named_unit_set_of_SI
  }

  SECOND_MODEL {
    name:
      second

    symbol:
      s

    quantity:
      time

    dimension:
      T
  }

  METRE_MODEL {
    name:
      metre

    symbol:
      m

    quantity:
      length

    dimension:
      L
  }

  KILOGRAM_MODEL {
    name:
      kilogram

    symbol:
      kg

    quantity:
      mass

    dimension:
      M

    RULE:
      kilogram_name_contains_prefix_like_string_but_prefixes_apply_to_gram_for_decimal_mass_multiples
  }

  AMPERE_MODEL {
    name:
      ampere

    symbol:
      A

    quantity:
      electric_current

    dimension:
      I
  }

  KELVIN_MODEL {
    name:
      kelvin

    symbol:
      K

    quantity:
      thermodynamic_temperature

    dimension:
      Theta
  }

  MOLE_MODEL {
    name:
      mole

    symbol:
      mol

    quantity:
      amount_of_substance

    dimension:
      N
  }

  CANDELA_MODEL {
    name:
      candela

    symbol:
      cd

    quantity:
      luminous_intensity

    dimension:
      J
  }

  DERIVED_UNIT_MODEL {
    definition:
      unit_formed_as_product_of_powers_of_base_units

    coherent:
      numerical_factor_one_when_expressed_in_coherent_base_units

    RULE:
      derived_unit_quantity_kind MUST remain_explicit
  }

  COHERENCE_MODEL {
    coherent_derived_unit:
      product_of_powers_of_base_units_with_no_additional_numerical_factor

    RULE:
      coherence_does_not_imply_measurement_accuracy
  }

  RADIAN_MODEL {
    name:
      radian

    symbol:
      rad

    quantity:
      plane_angle

    dimension:
      1

    RULE:
      named_dimensionless_unit_preserves_angle_semantics
  }

  STERADIAN_MODEL {
    name:
      steradian

    symbol:
      sr

    quantity:
      solid_angle

    dimension:
      1
  }

  HERTZ_MODEL {
    name:
      hertz

    symbol:
      Hz

    quantity:
      frequency

    base_expression:
      s^-1

    RULE:
      frequency_quantity_kind_should_be_distinguished_from_other_T^-1_quantities
  }

  NEWTON_MODEL {
    name:
      newton

    symbol:
      N

    quantity:
      force

    base_expression:
      kg*m*s^-2
  }

  PASCAL_MODEL {
    name:
      pascal

    symbol:
      Pa

    quantity:
      pressure_stress

    base_expression:
      kg*m^-1*s^-2
  }

  JOULE_MODEL {
    name:
      joule

    symbol:
      J

    quantity:
      energy_work_heat

    base_expression:
      kg*m^2*s^-2
  }

  WATT_MODEL {
    name:
      watt

    symbol:
      W

    quantity:
      power_radiant_flux

    base_expression:
      kg*m^2*s^-3
  }

  COULOMB_MODEL {
    name:
      coulomb

    symbol:
      C

    quantity:
      electric_charge

    base_expression:
      A*s
  }

  VOLT_MODEL {
    name:
      volt

    symbol:
      V

    quantity:
      electric_potential_difference

    base_expression:
      kg*m^2*s^-3*A^-1
  }

  FARAD_MODEL {
    name:
      farad

    symbol:
      F

    quantity:
      capacitance

    base_expression:
      kg^-1*m^-2*s^4*A^2
  }

  OHM_MODEL {
    name:
      ohm

    symbol:
      ohm_symbol

    quantity:
      electrical_resistance

    base_expression:
      kg*m^2*s^-3*A^-2
  }

  SIEMENS_MODEL {
    name:
      siemens

    symbol:
      S

    quantity:
      electrical_conductance

    base_expression:
      kg^-1*m^-2*s^3*A^2
  }

  WEBER_MODEL {
    name:
      weber

    symbol:
      Wb

    quantity:
      magnetic_flux

    base_expression:
      kg*m^2*s^-2*A^-1
  }

  TESLA_MODEL {
    name:
      tesla

    symbol:
      T

    quantity:
      magnetic_flux_density

    base_expression:
      kg*s^-2*A^-1
  }

  HENRY_MODEL {
    name:
      henry

    symbol:
      H

    quantity:
      inductance

    base_expression:
      kg*m^2*s^-2*A^-2
  }

  DEGREE_CELSIUS_MODEL {
    name:
      degree_Celsius

    symbol:
      degree_C_symbol

    quantity:
      Celsius_temperature

    relation:
      t_C =
        T_K-273.15

    RULE:
      temperature_interval_Celsius_and_kelvin_have_equal_size
      but_absolute_scale_values_have_affine_relation
  }

  LUMEN_MODEL {
    name:
      lumen

    symbol:
      lm

    quantity:
      luminous_flux

    base_expression:
      cd*sr
  }

  LUX_MODEL {
    name:
      lux

    symbol:
      lx

    quantity:
      illuminance

    base_expression:
      lm*m^-2
  }

  BECQUEREL_MODEL {
    name:
      becquerel

    symbol:
      Bq

    quantity:
      activity_referred_to_radionuclide

    base_expression:
      s^-1

    RULE:
      Bq_and_Hz_have_same_dimension_but_different_quantity_kinds
  }

  GRAY_MODEL {
    name:
      gray

    symbol:
      Gy

    quantity:
      absorbed_dose_specific_energy

    base_expression:
      m^2*s^-2
  }

  SIEVERT_MODEL {
    name:
      sievert

    symbol:
      Sv

    quantity:
      dose_equivalent_related_radiological_quantities

    base_expression:
      m^2*s^-2

    RULE:
      Gy_and_Sv_are_not_semantically_interchangeable
  }

  KATAL_MODEL {
    name:
      katal

    symbol:
      kat

    quantity:
      catalytic_activity

    base_expression:
      mol*s^-1
  }

  PREFIX_MODEL {
    role:
      form_decimal_multiples_and_submultiples_of_units

    RULE:
      prefix_symbol_and_unit_symbol_form_single_unit_symbol_without_space
  }

  PREFIX_POWER_MODEL {
    decimal:
      prefix_factor =
        10^n

    RULE:
      current_prefix_set SHOULD be resolved_against_applicable_SI_edition
  }

  COMMON_PREFIX_MODEL {
    examples:
      quetta
      ronna
      yotta
      zetta
      exa
      peta
      tera
      giga
      mega
      kilo
      hecto
      deca
      deci
      centi
      milli
      micro
      nano
      pico
      femto
      atto
      zepto
      yocto
      ronto
      quecto

    RULE:
      prefix_case_is_significant
  }

  PREFIX_APPLICATION_MODEL {
    prefixed_unit:
      prefix*unit

    numerical_equivalence:
      1_prefixed_unit =
        prefix_factor*unit

    RULE:
      compound_unit_power_applies_to_prefix_factor_when_prefix_is_inside_powered_unit
  }

  MASS_PREFIX_MODEL {
    base_named_unit:
      kilogram

    practical_prefix_formation:
      apply_prefix_to_gram

    example:
      milligram

    RULE:
      avoid_double_prefixing_kilogram
  }

  DOUBLE_PREFIX_MODEL {
    invalid:
      compound_prefix_on_already_prefixed_unit_symbol

    RULE:
      only_one_SI_prefix_may_attach_to_unit_in_standard_prefix_construction
  }

  QUANTITY_VALUE_MODEL {
    form:
      Q =
        numerical_value*unit

    RULE:
      quantity_value MUST preserve_space_or_semantic_separator_between_number_and_unit_symbol_in_formatted_text
  }

  NUMERICAL_VALUE_MODEL {
    quantity:
      Q

    unit:
      U

    numerical_value:
      {Q}_U

    relation:
      Q =
        {Q}_U*U
  }

  UNIT_ALGEBRA_MODEL {
    operations:
      multiplication
      division
      powers

    RULE:
      unit_expression MUST follow_quantity_equation_dimensions
  }

  MULTIPLICATION_MODEL {
    example:
      N*m =
        J
      in_energy_work_context

    RULE:
      same_unit_product_may_represent_different_quantity_kind_in_other_context
  }

  DIVISION_MODEL {
    example:
      J/s =
        W
  }

  POWER_MODEL {
    example:
      m^2
      m^3
      s^-2

    RULE:
      exponent_applies_to_entire_prefixed_unit_when syntactically_attached
  }

  UNIT_CONVERSION_MODEL {
    source:
      SI_or_non_SI_unit

    target:
      SI_unit

    RULE:
      conversion_must_preserve_quantity_and_dimension
  }

  EXACT_CONVERSION_MODEL {
    factor:
      defined_exactly

    RULE:
      exact_factor_adds_no_measurement_uncertainty
  }

  AFFINE_CONVERSION_MODEL {
    example:
      Celsius_and_kelvin_scale_values

    RULE:
      absolute_values_and_differences MUST be distinguished
  }

  NON_SI_UNIT_MODEL {
    unit:
      outside_SI

    possible_status:
      accepted_for_use_with_SI
      domain_specific
      discouraged
      historical

    RULE:
      status SHOULD be resolved_from_applicable_SI_reference
  }

  ACCEPTED_WITH_SI_MODEL {
    examples_may_include:
      minute
      hour
      day
      degree_of_arc
      litre
      tonne
      electronvolt
      dalton

    RULE:
      exact_current_list_and_conditions SHOULD be version_resolved
  }

  DIMENSION_MODEL {
    base_dimensions:
      L
      M
      T
      I
      Theta
      N
      J

    RULE:
      SI_unit_and_dimension_are_distinct_semantic_entities
  }

  DIMENSIONAL_HOMOGENEITY_MODEL {
    equation:
      dimensions_left =
        dimensions_right

    RULE:
      SI_expression SHOULD be dimensionally_consistent
  }

  SAME_DIMENSION_DIFFERENT_KIND_MODEL {
    examples:
      Hz_vs_Bq
      J_vs_N_m_torque_context
      Gy_vs_Sv

    RULE:
      dimensional_equivalence_does_not_imply_quantity_kind_equivalence
  }

  WRITING_RULE_MODEL {
    concerns:
      unit_symbols
      unit_names
      prefixes
      spacing
      multiplication
      division
      powers
      punctuation
      pluralisation

    RULE:
      machine_semantics SHOULD be separated_from_typographic_rendering
  }

  SYMBOL_CASE_MODEL {
    examples:
      m != M
      s != S
      Pa != pA

    RULE:
      symbol_case_is_semantically_significant
  }

  UNIT_SYMBOL_PLURAL_MODEL {
    unit_symbol:
      invariant

    RULE:
      SI_unit_symbols_do_not_take_plural_s
  }

  UNIT_NAME_PLURAL_MODEL {
    written_name:
      follows_language_grammar

    RULE:
      name_grammar != symbol_grammar
  }

  NUMBER_UNIT_SPACE_MODEL {
    formatted_quantity_value:
      number_space_unit_symbol

    exceptions:
      angular_degree_minute_second_symbols_may_follow_special_typographic_rules

    RULE:
      semantic_parser SHOULD recognise_standard_spacing
  }

  MULTIPLICATION_TYPOGRAPHY_MODEL {
    unit_product:
      centred_dot_or_space_under_declared_style

    RULE:
      multiplication_structure MUST be unambiguous
  }

  DIVISION_TYPOGRAPHY_MODEL {
    possible:
      negative_exponents
      solidus
      fraction

    RULE:
      repeated_ambiguous_solidus_without_parentheses SHOULD be avoided
  }

  DECIMAL_MODEL {
    decimal_marker:
      point_or_comma_under_language_context

    RULE:
      machine_exchange SHOULD use_locale_independent_representation
  }

  DIGIT_GROUPING_MODEL {
    long_numbers:
      may_group_digits_in_threes_using_spaces

    RULE:
      grouping_separator MUST not_be confused_with_decimal_marker
  }

  SIGNIFICANT_FIGURES_MODEL {
    measurement:
      numeric_digits_should_reflect_reporting_policy_and_uncertainty

    RULE:
      SI_unit_system_does_not_itself_define_measurement_uncertainty
  }

  SCIENTIFIC_NOTATION_MODEL {
    value:
      a*10^n*unit

    RULE:
      exponent_applies_to_numerical_value_unless_unit_expression_explicitly_powered
  }

  EXACT_CONSTANT_MODEL {
    defining_constant:
      exact_numerical_value_in_declared_unit

    RULE:
      exactness_is_definitional_within_SI_not_measurement_zero_uncertainty_of_every_realisation
  }

  REALISATION_MODEL {
    unit_definition:
      realised_by_experiment_or_reference_method

    RULE:
      practical_realisation_has_measurement_uncertainty
  }

  TRACEABILITY_MODEL {
    measurement_result:
      related_to_SI_reference
      through_documented_calibration_chain

    RULE:
      SI_traceability_requires_chain_scope_and_uncertainty
  }

  CALIBRATION_MODEL {
    instrument:
      calibrated_against_reference

    RULE:
      calibration_to_SI_traceable_standard_supports_traceability_but_calibration_and_traceability_are_distinct
  }

  UNCERTAINTY_MODEL {
    result:
      measured_value
      standard_or_expanded_uncertainty
      SI_unit

    RULE:
      uncertainty_has_same_quantity_dimension_as_measurand_for_absolute_uncertainty
  }

  RELATIVE_UNCERTAINTY_MODEL {
    u_rel =
      u(x)/abs(x)
      WHEN x != 0

    dimension:
      1
  }

  MEASUREMENT_EQUATION_MODEL {
    Y =
      f(X_1,...,X_n)

    RULE:
      units_dimensions_and_uncertainties MUST be propagated_consistently
  }

  SI_REALISATION_CHAIN_MODEL {
    defining_constants
      -> unit_definition
      -> primary_realisation
      -> standards
      -> calibration
      -> measurement_result

    RULE:
      chain_is_conceptual_and_actual_traceability_graph_may_have_multiple_paths
  }

  PRIMARY_STANDARD_MODEL {
    highest_level_realisation:
      based_on_primary_method_or_reference

    RULE:      primary_standard_role_and_uncertainty MUST be preserved
  }

  METROLOGICAL_COMPARABILITY_MODEL {
    results:
      comparable_when_quantity_definitions_units_traceability_and_uncertainty_are_compatible

    RULE:
      common_SI_units_alone_do_not_guarantee_comparability
  }

  INTERNATIONAL_EQUIVALENCE_MODEL {
    standards:
      supported_by_comparisons_and_metrology_framework

    RULE:
      equivalence_requires_measurement_evidence_not_unit_name_identity
  }

  HISTORICAL_SI_MODEL {
    definitions:
      have_changed_over_time

    RULE:
      historical_measurement_context SHOULD preserve_applicable_definition
  }

  REDEFINITION_MODEL {
    event:
      change_in_unit_definition_or_defining_basis

    RULE:
      continuity_of_unit_magnitude_is_design_goal_but_definition_provenance MUST be preserved
  }

  VERSION_MODEL {
    fields:
      SI_Brochure_edition
      resolutions
      amendments
      effective_date

    RULE:
      current_semantics SHOULD be version_resolved
  }

  MACHINE_UNIT_MODEL {
    fields:
      unit_identifier
      symbol
      name
      dimension_vector
      scale
      offset
      prefix
      quantity_kind
      SI_status

    RULE:
      machine_unit_record MUST distinguish_unit_identity_from_display_string
  }

  UNIT_IDENTIFIER_MODEL {
    purpose:
      stable_machine_reference

    RULE:
      symbol_alone_may_be_ambiguous_without_quantity_and_namespace_context
  }

  PARSING_MODEL {
    input:
      unit_expression

    process:
      tokenize_prefixes_units_operators_exponents
      resolve_symbols
      build_expression_tree
      compute_dimension

    RULE:
      case_and_operator_precedence MUST be preserved
  }

  CANONICALISATION_MODEL {
    unit_expression:
      reduce_to_canonical_base_unit_exponents_and_scale

    RULE:
      canonicalisation_must_preserve_quantity_kind_metadata
  }

  FORMATTING_MODEL {
    input:
      numerical_value
      unit
      uncertainty
      locale
      style

    output:
      standards_consistent_quantity_expression

    RULE:
      formatting_must_not_change_quantity_value
  }

  INTEROPERABILITY_MODEL {
    systems:
      exchange_quantity_kind_value_unit_uncertainty

    RULE:
      semantic_interoperability_requires_shared_unit_definition_and_quantity_kind
  }

  DATA_EXCHANGE_MODEL {
    required_fields:
      value
      unit_identifier
      quantity_kind
      uncertainty_when_measurement_result
      provenance

    RULE:
      unit_symbol_without_semantic_identifier MAY be insufficient_for_automated_exchange
  }

  SEMANTIC_EQUIVALENCE {
    "SI" ~= International_System_of_Units
    "SI unit" ~= unit_belonging_to_International_System_of_Units
    "coherent derived unit" ~= derived_SI_unit_with_unit_factor_one_in_coherent_expression

    quantity != unit
    quantity_kind != dimension
    unit != numerical_value
    defining_constant != practical_realisation
    exact_definition != zero_uncertainty_realisation
    SI_traceability != use_of_SI_symbol_alone
    same_dimension != same_quantity_kind
    prefix != unit
    degree_Celsius_value != kelvin_value
  }

  RELATIONSHIPS {
    SI -> HAS -> BaseUnit
    SI -> HAS -> DerivedUnit
    SI -> DEFINED_BY -> DefiningConstants
    BaseUnit -> ASSOCIATED_WITH -> BaseQuantity
    DerivedUnit -> DERIVED_FROM -> BaseUnits
    Unit -> HAS -> Symbol
    Unit -> HAS -> Dimension
    Unit -> REPRESENTS -> QuantityKind
    SIPrefix -> SCALES -> Unit
    QuantityValue -> HAS -> NumericalValue
    QuantityValue -> HAS -> Unit
    MeasurementResult -> MAY_BE_TRACEABLE_TO -> SI
    PracticalRealisation -> REALISES -> SIUnit
  }

  CONSTRAINTS {
    SI_version_context_should_be_preserved = true
    quantity_unit_dimension_and_numerical_value_must_be_distinguished = true
    seven_base_units_must_be_preserved = true
    defining_constants_must_be_marked_exact_in_definition_context = true
    derived_unit_dimensions_must_be_consistent_with_quantity_equations = true
    same_dimension_does_not_imply_same_quantity_kind = true
    prefix_case_and_factor_must_be_preserved = true
    double_prefixing_must_be_rejected = true
    absolute_and_difference_temperature_semantics_must_be_distinguished = true
    unit_symbol_case_must_be_preserved = true
    SI_traceability_requires_metrological_chain_not_symbol_usage = true
    provenance_must_be_preserved = true
  }

  MEASUREMENT_MODEL {
    RECORD:
      quantity_identifier
      quantity_kind
      numerical_value
      unit_identifier
      unit_name
      unit_symbol
      base_or_derived_status
      dimension_vector
      prefix
      scale_factor
      affine_offset_when_applicable
      defining_constant_context
      SI_version
      uncertainty
      coverage_factor
      traceability
      calibration_identifier
      realisation_method
      original_representation
      provenance

    RULE:
      SI_quantity_value MUST remain_linked_to_quantity_kind_unit_definition_version_and_measurement_context
  }

  REASONING_RULES {
    IF quantity_value_and_unit_known
      THEN preserve_underlying_quantity_as
        numerical_value*unit

    IF derived_quantity_equation_known
      THEN derive_unit_by_same_algebraic_relation
      AND validate_dimension

    IF prefixed_unit_used
      THEN apply_exact_decimal_prefix_factor
      before_power_or_compound_unit_combination_as_syntactically_required

    IF powered_prefixed_unit
      THEN raise_prefix_factor_and_unit_to_same_power

    IF source_and_target_units_have_same_dimension_and_compatible_quantity_kind
      THEN allow_unit_conversion_using_defined_relation

    IF absolute_Celsius_temperature_converted_to_kelvin
      THEN add_273_15_exactly

    IF Celsius_temperature_difference_converted_to_kelvin_difference
      THEN preserve_same_numerical_interval

    IF two_units_share_dimension_but_quantity_kinds_differ
      THEN do_not_infer_semantic_interchangeability

    IF defining_constant_used
      THEN treat_fixed_numerical_value_as_exact_in_SI_definition_context

    IF practical_realisation_used
      THEN attach_realisation_uncertainty

    IF traceability_to_SI_claimed
      THEN require_documented_reference_chain_scope_and_uncertainty

    IF historical_measurement_interpreted
      THEN resolve_applicable_SI_definition_version
      rather_than_silently_replace_with_current_version
  }

  VALIDATION {
    CHECK SI_version
    CHECK quantity_kind
    CHECK numerical_value
    CHECK unit_identifier
    CHECK unit_symbol_case
    CHECK base_or_derived_status
    CHECK dimension
    CHECK defining_constant_context
    CHECK derived_unit_expression
    CHECK coherent_status
    CHECK prefix
    CHECK double_prefix
    CHECK compound_unit_powers
    CHECK Celsius_vs_kelvin_semantics
    CHECK same_dimension_different_kind_cases
    CHECK writing_and_parsing_rules
    CHECK uncertainty
    CHECK practical_realisation
    CHECK traceability
    CHECK original_representation
    CHECK provenance
  }

  CONFIDENCE {
    SI_framework_confidence: 1.00
    base_unit_confidence: 1.00
    defining_constant_confidence: 1.00
    derived_unit_confidence: 1.00
    prefix_semantics_confidence: 1.00
    quantity_unit_dimension_distinction_confidence: 1.00
    realisation_traceability_confidence: 0.99
    historical_version_confidence: 0.99

    RULE:
      confidence decreases when SI edition, quantity kind, unit identity,
      dimension, prefix, temperature semantics, realisation,
      traceability or provenance is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_quantity_record:
      identify_quantity_kind
      parse_numerical_value_and_unit
      resolve_SI_unit_identifier
      derive_dimension
      attach_prefix_and_scale
      attach_uncertainty_and_traceability
      preserve_provenance

    ON SI_version_revision:
      preserve_previous_definition_context
      register_new_brochure_or_resolution_context
      update_defining_metadata_prefixes_or_writing_rules
      preserve_historical_records

    ON unit_definition_revision:
      preserve_previous_unit_definition
      update_machine_identifier_and_relational metadata
      revalidate_derived_unit_graph
      maintain_version_links

    ON prefix_revision:
      preserve_previous_prefix_set
      attach_new_prefix_definition_and_effective_context
      update_parser_and_formatter
      preserve_historical_semantics

    ON traceability_revision:
      preserve_measurement_result
      update_calibration_chain_or_realisation evidence
      recompute_traceability_status
      preserve_uncertainty

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: SI
    canonical_role: InternationalSystemOfUnits

    interpretation_order:
      identify_quantity_kind
      identify_numerical_value
      identify_unit_name_symbol_and_identifier
      identify_base_or_derived_status
      identify_dimension
      identify_prefix
      identify_defining_constant_relationship
      identify_compound_or_powered_unit_structure
      identify_temperature_scale_semantics
      identify_uncertainty
      identify_realisation_and_traceability
      identify_SI_version
      identify_provenance
      validate_SI_semantics
      produce_machine_resolvable_quantity_value

    ambiguity_controls:
      distinguish_quantity_from_unit
      distinguish_quantity_kind_from_dimension
      distinguish_unit_from_numerical_value
      distinguish_defining_constant_from_practical_realisation
      distinguish_exact_definition_from_realisation_uncertainty
      distinguish_SI_traceability_from_use_of_SI_unit_symbol
      distinguish_same_dimension_from_same_quantity_kind
      distinguish_prefix_from_unit
      distinguish_absolute_temperature_from_temperature_difference
      preserve_quantity_value_unit_dimension_prefix_version_traceability_and_provenance_context
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_units_international_standards_and_SI_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> International Standards
      -> SI Standard Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      SI_definition_model
      defining_constants_model
      caesium_frequency_model
      speed_of_light_model
      Planck_constant_model
      elementary_charge_model
      Boltzmann_constant_model
      Avogadro_constant_model
      luminous_efficacy_model
      base_quantity_model
      base_unit_model
      second_model
      metre_model
      kilogram_model
      ampere_model
      kelvin_model
      mole_model
      candela_model
      derived_unit_model
      coherence_model
      radian_model
      steradian_model
      hertz_model
      newton_model
      pascal_model
      joule_model
      watt_model
      coulomb_model
      volt_model
      farad_model
      ohm_model
      siemens_model
      weber_model
      tesla_model
      henry_model
      degree_Celsius_model
      lumen_model
      lux_model
      becquerel_model
      gray_model
      sievert_model
      katal_model
      prefix_model
      prefix_power_model
      common_prefix_model
      prefix_application_model
      mass_prefix_model
      double_prefix_model
      quantity_value_model
      numerical_value_model
      unit_algebra_model
      multiplication_model
      division_model
      power_model
      unit_conversion_model
      exact_conversion_model
      affine_conversion_model
      non_SI_unit_model
      accepted_with_SI_model
      dimension_model
      dimensional_homogeneity_model
      same_dimension_different_kind_model
      writing_rule_model
      symbol_case_model
      unit_symbol_plural_model
      unit_name_plural_model
      number_unit_space_model
      multiplication_typography_model
      division_typography_model
      decimal_model
      digit_grouping_model
      significant_figures_model
      scientific_notation_model
      exact_constant_model
      realisation_model
      traceability_model
      calibration_model
      uncertainty_model
      relative_uncertainty_model
      measurement_equation_model
      SI_realisation_chain_model
      primary_standard_model
      metrological_comparability_model
      international_equivalence_model
      historical_SI_model
      redefinition_model
      version_model
      machine_unit_model
      unit_identifier_model
      parsing_model
      canonicalisation_model
      formatting_model
      interoperability_model
      data_exchange_model
      semantic_equivalence
      relationships
      constraints
      measurement_model
      reasoning_rules
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      SI_definition_or_defining_constant_context_changes
      base_or_derived_unit_semantics_change
      prefix_set_or_prefix_rules_change
      quantity_unit_dimension_relationship_changes
      unit_writing_parsing_or_formatting_rules_change
      temperature_or_non_SI_unit_semantics_change
      realisation_calibration_or_traceability_model_changes
      SI_version_or_historical_definition_changes
      machine_unit_or_interoperability_model_changes
      measurement_record_changes
      constraint_model_changes
      reasoning_rule_changes
  }

}

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