Skip to main content

Scientific Notation Ontology

Measurement Mathematics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 16 September 2026
Audio Overview
# Scientific Notation Ontology — Flow Algebra

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/measurement-mathematics/scientific-notation-ontology.html

FLOW ScientificNotationOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> Measurement Mathematics
    -> Scientific Notation Ontology

  PURPOSE:
    Represent scientific notation as a structured numerical representation in which a number is expressed as a coefficient multiplied by an integer power of a base, conventionally base ten for decimal scientific notation. The ontology models coefficients, mantissa terminology, exponents, powers of ten, normalised and engineering notation, significant figures, decimal movement, arithmetic, unit prefixes, measurement values, uncertainty notation, logarithmic relationships, machine representations, parsing, formatting, overflow and underflow, provenance and machine-consumable reasoning while preserving the distinction between a number, its representation, its unit and its measurement meaning.

  ENTITY ScientificNotation {
    TYPE: NumericalRepresentationSystem

    CANONICAL_DECIMAL_FORM:
      x =
        a*10^n

    WHERE:
      a = coefficient
      n = integer_exponent

    NORMALISED_CONDITION:
      1 <= abs(a) < 10
      for_x != 0

    PROPERTIES:
      represents_very_large_numbers
      represents_very_small_numbers
      preserves_order_of_magnitude
      can_make_significant_figures_explicit
      supports_compact_arithmetic
      is_representation_not_new_quantity
  }

  ENTITY Coefficient {
    TYPE: NumericalComponent

    ALIASES:
      significand
      decimal_coefficient

    RULE:
      term_mantissa_is_historically_used_but_significand_or_coefficient_is_less_ambiguous
  }

  ENTITY Exponent {
    TYPE: IntegerPowerIndex

    SYMBOL:
      n

    BASE10_SCALE:
      10^n
  }

  ENTITY Base {
    TYPE: Radix

    DECIMAL_SCIENTIFIC_NOTATION:
      base = 10
  }

  REPRESENTATION_MODEL {
    x =
      coefficient*base^exponent

    REQUIRE:
      base > 0
      base != 1

    RULE:
      scientific_notation_representation_must_preserve_numeric_equivalence
  }

  DECIMAL_MODEL {
    x =
      a*10^n

    REQUIRE:
      n_is_integer

    RULE:
      coefficient_and_exponent_must_be_interpreted_together
  }

  NORMALISED_MODEL {
    nonzero_x:
      1 <= abs(a) < 10

    example:
      45000 =
        4.5*10^4

    RULE:
      normalised_decimal_scientific_notation_has_unique_coefficient_exponent_pair_for_given_nonzero_decimal_value_and_declared_coefficient_precision
  }

  ZERO_MODEL {
    x =
      0

    possible:
      0*10^n

    canonical_preference:
      0*10^0

    RULE:
      zero_has_no_unique_order_of_magnitude
  }

  POSITIVE_EXPONENT_MODEL {
    n > 0

    effect:
      scale_coefficient_by_power_greater_than_or_equal_to_10

    example:
      3.2*10^5 =
        320000
  }

  NEGATIVE_EXPONENT_MODEL {
    n < 0

    effect:
      scale_coefficient_by_reciprocal_power_of_10

    example:
      3.2*10^-5 =
        0.000032
  }

  ZERO_EXPONENT_MODEL {
    10^0 =
      1

    result:
      a*10^0 =
        a
  }

  DECIMAL_SHIFT_MODEL {
    ordinary_to_scientific:
      move_decimal_point_until_one_nonzero_digit_remains_to_left
      count_places_moved

    if_decimal_moved_left:
      exponent_positive

    if_decimal_moved_right:
      exponent_negative

    RULE:
      sign_of_exponent_must_follow_inverse_decimal_shift_of_coefficient
  }

  EXPANSION_MODEL {
    scientific_to_decimal:
      multiply_coefficient_by_10^n

    RULE:
      preserve_all_declared_significant_trailing_zeros_in_metadata_when_plain_decimal_text_would_be_ambiguous
  }

  SIGN_MODEL {
    negative_number:
      sign_applies_to_coefficient

    example:
      -6.02*10^23

    RULE:
      sign_does_not_affect_exponent
  }

  SIGNIFICANT_FIGURES_MODEL {
    scientific_notation:
      significant_figures =
        digits_explicitly_written_in_coefficient
        excluding_sign_and_decimal_separator

    examples:
      1.2e4 -> 2
      1.20e4 -> 3
      1.200e4 -> 4

    RULE:
      exponent_digits_are_not_significant_figures_of_value
  }

  TRAILING_ZERO_MODEL {
    coefficient:
      trailing_decimal_zeros_are_explicitly_significant_under_measurement_reporting_context

    example:
      5.00*10^3

    significant_figures:
      3

    RULE:
      scientific_notation_resolves_many_plain_integer_trailing_zero_ambiguities
  }

  LEADING_ZERO_MODEL {
    normalized_coefficient:
      no_leading_zero_before_first_nonzero_digit_except_zero_before_decimal_if_non_normalised_form

    RULE:
      leading_position_zeros_are_not_significant
  }

  ORDER_OF_MAGNITUDE_MODEL {
    x != 0

    decimal_order:
      floor(log10(abs(x)))

    for_normalised_scientific_notation:
      order_of_magnitude_exponent =
        n

    RULE:
      colloquial_nearest_power_order_may_use_different_convention_and_must_be_declared
  }

  ENGINEERING_NOTATION_MODEL {
    form:
      x =
        a*10^(3k)

    coefficient_condition:
      1 <= abs(a) < 1000
      for_nonzero_x

    exponent:
      multiple_of_3

    RULE:
      engineering_notation_aligns_with_many_SI_prefix_steps
  }

  SI_PREFIX_MODEL {
    powers:
      10^3 -> kilo
      10^6 -> mega
      10^9 -> giga
      10^12 -> tera
      10^-3 -> milli
      10^-6 -> micro
      10^-9 -> nano
      10^-12 -> pico

    RULE:
      complete_SI_prefix_mapping_should_follow_current_SI_definition
      and_prefix_is_part_of_unit_representation_not_numeric_value_alone
  }

  PREFIX_CONVERSION_MODEL {
    example:
      3.2*10^-6_m =
        3.2_micrometre

    RULE:
      prefix_conversion_must_preserve_underlying_quantity_and_significant_information
  }

  E_NOTATION_MODEL {
    textual:
      aEn
      aen

    example:
      6.022e23 =
        6.022*10^23

    RULE:
      E_or_e_in_numeric_literal_context_denotes_base10_exponent_not_Euler_constant
  }

  COMPUTER_LITERAL_MODEL {
    possible:
      1.23e-4
      -7.0E+12

    fields:
      sign
      significand
      exponent_sign
      exponent_digits

    RULE:
      programming_language_numeric_literal_semantics_may_convert_to_binary_or_decimal_internal_format
  }

  BINARY_FLOAT_MODEL {
    internal:
      sign
      binary_significand
      binary_exponent

    RULE:
      binary_floating_point_representation != decimal_scientific_notation
      though_values_can_be_formatted_as_decimal_scientific_notation
  }

  IEEE754_CONTEXT_MODEL {
    floating_point:
      finite_precision_binary_or_decimal_formats

    concerns:
      rounding
      overflow
      underflow
      subnormal_numbers
      infinity
      NaN

    RULE:
      machine_format_semantics_must_not_be_confused_with_measurement_significant_figures
  }

  DECIMAL_FLOAT_MODEL {
    internal:
      decimal_significand
      decimal_exponent

    RULE:
      decimal_floating_point_can_preserve_many_decimal_quantities_more_directly_than_binary_float
  }

  ARBITRARY_PRECISION_MODEL {
    coefficient:
      arbitrary_digit_length

    exponent:
      potentially_large_range

    RULE:
      arbitrary_precision_computation_does_not_create_measurement_information
  }

  MULTIPLICATION_MODEL {
    x =
      a*10^m

    y =
      b*10^n

    product:
      x*y =
        (a*b)*10^(m+n)

    then:
      normalise_coefficient

    RULE:
      final_rounding_should_follow_precision_or_uncertainty_policy
  }

  DIVISION_MODEL {
    quotient:
      x/y =
        (a/b)*10^(m-n)

    REQUIRE:
      b != 0

    then:
      normalise_coefficient
  }

  ADDITION_MODEL {
    x =
      a*10^m

    y =
      b*10^n

    requirement:
      align_exponents

    example:
      a*10^m+b*10^n
      =
      [a+b*10^(n-m)]*10^m

    RULE:
      coefficients_cannot_be_added_directly_when_exponents_differ_without_rescaling
  }

  SUBTRACTION_MODEL {
    requirement:
      align_exponents

    risk:
      cancellation_when_values_nearly_equal

    RULE:
      preserve_guard_digits_before_final_rounding
  }

  POWER_MODEL {
    x =
      a*10^n

    integer_power:
      x^p =
        a^p*10^(n*p)

    RULE:
      normalise_after_operation
  }

  ROOT_MODEL {
    x^(1/p)

    exponent:
      n/p

    IF n_not_divisible_by_p:
      rescale_coefficient_and_exponent_before_extracting_root

    RULE:
      domain_restrictions_apply
  }

  RECIPROCAL_MODEL {
    x != 0

    1/x =
      (1/a)*10^(-n)

    then:
      normalise
  }

  COMPARISON_MODEL {
    normalized_positive_values:
      compare_exponents_first
      then_coefficients_when_exponents_equal

    RULE:
      signs_must_be_handled_before_magnitude_comparison
  }

  SORTING_MODEL {
    values:
      parse_sign_coefficient_exponent
      normalize_or_compare_exact_numeric values

    RULE:
      lexical_string_order_is_not_numeric_scientific_notation_order
  }

  LOGARITHM_MODEL {
    x =
      a*10^n
      with_a>0

    log10(x) =
      log10(a)+n

    RULE:
      logarithm_requires_positive_x_for_real_result
  }

  NATURAL_LOG_MODEL {
    ln(x) =
      ln(a)+n*ln(10)
      for_x>0
  }

  EXPONENTIAL_RELATION_MODEL {
    10^x:
      inverse_of_log10

    RULE:
      general_real_exponent_need_not_produce_scientific_notation_coefficient_without_normalisation
  }

  SCALE_MODEL {
    exponent_change:
      multiply_or_divide_by_power_of_ten

    x*10^k:
      exponent ->
        n+k
      before_normalisation
  }

  MEASUREMENT_VALUE_MODEL {
    quantity:
      Q =
        (a*10^n)*unit

    RULE:
      exponent_belongs_to_numerical_value_not_physical_dimension
  }

  UNIT_MODEL {
    example:
      1.234*10^3_m

    equivalent:
      1.234_km

    RULE:
      unit_prefix_and_scientific_exponent_may_be_combined_but_should_avoid_ambiguous_double_scaling
  }

  DIMENSION_MODEL {
    scientific_notation:
      changes_numeric_representation_only

    RULE:
      dimension_of_quantity_remains_unchanged
  }

  UNCERTAINTY_MODEL {
    value:
      x =
        a*10^n

    uncertainty:
      u =
        b*10^k

    reporting:
      preferably_align_exponents_for_readability

    example:
      (1.234 +/- 0.005)*10^6

    RULE:
      scaling_factor_applies_to_both_value_and_uncertainty_when_factored_out
  }

  COMMON_EXPONENT_UNCERTAINTY_MODEL {
    x =
      (a +/- u_a)*10^n

    then:
      absolute_uncertainty =
        u_a*10^n

    relative_uncertainty:
      u_a/abs(a)
      WHEN a != 0
  }

  PARENTHETICAL_MODEL {
    example:
      1.2345(12)*10^6

    interpretation:
      parenthetical_digits_modify_last_digits_of_coefficient_under_declared_uncertainty_convention

    RULE:
      notation_standard_must_be declared
  }

  EXACT_VALUE_MODEL {
    exact_number:
      may_be_written_in_scientific_notation

    RULE:
      notation_does_not_make_exact_value_inexact
  }

  ROUNDING_MODEL {
    coefficient:
      rounded_to_target_significant_figures

    exponent:
      adjusted_if_rounding_changes_coefficient_to_10

    example:
      9.99e3
      rounded_to_2_sig_figs
      =
      1.0e4

    RULE:
      renormalise_after_rounding
  }

  GUARD_DIGIT_MODEL {
    arithmetic:
      retain_extra_coefficient_digits

    RULE:
      avoid_repeated_intermediate_rounding
  }

  OVERFLOW_MODEL {
    machine_context:
      exponent_exceeds_representable_maximum

    result:
      overflow_or_infinity_depending_format

    RULE:
      mathematical_value_may_exist_even_when_machine_format_cannot_represent_it
  }

  UNDERFLOW_MODEL {
    machine_context:
      magnitude_below_normal_representable_range

    possible:
      subnormal
      zero
      underflow_flag

    RULE:
      machine_underflow != mathematical_zero
  }

  SUBNORMAL_MODEL {
    floating_point:
      reduced_precision_near_zero

    RULE:
      subnormal_semantics_are_machine_format_specific
  }

  PARSING_MODEL {
    input:
      text

    accepted_forms:
      a*10^n
      a×10^n
      a e n
      a E n

    output:
      sign
      coefficient
      base
      exponent
      significant_figures
      original_representation

    RULE:
      parser_should_preserve_original_text_for_reporting_semantics
  }

  NORMALISATION_ALGORITHM_MODEL {
    input:
      nonzero_decimal_value

    process:
      determine_decimal_order_n
      coefficient =
        value/10^n
      ensure_1<=abs(coefficient)<10

    RULE:
      finite_precision_implementation_must_control_rounding
  }

  FORMATTING_MODEL {
    inputs:
      numeric_value
      target_significant_figures
      notation_style
      exponent_marker
      unit

    output:
      formatted_scientific_notation

    RULE:
      formatter_must_preserve_requested_significant_figures
  }

  ENGINEERING_FORMATTING_MODEL {
    exponent:
      choose_multiple_of_3

    coefficient:
      value/10^exponent

    RULE:
      preserve_target_significant_figures
  }

  THRESHOLD_FORMATTING_MODEL {
    policy:
      use_scientific_notation_if_abs(value)>=upper_threshold
      or_abs(value)<lower_threshold

    RULE:
      threshold_is_display_policy_not_mathematical_property
  }

  DATABASE_MODEL {
    recommended_fields:
      numerical_value
      coefficient
      exponent
      base
      unit
      significant_figures
      original_representation

    RULE:
      storing_only_rendered_string_limits_numeric_queryability
      while_storing_only_binary_float_may_lose_reporting_semantics
  }

  SERIALISATION_MODEL {
    formats:
      JSON_number
      CSV
      XML
      scientific_text
      binary_float

    RULE:
      serialisation_must_preserve_value_and_required_precision_semantics
  }

  LOCALE_MODEL {
    decimal_separator:
      point_or_locale_specific_comma

    exponent_marker:
      e_or_E

    RULE:
      machine_exchange_should_use_unambiguous_locale_independent_format
  }

  TYPOGRAPHY_MODEL {
    human_readable:
      multiplication_sign
      superscript_exponent

    machine_readable:
      e_notation_or_structured_fields

    RULE:
      typography_must_not_change_numeric meaning
  }

  NEGATIVE_ZERO_MODEL {
    floating_point:
      may_represent_plus_zero_and_minus_zero

    decimal_scientific_reporting:
      sign_of_zero_may_be_relevant_in_special_numeric_contexts

    RULE:
      measured_zero_sign_should_not_be_interpreted_without context
  }

  INFINITY_MODEL {
    machine_or_extended_real_context:
      infinity

    RULE:
      infinity_is_not_finite_scientific_notation_value
  }

  NAN_MODEL {
    machine:
      not_a_number

    RULE:
      NaN_cannot_be_normalised_as_scientific_number
  }

  COMPLEX_NUMBER_MODEL {
    z =
      a+bi

    possible_scientific_scaling:
      z =
        (c+di)*10^n

    RULE:
      conventional_real_scientific_normalisation_must_be_extended_explicitly_for_complex_values
  }

  UNCERTAINTY_PRESERVATION_MODEL {
    unit_conversion_or_scaling:
      transform_value_and_absolute_uncertainty_by_same_exact_scale

    RULE:
      relative_uncertainty_remains_invariant_under_exact_nonzero_linear_scaling
  }

  ERROR_DISTINCTION_MODEL {
    scientific_notation:
      representation

    measurement_error:
      difference_between_measurement_and_reference

    RULE:
      scientific_notation_does_not_change_measurement_error
  }

  PRECISION_DISTINCTION_MODEL {
    scientific_digits:
      displayed_coefficient_digits

    measurement_precision:
      repeatability_characteristic

    RULE:
      scientific_notation_precision_of_display != measurement_precision
  }

  ACCURACY_DISTINCTION_MODEL {
    more_coefficient_digits:
      do_not_guarantee_more_accurate_measurement

    RULE:
      representation_detail != accuracy
  }

  RESOLUTION_DISTINCTION_MODEL {
    instrument_resolution:
      measurement_system_characteristic

    RULE:
      scientific_notation_can_display_more_digits_than_instrument_resolves
  }

  SCALE_INVARIANCE_MODEL {
    equivalent:
      a*10^n =
        (a*10^k)*10^(n-k)

    RULE:
      normalisation_selects_canonical_pair
  }

  RELATIONSHIPS {
    ScientificNotation -> REPRESENTS -> Number
    ScientificNotation -> HAS -> Coefficient
    ScientificNotation -> HAS -> Exponent
    Exponent -> SCALES_BY -> PowerOfTen
    ScientificNotation -> MAY_ENCODE -> SignificantFigures
    EngineeringNotation -> IS_VARIANT_OF -> ScientificNotation
    SIPrefix -> CORRESPONDS_TO -> DecimalPower
    ScientificNotation -> REPRESENTS_NUMERICAL_PART_OF -> QuantityValue
    Uncertainty -> MAY_SHARE_EXPONENT_WITH -> MeasurementValue
    FormattingPolicy -> DETERMINES -> DisplayRepresentation
  }

  SEMANTIC_EQUIVALENCE {
    "scientific notation" ~= coefficient_times_power_of_ten WHEN decimal_context
    "E notation" ~= decimal_scientific_notation_text_representation
    "engineering notation" ~= scientific_notation_with_exponent_multiple_of_three

    scientific_notation != physical_quantity
    scientific_notation != unit
    scientific_notation != measurement_precision
    scientific_notation != measurement_accuracy
    exponent != significant_figure_count
    binary_floating_point != decimal_scientific_notation
    SI_prefix != exponent_in_all_contexts
    order_of_magnitude != significant_figures
  }

  CONSTRAINTS {
    decimal_scientific_base_is_ten = true
    normalized_nonzero_coefficient_absolute_value_must_be_at_least_one = true
    normalized_nonzero_coefficient_absolute_value_must_be_less_than_ten = true
    exponent_must_be_integer_for_standard_decimal_scientific_notation = true
    coefficient_and_exponent_must_remain_linked = true
    exponent_digits_do_not_count_as_significant_figures = true
    scientific_notation_must_preserve_underlying_numeric_value = true
    unit_and_dimension_must_remain_unchanged_by_numeric_reformatting = true
    arithmetic_results_should_be_renormalized = true
    machine_representation_and_measurement_semantics_must_be_distinguished = true
  }

  MEASUREMENT_MODEL {
    RECORD:
      quantity_identifier
      numeric_value
      coefficient
      base
      exponent
      normalized_status
      notation_style
      significant_figures
      unit
      dimension
      uncertainty
      uncertainty_coefficient
      uncertainty_exponent
      exact_or_measured_status
      rounding_mode
      original_representation
      machine_representation
      formatting_policy
      provenance

    RULE:
      scientific_representation MUST remain_linked_to_underlying_value_unit_uncertainty_and_original_notation
  }

  REASONING_RULES {
    IF nonzero_decimal_value_known
      THEN normalize_to
        coefficient*10^exponent
      with_1<=abs(coefficient)<10

    IF coefficient_abs_greater_or_equal_10
      THEN divide_coefficient_by_10
      AND increment_exponent
      repeatedly_until_normalized

    IF coefficient_abs_less_than_1
      AND coefficient_nonzero
      THEN multiply_coefficient_by_10
      AND decrement_exponent
      repeatedly_until_normalized

    IF multiplying_two_scientific_values
      THEN multiply_coefficients
      AND add_exponents
      AND normalize

    IF dividing_two_scientific_values
      AND denominator_coefficient != 0
      THEN divide_coefficients
      AND subtract_exponents
      AND normalize

    IF adding_or_subtracting
      THEN align_exponents_before_combining_coefficients
      AND preserve_guard_digits
      AND normalize_result

    IF converting_exact_SI_prefix
      THEN shift_decimal_exponent_by_prefix_power
      while_preserving_quantity_and_uncertainty

    IF target_significant_figures_known
      THEN round_coefficient
      AND renormalize_if_rounding_crosses_coefficient_boundary

    IF value_and_uncertainty_share_factored_power_of_ten
      THEN scale_both_by_same_power

    IF parsing_E_notation
      THEN interpret_e_or_E_as_base10_exponent_marker
      in_numeric_literal_context

    IF machine_overflow_or_underflow_occurs
      THEN preserve_status
      and_do_not_confuse_machine_limit_with_mathematical_value

    IF plain_decimal_conversion_would_hide_significant_trailing_zeros
      THEN preserve_original_representation_or_explicit_sig_fig_metadata
  }

  VALIDATION {
    CHECK numeric_value
    CHECK coefficient
    CHECK base
    CHECK exponent
    CHECK normalized_condition
    CHECK numeric_equivalence
    CHECK sign
    CHECK zero_semantics
    CHECK significant_figures
    CHECK engineering_notation_exponent
    CHECK SI_prefix_mapping
    CHECK multiplication_division_exponent_rules
    CHECK addition_subtraction_exponent_alignment
    CHECK rounding_and_renormalisation
    CHECK logarithm_domain
    CHECK unit_and_dimension_preservation
    CHECK uncertainty_scaling
    CHECK E_notation_parsing
    CHECK machine_overflow_underflow_and_subnormal_status
    CHECK original_representation
    CHECK provenance
  }

  CONFIDENCE {
    definition_confidence: 1.00
    normalization_confidence: 1.00
    exponent_arithmetic_confidence: 1.00
    significant_figures_confidence: 1.00
    engineering_notation_confidence: 1.00
    unit_scaling_confidence: 1.00
    machine_representation_confidence: 0.99
    uncertainty_reporting_confidence: 0.99

    RULE:
      confidence decreases when original notation, significant figures,
      unit, uncertainty, machine format, rounding policy
      or representation intent is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_numeric_value:
      preserve_original_representation
      parse_numeric_value
      determine_sign
      normalize_coefficient_and_exponent
      infer_explicit_significant_figures_when_possible
      attach_unit_and_uncertainty
      preserve_provenance

    ON formatting_request:
      preserve_underlying_value
      select_scientific_or_engineering_style
      apply_target_significant_figures
      apply_rounding_mode
      renormalize
      generate_output_representation

    ON arithmetic_operation:
      preserve_full_precision_operands
      apply_coefficient_exponent_rule
      normalize_result
      propagate_uncertainty_when_measurement_context
      round_only_at_declared_reporting_stage

    ON unit_prefix_revision:
      preserve_quantity
      adjust_numerical_scale_and_exponent
      preserve_significant_information
      update_unit_representation

    ON uncertainty_revision:
      preserve_value
      update_uncertainty
      align_exponents_for_reporting_when_useful
      regenerate_formatted_representation

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: ScientificNotation
    canonical_form: coefficient_times_ten_to_integer_exponent

    interpretation_order:
      identify_numeric_value
      identify_sign
      identify_coefficient
      identify_base_and_exponent
      identify_normalized_or_engineering_form
      identify_significant_figures
      identify_unit_and_dimension
      identify_uncertainty
      identify_exact_or_measured_context
      identify_machine_or_text_representation
      identify_rounding_and_formatting_policy
      identify_provenance
      validate_numeric_equivalence
      normalize_or_transform_representation

    ambiguity_controls:
      distinguish_scientific_notation_from_physical_quantity
      distinguish_scientific_notation_from_unit
      distinguish_exponent_from_significant_figure_count
      distinguish_scientific_display_digits_from_measurement_precision
      distinguish_scientific_notation_from_measurement_accuracy
      distinguish_binary_floating_point_from_decimal_scientific_notation
      distinguish_SI_prefix_from_numeric_exponent_when_roles_differ
      distinguish_zero_from_nonzero_order_of_magnitude
      preserve_value_coefficient_exponent_sig_fig_unit_uncertainty_machine_format_and_provenance_context
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_units_measurement_mathematics_and_scientific_notation_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> Measurement Mathematics
      -> Scientific Notation Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      representation_model
      decimal_model
      normalized_model
      zero_model
      positive_exponent_model
      negative_exponent_model
      zero_exponent_model
      decimal_shift_model
      expansion_model
      sign_model
      significant_figures_model
      trailing_zero_model
      leading_zero_model
      order_of_magnitude_model
      engineering_notation_model
      SI_prefix_model
      prefix_conversion_model
      E_notation_model
      computer_literal_model
      binary_float_model
      IEEE754_context_model
      decimal_float_model
      arbitrary_precision_model
      multiplication_model
      division_model
      addition_model
      subtraction_model
      power_model
      root_model
      reciprocal_model
      comparison_model
      sorting_model
      logarithm_model
      natural_log_model
      exponential_relation_model
      scale_model
      measurement_value_model
      unit_model
      dimension_model
      uncertainty_model
      common_exponent_uncertainty_model
      parenthetical_model
      exact_value_model
      rounding_model
      guard_digit_model
      overflow_model
      underflow_model
      subnormal_model
      parsing_model
      normalization_algorithm_model
      formatting_model
      engineering_formatting_model
      threshold_formatting_model
      database_model
      serialisation_model
      locale_model
      typography_model
      negative_zero_model
      infinity_model
      NaN_model
      complex_number_model
      uncertainty_preservation_model
      error_distinction_model
      precision_distinction_model
      accuracy_distinction_model
      resolution_distinction_model
      scale_invariance_model
      relationships
      semantic_equivalence
      constraints
      measurement_model
      reasoning_rules
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      normalization_or_exponent_semantics_change
      scientific_or_engineering_notation_changes
      significant_figure_or_rounding_model_changes
      arithmetic_rule_changes
      SI_prefix_or_unit_scaling_changes
      uncertainty_reporting_changes
      parsing_formatting_or_serialisation_changes
      machine_representation_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