Skip to main content

Error Propagation Ontology

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

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/measurement-uncertainty/error-propagation-ontology.html

FLOW ErrorPropagationOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> Measurement Uncertainty
    -> Error Propagation Ontology

  PURPOSE:
    Represent the mathematical propagation of measurement errors and, where appropriate, measurement uncertainties through functions, transformations and computational models. The ontology supports first-order differential propagation, covariance and correlation, Jacobian matrix methods, sums, differences, products, quotients, powers, logarithmic and exponential transformations, nonlinear models, Monte Carlo propagation, systematic and random components, unit transformations, chained calculations, sensitivity analysis, uncertainty budgets, provenance, and strict distinctions between propagation of unknown measurement error and propagation of quantified measurement uncertainty.

  ENTITY ErrorPropagation {
    TYPE: MeasurementModelTransformationProcess

    DEFINITION:
      error_propagation :=
        transformation_of_input_error_components
        through_a_measurement_or_computational_model
        to_determine_their_effect_on_output_error

    PROPERTIES:
      depends_on_model
      depends_on_input_error_structure
      may_use_linearisation
      may_include_covariance
      may_be_deterministic_or_probabilistic
      may_be_local_or_global
      must_preserve_provenance
  }

  ENTITY UncertaintyPropagation {
    TYPE: MeasurementUncertaintyTransformationProcess

    DEFINITION:
      propagation_of_probability_distributions_or_standard_uncertainties
      associated_with_input_quantities
      through_measurement_model
      to_output_quantity

    RULE:
      uncertainty_propagation != true_error_propagation
      though_similar_differential_mathematics_may_be_used
  }

  ENTITY MeasurementModel {
    TYPE: MathematicalMapping

    FORM:
      Y =
        f(X_1,X_2,...,X_n)

    ESTIMATE:
      y =
        f(x_1,x_2,...,x_n)
  }

  TERMINOLOGY_MODEL {
    terms:
      error_propagation
      uncertainty_propagation
      propagation_of_uncertainty
      law_of_propagation_of_uncertainty
      sensitivity_analysis
      covariance_propagation
      Monte_Carlo_propagation

    RULE:
      error_and_uncertainty MUST be_distinguished_semantically
  }

  DIFFERENTIAL_ERROR_MODEL {
    small_input_errors:
      delta_x_i

    first_order_output_error:
      delta_y approximately_equals
        sum_i(
          partial_f/partial_x_i
          * delta_x_i
        )

    RULE:
      differential_error_propagation_is_local_linear_approximation
  }

  SENSITIVITY_COEFFICIENT_MODEL {
    coefficient:
      c_i =
        partial_f/partial_X_i

    evaluated_at:
      input_estimates

    output_effect:
      delta_y_i approximately_equals
        c_i*delta_x_i

    RULE:
      sensitivity_coefficient_sign_matters_for_error_direction
  }

  JACOBIAN_MODEL {
    vector_output:
      Y =
        f(X)

    Jacobian:
      J_ij =
        partial_f_i/partial_X_j

    first_order_error:
      delta_Y approximately_equals
        J*delta_X

    RULE:
      Jacobian_dimensions_and_variable_order MUST be preserved
  }

  COVARIANCE_PROPAGATION_MODEL {
    input_covariance:
      Sigma_X

    first_order_output_covariance:
      Sigma_Y =
        J*Sigma_X*J_transpose

    scalar_output:
      u_y^2 =
        J*Sigma_X*J_transpose

    RULE:
      covariance_terms MUST be preserved
  }

  CORRELATION_MODEL {
    covariance:
      cov(X_i,X_j)

    correlation:
      rho_ij =
        cov(X_i,X_j)/
        (u_i*u_j)
      WHEN u_i != 0 AND u_j != 0

    RULE:
      assuming_independence_when_inputs_share_sources_can_under_or_overestimate_output_uncertainty
  }

  INDEPENDENT_INPUT_MODEL {
    condition:
      cov(X_i,X_j)=0
      for_i_not_equal_j

    scalar:
      u_y =
        sqrt(
          sum_i(c_i^2*u_i^2)
        )

    RULE:
      independence_or_zero_covariance MUST be justified
  }

  SUM_MODEL {
    Y =
      A+B

    deterministic_error:
      delta_Y =
        delta_A+delta_B

    independent_standard_uncertainty:
      u_Y =
        sqrt(u_A^2+u_B^2)

    correlated:
      u_Y^2 =
        u_A^2+u_B^2+2cov(A,B)

    RULE:
      arithmetic_error_addition_and_RSS_uncertainty_combination_are_distinct
  }

  DIFFERENCE_MODEL {
    Y =
      A-B

    deterministic_error:
      delta_Y =
        delta_A-delta_B

    uncertainty:
      u_Y^2 =
        u_A^2+u_B^2-2cov(A,B)

    RULE:
      common_mode_uncertainty_may_cancel_in_difference
  }

  PRODUCT_MODEL {
    Y =
      A*B

    differential:
      delta_Y approximately_equals
        B*delta_A+A*delta_B

    relative:
      delta_Y/Y approximately_equals
        delta_A/A+delta_B/B
      WHEN A != 0 AND B != 0

    independent_standard_relative_uncertainty:
      (u_Y/Y)^2 approximately_equals
        (u_A/A)^2+(u_B/B)^2

    RULE:
      relative_RSS_form_is_first_order_and_requires_appropriate_independence
  }

  QUOTIENT_MODEL {
    Y =
      A/B

    REQUIRE:
      B != 0

    differential_relative:
      delta_Y/Y approximately_equals
        delta_A/A-delta_B/B

    independent_standard_relative_uncertainty:
      (u_Y/Y)^2 approximately_equals
        (u_A/A)^2+(u_B/B)^2

    RULE:
      denominator_near_zero_can_make_linearisation_invalid
  }

  POWER_MODEL {
    Y =
      A^n

    differential:
      delta_Y/Y approximately_equals
        n*delta_A/A

    standard_relative:
      u_Y/abs(Y) approximately_equals
        abs(n)*u_A/abs(A)

    REQUIRE:
      A != 0
      valid_real_domain
  }

  GENERAL_PRODUCT_POWER_MODEL {
    Y =
      C*product_i(X_i^a_i)

    relative_differential:
      delta_Y/Y approximately_equals
        sum_i(a_i*delta_X_i/X_i)

    independent_standard:
      (u_Y/Y)^2 approximately_equals
        sum_i(
          a_i^2*(u_i/X_i)^2
        )

    RULE:
      correlations_require_cross_terms
  }

  LOGARITHM_MODEL {
    natural:
      Y =
        ln(X)

    sensitivity:
      dY/dX =
        1/X

    uncertainty:
      u_Y approximately_equals
        u_X/abs(X)

    REQUIRE:
      X > 0
  }

  LOG10_MODEL {
    Y =
      log10(X)

    sensitivity:
      1/(X*ln(10))

    uncertainty:
      u_Y approximately_equals
        u_X/(abs(X)*ln(10))

    REQUIRE:
      X > 0
  }

  EXPONENTIAL_MODEL {
    Y =
      exp(X)

    sensitivity:
      dY/dX =
        exp(X)=Y

    relative_uncertainty:
      u_Y/abs(Y) approximately_equals
        u_X

    RULE:
      input_X_is_dimensionless_for_pure_exponential_argument
  }

  TRIGONOMETRIC_MODEL {
    Y =
      sin(X)

    sensitivity:
      cos(X)

    RULE:
      angular_input MUST be_in_radians_for_standard_derivative_form

    Y_cos =
      cos(X)

    sensitivity_cos:
      -sin(X)
  }

  INVERSE_TRIG_MODEL {
    example:
      Y =
        atan(X)

    sensitivity:
      1/(1+X^2)

    RULE:
      domain_and_unit_semantics MUST be preserved
  }

  UNIT_CONVERSION_MODEL {
    exact_linear:
      Y =
        a*X

    error:
      delta_Y =
        a*delta_X

    uncertainty:
      u_Y =
        abs(a)*u_X

    exact_affine:
      Y =
        a*X+b

    uncertainty_if_a_b_exact:
      u_Y =
        abs(a)*u_X

    RULE:
      exact_offset_does_not_add_uncertainty
  }

  UNCERTAIN_CONSTANT_MODEL {
    Y =
      a*X

    IF a_uncertain:
      a_is_input_quantity

    then:
      propagate_u_a_and_covariance

    RULE:
      uncertain_physical_or_calibration_constants MUST_NOT be_treated_as_exact
  }

  REPEATED_VARIABLE_MODEL {
    example:
      Y =
        X-X

    naive_independent:
      would_be_wrong

    exact:
      Y = 0

    covariance:
      full_correlation_cancels_uncertainty

    RULE:
      repeated_use_of_same_input MUST preserve_dependency
  }

  COMMON_REFERENCE_MODEL {
    measurements:
      A
      B

    shared_reference:
      R

    consequence:
      correlated_uncertainty

    RULE:
      shared_calibration_or_reference MUST generate_covariance_link_when_material
  }

  CHAIN_PROPAGATION_MODEL {
    stage_1:
      Z =
        f(X)

    stage_2:
      Y =
        g(Z)

    derivative:
      dY/dX =
        dY/dZ*dZ/dX

    RULE:
      intermediate_covariances MUST be_preserved
      and_double_counting_avoided
  }

  COMPUTATIONAL_GRAPH_MODEL {
    nodes:
      input_quantities
      intermediate_quantities
      output_quantities

    edges:
      functional_dependencies

    propagation:
      automatic_differentiation_or_symbolic_Jacobian

    RULE:
      identical_source_nodes MUST remain_shared_not_duplicated_as_independent_inputs
  }

  LINEARISATION_MODEL {
    Taylor_first_order:
      f(X) approximately_equals
        f(x)+J*(X-x)

    validity:
      small_input_dispersion
      smooth_model
      no_strong_boundary_effect

    RULE:
      linearisation_error SHOULD be_assessed_when_model_is_nonlinear
  }

  SECOND_ORDER_MODEL {
    Taylor:
      includes_Hessian_terms

    possible_effects:
      output_mean_shift
      variance_correction
      asymmetry

    RULE:
      second_order_terms MAY be_needed_for_large_uncertainty_or_curvature
  }

  HESSIAN_MODEL {
    H_ij =
      partial^2_f/
      partial_X_i_partial_X_j

    RULE:
      Hessian_order_and_units MUST match_model_variables
  }

  NONLINEAR_MODEL {
    risks:
      skewed_output
      bounded_output
      multimodal_output
      singularity
      nonmonotonic_mapping

    alternatives:
      Monte_Carlo
      unscented_transform
      numerical_quadrature
      Bayesian_propagation

    RULE:
      nonlinear_output_distribution SHOULD not_be_forced_into_symmetric_normal_uncertainty
  }

  MONTE_CARLO_MODEL {
    inputs:
      joint_distribution_p_X

    algorithm:
      sample X^(k)
      compute Y^(k)=f(X^(k))
      repeat k=1...N

    outputs:
      mean_or_estimate
      standard_deviation
      quantiles
      coverage_interval
      covariance

    RULE:
      input_dependence_and_distribution_shapes MUST be_preserved
  }

  MONTE_CARLO_CONVERGENCE_MODEL {
    checks:
      sample_size
      repeated_runs
      quantile_stability
      standard_error_of_simulation

    RULE:
      Monte_Carlo_sampling_error SHOULD be_small_relative_to_reported_uncertainty_precision
  }

  CORRELATED_SAMPLING_MODEL {
    methods:
      multivariate_normal
      copula
      Cholesky_factorisation
      direct_joint_model

    RULE:
      independent_sampling_of_correlated_inputs_is_invalid
  }

  ASYMMETRIC_MODEL {
    input:
      asymmetric_distribution

    output:
      may_be_asymmetric

    reporting:
      lower_upper_uncertainty
      quantile_interval

    RULE:
      asymmetric_uncertainty SHOULD preserve_directional_bounds
  }

  BOUNDED_MODEL {
    examples:
      probability_between_0_and_1
      concentration_nonnegative
      angle_domain

    RULE:
      propagation_method MUST respect_physical_or_mathematical_bounds
  }

  RATIO_SINGULARITY_MODEL {
    denominator:
      approaches_zero

    consequence:
      heavy_tails
      undefined_moments
      disconnected_intervals

    RULE:
      first_order_ratio_propagation_is_unreliable_near_zero_denominator
  }

  ERROR_BOUND_MODEL {
    deterministic_bounds:
      abs(delta_X_i) <= b_i

    worst_case_first_order:
      abs(delta_Y) <=
        sum_i(
          abs(c_i)*b_i
        )

    RULE:
      worst_case_error_bounds != standard_uncertainty
  }

  INTERVAL_ARITHMETIC_MODEL {
    inputs:
      X_i in [L_i,U_i]

    propagation:
      interval_operations

    RULE:
      dependency_problem_can_overestimate_bounds_when_same_variable_repeated
  }

  SYSTEMATIC_ERROR_MODEL {
    estimated_systematic_components:
      propagate_with_sign_through_model

    example:
      delta_y_systematic approximately_equals
        sum_i(c_i*delta_x_i_systematic)

    RULE:
      systematic_error_correction_and_uncertainty_of_correction MUST be_distinguished
  }

  RANDOM_ERROR_MODEL {
    random_components:
      characterised_by_distribution_or_covariance

    propagation:
      covariance_method_or_sampling

    RULE:
      random_and_systematic_semantics MUST remain_separate_even_if_combined_in_total_model
  }

  BIAS_PROPAGATION_MODEL {
    input_bias:
      b_X

    first_order_output_bias:
      b_Y approximately_equals
        J*b_X

    RULE:
      nonlinear_models_can_create_additional_bias_from_curvature
  }

  CORRECTION_PROPAGATION_MODEL {
    corrected_input:
      X_corr =
        X+C

    uncertainty:
      includes_u(C)
      and_covariance

    RULE:
      correction_value_propagates_deterministically
      while_correction_uncertainty_propagates_probabilistically
  }

  CALIBRATION_MODEL {
    calibration_parameters:
      theta

    output:
      y =
        f(x,theta)

    RULE:
      calibration_parameter_covariance MUST be included_when_material
  }

  REGRESSION_PARAMETER_MODEL {
    fitted_parameters:
      beta

    covariance:
      Sigma_beta

    prediction:
      y =
        f(x,beta)

    parameter_uncertainty:
      J_beta*Sigma_beta*J_beta_transpose

    RULE:
      parameter_covariance_must_not_be_replaced_by_independent_standard_errors
  }

  MEASUREMENT_UNCERTAINTY_MODEL {
    standard_uncertainties:
      u(x_i)

    combined:
      u_c(y)

    first_order:
      u_c^2(y) =
        sum_i sum_j(
          c_i*c_j*u(x_i,x_j)
        )

    RULE:
      this_is_uncertainty_propagation_not_direct_observation_of_error
  }

  RELATIVE_UNCERTAINTY_MODEL {
    output_relative:
      u_r(y) =
        u(y)/abs(y)
      WHEN y != 0

    RULE:
      relative_uncertainty_can_be_misleading_near_zero
  }

  UNCERTAINTY_BUDGET_MODEL {
    each_input:
      estimate
      unit
      standard_uncertainty
      distribution
      sensitivity_coefficient
      contribution
      covariance_links
      provenance

    output:
      combined_standard_uncertainty

    RULE:
      budget MUST avoid_double_counting_correlated_or_shared_sources
  }

  SENSITIVITY_RANKING_MODEL {
    local_contribution:
      c_i^2*u_i^2
      for_uncorrelated_inputs

    RULE:
      covariance_can_make_simple_component_ranking_incomplete
  }

  DIMENSIONAL_MODEL {
    sensitivity_coefficient:
      output_unit/input_unit

    covariance:
      unit_i*unit_j

    output_variance:
      output_unit_squared

    RULE:
      dimensional_consistency MUST hold_through_propagation
  }

  NUMERICAL_DERIVATIVE_MODEL {
    finite_difference:
      c_i approximately_equals
        [f(x+h_i)-f(x-h_i)]/(2*h_i)

    RULE:
      step_size_must_balance_truncation_and_roundoff_error
  }

  AUTOMATIC_DIFFERENTIATION_MODEL {
    derivative:
      computed_through_computational_graph

    RULE:
      AD_can_improve_derivative_accuracy_but_does_not_validate_measurement_model
  }

  SYMBOLIC_DIFFERENTIATION_MODEL {
    derivative:
      exact_expression_when_available

    RULE:
      symbolic_expression_domain_and_singularities MUST be_checked
  }

  NUMERICAL_UNCERTAINTY_MODEL {
    sources:
      floating_point
      solver_tolerance
      discretisation
      interpolation
      numerical_integration

    RULE:
      numerical_uncertainty MAY need_propagation_as_additional_input
  }

  VALIDATION_MODEL {
    methods:
      compare_linear_vs_Monte_Carlo
      perturb_inputs
      benchmark_known_solution
      dimensional_check
      simulation
      sensitivity_check

    RULE:
      propagation_result SHOULD be_validated_when_model_is_complex_or_highly_nonlinear
  }

  RELATIONSHIPS {
    ErrorPropagation -> USES -> MeasurementModel
    MeasurementModel -> MAPS -> InputQuantitiesToOutputQuantity
    SensitivityCoefficient -> MAPS -> InputErrorToOutputEffect
    Jacobian -> PROPAGATES -> ErrorVector
    Jacobian -> PROPAGATES -> CovarianceMatrix
    Covariance -> REPRESENTS -> InputDependence
    MonteCarloMethod -> PROPAGATES -> InputDistributionToOutputDistribution
    CalibrationParameter -> CONTRIBUTES_TO -> OutputUncertainty
    SystematicError -> PROPAGATES_THROUGH -> MeasurementModel
    RandomError -> PROPAGATES_THROUGH -> MeasurementModel
    UncertaintyBudget -> RECORDS -> PropagationContributions
  }

  SEMANTIC_EQUIVALENCE {
    "propagation of uncertainty" ~= uncertainty_propagation
    "law of propagation of uncertainty" ~= first_order_covariance_uncertainty_propagation WHEN GUM_style_context

    error_propagation != measurement_uncertainty
    error_propagation != uncertainty_propagation_semantically
    deterministic_error_bound != standard_uncertainty
    worst_case_bound != confidence_interval
    sensitivity_coefficient != uncertainty_contribution
    covariance != correlation
    random_error != standard_uncertainty
    systematic_error != bias_uncertainty
  }

  CONSTRAINTS {
    measurement_model_must_be_defined = true
    input_quantities_must_be_identified = true
    variable_dependencies_must_be_preserved = true
    covariance_must_be_included_when_material = true
    first_order_propagation_requires_local_linearity = true
    denominator_and_domain_singularities_must_be_checked = true
    exact_and_uncertain_constants_must_be_distinguished = true
    error_and_uncertainty_propagation_are_not_semantically_equivalent = true
    repeated_source_variables_must_not_be_treated_as_independent = true
    output_units_must_be_dimensionally_consistent = true
    nonlinear_models_should_preserve_distribution_shape_when_material = true
  }

  MEASUREMENT_MODEL {
    RECORD:
      output_quantity
      output_unit
      model_expression
      input_quantities
      input_values
      input_units
      input_errors_when_known_or_modelled
      standard_uncertainties
      probability_distributions
      covariance_matrix
      correlation_matrix
      sensitivity_coefficients
      Jacobian
      Hessian_when_used
      calibration_parameters
      corrections
      systematic_components
      random_components
      propagation_method
      Monte_Carlo_configuration
      numerical_method
      output_covariance
      combined_standard_uncertainty
      coverage_interval_when_requested
      validation_results
      provenance

    RULE:
      propagation_result MUST remain_linked_to_model_inputs_dependencies_and_method
  }

  REASONING_RULES {
    IF scalar_model_and_small_input_errors_known
      THEN output_error approximately_equals
        sum(sensitivity_i*input_error_i)

    IF Jacobian_and_input_covariance_known
      THEN output_covariance =
        Jacobian*input_covariance*transpose(Jacobian)

    IF inputs_uncorrelated
      THEN output_variance =
        sum(sensitivity_i^2*input_variance_i)

    IF output_is_sum
      THEN deterministic_errors_add_with_sign
      AND uncertainty_variance_includes_covariance

    IF output_is_difference
      THEN common_correlated_components_may_cancel

    IF output_is_product_or_quotient
      AND relative_uncertainties_small
      THEN MAY use_relative_first_order_propagation

    IF output_is_power
      THEN relative_sensitivity =
        exponent

    IF exact_unit_conversion
      THEN propagate_by_exact_scale_factor
      without_adding_false_uncertainty

    IF same_input_appears_multiple_times
      THEN preserve_identity_and_full_dependency

    IF model_is_strongly_nonlinear
      OR output_is_bounded_skewed_or_near_singularity
      THEN prefer_distribution_propagation_or_Monte_Carlo

    IF systematic_bias_vector_known
      THEN first_order_output_bias =
        Jacobian*input_bias_vector

    IF correction_uncertainty_known
      THEN include_as_input_uncertainty_with_covariance

    IF calibration_parameter_covariance_known
      THEN propagate_full_parameter_covariance

    IF Monte_Carlo_used
      THEN verify_sampling_convergence_before_reporting_quantiles
  }

  VALIDATION {
    CHECK measurement_model
    CHECK input_and_output_units
    CHECK input_identity
    CHECK sensitivity_coefficients
    CHECK Jacobian_variable_order
    CHECK covariance_matrix
    CHECK correlation_assumptions
    CHECK exact_vs_uncertain_constants
    CHECK sum_difference_signs
    CHECK product_quotient_domains
    CHECK logarithm_and_power_domains
    CHECK angular_units_for_trigonometric_derivatives
    CHECK repeated_variable_dependencies
    CHECK linearisation_validity
    CHECK nonlinear_or_singularity_risk
    CHECK Monte_Carlo_input_distributions
    CHECK correlated_sampling
    CHECK systematic_vs_random_components
    CHECK correction_uncertainty
    CHECK calibration_parameter_covariance
    CHECK dimensional_consistency
    CHECK numerical_derivative_stability
    CHECK output_distribution_or_uncertainty
    CHECK validation_results
    CHECK provenance
  }

  CONFIDENCE {
    definition_confidence: 1.00
    differential_propagation_confidence: 1.00
    covariance_propagation_confidence: 1.00
    Jacobian_model_confidence: 1.00
    elementary_function_confidence: 1.00
    error_uncertainty_distinction_confidence: 1.00
    Monte_Carlo_semantics_confidence: 0.99
    nonlinear_model_confidence: 0.98

    RULE:
      confidence decreases when model expression, variable identity,
      covariance, domain, nonlinearity, calibration parameters,
      distribution assumptions, numerical method or provenance is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_input_measurement:
      identify_input_quantity
      update_value_unit_error_or_uncertainty
      preserve_distribution_and_covariance_links
      recompute_output
      recompute_propagated_error_or_uncertainty
      preserve_provenance

    ON measurement_model_revision:
      preserve_previous_model
      update_function_and_dependency_graph
      recompute_symbolic_or_numeric_sensitivities
      reassess_linearisation
      recompute_propagation
      update_confidence

    ON covariance_revision:
      preserve_marginal_input_uncertainties
      update_covariance_matrix
      validate_positive_semidefinite_structure
      recompute_output_covariance

    ON calibration_revision:
      preserve_raw_inputs
      update_calibration_parameters_and_covariance
      recompute_corrected_inputs_and_output
      update_propagated_uncertainty

    ON propagation_method_revision:
      preserve_model_and_inputs
      compare_first_order_second_order_or_Monte_Carlo_result
      record_method_selection_reason
      update_output_distribution

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: ErrorPropagation
    canonical_related_entity: UncertaintyPropagation

    interpretation_order:
      identify_output_quantity
      identify_measurement_model
      identify_input_quantities_and_units
      identify_input_error_or_uncertainty_semantics
      identify_variable_dependencies
      identify_covariance_and_correlation
      identify_sensitivity_coefficients_or_Jacobian
      identify_systematic_random_and_correction_components
      identify_calibration_parameters
      identify_linear_or_nonlinear_context
      identify_propagation_method
      identify_Monte_Carlo_or_numerical_configuration
      identify_output_distribution_or_covariance
      identify_validation
      identify_provenance
      validate_dimensional_and_semantic_consistency
      propagate_model

    ambiguity_controls:
      distinguish_error_propagation_from_uncertainty_propagation
      distinguish_deterministic_error_from_standard_uncertainty
      distinguish_worst_case_bound_from_probabilistic_interval
      distinguish_sensitivity_coefficient_from_uncertainty_contribution
      distinguish_covariance_from_correlation
      distinguish_random_error_from_standard_uncertainty
      distinguish_systematic_error_from_uncertainty_of_systematic_correction
      distinguish_exact_constants_from_uncertain_parameters
      preserve_model_variable_identity_dependency_distribution_calibration_method_and_provenance_context
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_uncertainty_and_error_propagation_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> Measurement Uncertainty
      -> Error Propagation Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      terminology_model
      differential_error_model
      sensitivity_coefficient_model
      Jacobian_model
      covariance_propagation_model
      correlation_model
      independent_input_model
      sum_model
      difference_model
      product_model
      quotient_model
      power_model
      general_product_power_model
      logarithm_model
      log10_model
      exponential_model
      trigonometric_model
      inverse_trig_model
      unit_conversion_model
      uncertain_constant_model
      repeated_variable_model
      common_reference_model
      chain_propagation_model
      computational_graph_model
      linearisation_model
      second_order_model
      Hessian_model
      nonlinear_model
      Monte_Carlo_model
      Monte_Carlo_convergence_model
      correlated_sampling_model
      asymmetric_model
      bounded_model
      ratio_singularity_model
      error_bound_model
      interval_arithmetic_model
      systematic_error_model
      random_error_model
      bias_propagation_model
      correction_propagation_model
      calibration_model
      regression_parameter_model
      measurement_uncertainty_model
      relative_uncertainty_model
      uncertainty_budget_model
      sensitivity_ranking_model
      dimensional_model
      numerical_derivative_model
      automatic_differentiation_model
      symbolic_differentiation_model
      numerical_uncertainty_model
      validation_model
      relationships
      constraints
      measurement_model
      reasoning_rules
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      measurement_model_or_dependency_graph_changes
      input_error_or_uncertainty_semantics_change
      sensitivity_Jacobian_or_Hessian_changes
      covariance_or_correlation_changes
      elementary_transformation_model_changes
      linearisation_or_nonlinear_method_changes
      Monte_Carlo_configuration_changes
      calibration_or_correction_model_changes
      systematic_or_random_component_changes
      numerical_method_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