Skip to main content

Momentum Ontology

Mechanical Measurements
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 15 September 2026
Audio Overview
# Momentum Ontology — Flow Algebra

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/mechanical-measurements/momentum-ontology.html

FLOW MomentumOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> Mechanical Measurements
    -> Momentum Ontology

  PURPOSE:
    Represent linear momentum as a measurable vector quantity describing the motion state of an object or system as the product of mass and velocity, including magnitude, direction, units, dimensional structure, reference frames, conservation laws, impulse relationships, measurement conditions, uncertainty, and interactions with force.

  ENTITY Momentum {
    TYPE: DerivedPhysicalQuantity
    SYMBOL: p
    DIMENSION: M * L * T^-1
    SI_UNIT: kilogram_metre_per_second
    SI_SYMBOL: kg*m/s

    DEFINITION:
      momentum := Mass * Velocity

    VECTOR_FORM:
      p = m*v

    COMPONENT_FORM:
      p = (p_x, p_y, p_z)

    PROPERTIES:
      has_magnitude
      has_direction
      has_unit
      has_dimension
      has_reference_frame
      may_be_conserved
      may_be_transferred
      may_change_under_net_force
      may_have_uncertainty
  }

  ENTITY Mass {
    TYPE: BasePhysicalQuantity
    SYMBOL: m
    DIMENSION: M
    SI_UNIT: kilogram
    SI_SYMBOL: kg
    RELATION:
      Mass * Velocity -> Momentum
  }

  ENTITY Velocity {
    TYPE: DerivedPhysicalQuantity
    SYMBOL: v
    DIMENSION: L * T^-1
    SI_UNIT: metre_per_second
    SI_SYMBOL: m/s
    RELATION:
      Mass * Velocity -> Momentum
  }

  ENTITY Force {
    TYPE: DerivedPhysicalQuantity
    SYMBOL: F
    DIMENSION: M * L * T^-2

    RELATION:
      net_force = rate_of_change(Momentum, Time)

    FORM:
      F = dp/dt
  }

  ENTITY Impulse {
    TYPE: DerivedMechanicalQuantity
    SYMBOL: J
    DIMENSION: M * L * T^-1

    DEFINITION:
      impulse := integral(Force, Time)

    RELATION:
      Impulse = change_in(Momentum)

    FORM:
      J = delta_p
  }

  ENTITY Time {
    TYPE: BasePhysicalQuantity
    SYMBOL: t
    DIMENSION: T
    SI_UNIT: second
    SI_SYMBOL: s
  }

  UNIT_SYSTEM {
    SI {
      canonical_unit: kilogram_metre_per_second
      symbol: kg*m/s
      equivalence:
        1 kg*m/s = 1 N*s
    }

    COMMON_ALTERNATIVES {
      gram_centimetre_per_second
      pound_foot_per_second
      newton_second
    }

    CONVERSION_RULE:
      momentum_value(target_unit)
        = momentum_value(source_unit)
        * conversion_factor(source_unit, target_unit)
  }

  CLASSIFICATION {
    primary:
      linear_momentum

    by_system:
      particle_momentum
      object_momentum
      system_momentum
      total_momentum
      centre_of_mass_momentum

    by_state:
      initial_momentum
      final_momentum
      transferred_momentum
      conserved_momentum

    related_but_distinct:
      angular_momentum
  }

  RELATIONSHIPS {
    Momentum -> PRODUCT_OF -> Mass
    Momentum -> PRODUCT_OF -> Velocity
    Momentum -> HAS_DIMENSION -> M*L*T^-1
    Momentum -> MEASURED_IN -> kilogram_metre_per_second
    Momentum -> VECTOR_DIRECTION -> VelocityDirection
    Force -> RATE_OF_CHANGE_OF -> Momentum
    Impulse -> EQUALS -> ChangeInMomentum
    IsolatedSystem -> CONSERVES -> TotalMomentum
    Collision -> REDISTRIBUTES -> Momentum
    Interaction -> MAY_TRANSFER -> Momentum
  }

  SEMANTIC_EQUIVALENCE {
    "linear momentum" ~= momentum
    "quantity of motion" ~= momentum
    "kg m/s" ~= "kg*m/s"
    "newton second" ~= "N*s"
    "impulse" ~= "change in momentum" WHEN impulse_momentum_context
    momentum != force
    momentum != velocity
    linear_momentum != angular_momentum
  }

  CONSERVATION_MODEL {
    PRINCIPLE:
      IF system_is_isolated
      AND net_external_force = 0
      THEN total_momentum_before = total_momentum_after

    MULTI_BODY_SYSTEM:
      total_momentum = sum(individual_momenta)

    COLLISION:
      total_initial_momentum = total_final_momentum
      WHEN net_external_impulse = 0

    EXPLOSION_OR_SEPARATION:
      total_momentum_before = total_momentum_after
      WHEN external_impulse_is_negligible
  }

  CONSTRAINTS {
    momentum_is_vector_quantity = true
    dimensional_formula = M*L*T^-1
    momentum_direction_follows_velocity_for_positive_mass = true
    zero_velocity_implies_zero_linear_momentum = true
    nonzero_mass_required_for_standard_mass_velocity_relation = true
    momentum_is_reference_frame_dependent = true
    total_momentum_conservation_requires_closed_or_effectively_isolated_system = true
    momentum_and_kinetic_energy_are_not_semantically_equivalent = true
  }

  MEASUREMENT_MODEL {
    OBSERVABLE:
      Momentum

    INDIRECT_MEASUREMENT:
      mass_times_velocity
      impulse_from_force_time_data
      collision_kinematics

    RECORD:
      numerical_value
      unit
      vector_components
      mass
      velocity
      timestamp
      reference_frame
      measurement_method
      instrument
      calibration_state
      uncertainty

    UNCERTAINTY:
      momentum_uncertainty depends_on mass_uncertainty AND velocity_uncertainty
  }

  REASONING_RULES {
    IF mass_known AND velocity_known
      THEN momentum = mass * velocity

    IF momentum_known AND mass_known AND mass != 0
      THEN velocity = momentum / mass

    IF momentum_known AND velocity_known AND velocity != 0
      THEN mass = momentum / velocity
      SUBJECT_TO vector_and_scalar_consistency

    IF net_force_known_as_function_of_time
      THEN momentum_change = integral(net_force, time)

    IF impulse_known
      THEN final_momentum = initial_momentum + impulse

    IF net_external_force = 0
      THEN total_system_momentum_is_constant

    IF collision_system_is_isolated
      THEN sum(momentum_before) = sum(momentum_after)

    IF velocity_direction_reverses
      THEN momentum_direction_reverses
      WHEN mass_remains_positive
  }

  VECTOR_MODEL {
    momentum_vector:
      p = (p_x, p_y, p_z)

    components:
      p_x = m*v_x
      p_y = m*v_y
      p_z = m*v_z

    magnitude:
      |p| = sqrt(p_x^2 + p_y^2 + p_z^2)

    total_system_momentum:
      P_total = vector_sum(p_i)
  }

  REFERENCE_FRAME_MODEL {
    momentum_description REQUIRES reference_frame_for_unambiguous_state

    transformation:
      velocity_change_between_frames
      -> momentum_change_between_frames

    RULE:
      momentum_values_from_different_reference_frames
      MUST_NOT be combined without transformation_to_common_frame
  }

  FORCE_MOMENTUM_MODEL {
    GENERAL_RELATION:
      F_net = dp/dt

    CONSTANT_MASS_CASE:
      F_net = m*a

    VARIABLE_MASS_CASE:
      USE full_momentum_derivative
      NOT automatically F = m*a without system_definition_and_mass_flow_analysis
  }

  IMPULSE_MODEL {
    impulse:
      J = integral(F, dt)

    constant_force_case:
      J = F * delta_t

    impulse_momentum_theorem:
      J = delta_p
  }

  CONFIDENCE {
    definition_confidence: 1.00
    dimensional_confidence: 1.00
    SI_unit_confidence: 1.00
    conservation_relationship_confidence: 1.00
    measurement_context_confidence: 0.98

    RULE:
      confidence decreases when mass, velocity, unit, reference frame,
      system boundary, external forces or uncertainty are missing or ambiguous
  }

  VALIDATION {
    CHECK dimensional_consistency
    CHECK unit_consistency
    CHECK vector_direction_consistency
    CHECK reference_frame_consistency
    CHECK system_boundary_definition
    CHECK external_force_or_impulse_conditions_before_conservation_inference
    CHECK instrument_calibration_when_measured
    CHECK uncertainty_representation_when_required
  }

  UPDATE_MODEL {
    ON new_measurement:
      validate_mass
      validate_velocity
      validate_unit
      normalize_to_canonical_unit
      preserve_original_value_and_unit
      attach_timestamp
      attach_reference_frame
      attach_uncertainty
      update_momentum_state

    ON interaction_event:
      record_initial_momentum
      record_impulse_or_force_history
      calculate_final_momentum
      test_conservation_conditions
      preserve_event_provenance

    ON revised_calibration:
      preserve_provenance
      recompute_affected_measurements
      update_confidence

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: Momentum
    canonical_symbol: p
    canonical_dimension: M*L*T^-1
    canonical_SI_unit: kg*m/s

    interpretation_order:
      identify_quantity
      identify_mass
      identify_velocity
      identify_value
      identify_unit
      identify_vector_direction_or_components
      identify_reference_frame
      identify_system_boundary
      identify_force_or_impulse_context
      identify_uncertainty
      validate_dimensions
      infer_conservation_relationships

    ambiguity_controls:
      distinguish_momentum_from_velocity
      distinguish_momentum_from_force
      distinguish_momentum_from_kinetic_energy
      distinguish_linear_from_angular_momentum
      distinguish_object_from_total_system_momentum
      distinguish_internal_from_external_interactions
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_and_mechanical_quantity_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> Mechanical Measurements
      -> Momentum Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      definitions
      dimensions
      units
      relationships
      constraints
      conservation_model
      reasoning_rules
      measurement_model
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      relationship_model_changes
      conservation_model_changes
      constraint_model_changes
      reasoning_rule_changes
      unit_model_changes
  }

}

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