Skip to main content

Parsec Ontology

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

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

FLOW ParsecOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> Astronomical Measurements
    -> Parsec Ontology

  PURPOSE:
    Represent the parsec as an astronomical unit of length defined through the geometry of astronomical parallax, including its relationship to the astronomical unit, arcsecond, metre and light-year, decimal multiples such as kiloparsec, megaparsec and gigaparsec, use in stellar, Galactic and cosmological distance representation, parallax-distance reasoning, uncertainty propagation, provenance, and strict distinction between the parsec as a unit and the measurement methods used to infer astronomical distance.

  ENTITY Parsec {
    TYPE: AstronomicalLengthUnit
    SYMBOL: pc
    QUANTITY_KIND: Length
    DIMENSION: L
    SI_UNIT_REFERENCE: metre

    DEFINITION:
      parsec :=
        distance_at_which_one_astronomical_unit
        subtends_an_angle_of_one_arcsecond

    PROPERTIES:
      is_unit_of_length
      is_geometrically_defined
      is_related_to_astronomical_parallax
      is_not_angle
      is_not_time
      may_be_prefixed
  }

  ENTITY AstronomicalUnit {
    TYPE: LengthUnit
    SYMBOL: au
    VALUE:
      149597870700 m
    STATUS:
      exact
  }

  ENTITY Arcsecond {
    TYPE: AngularUnit
    SYMBOL: arcsec

    RELATION:
      1 arcsec =
        pi/(180*3600) rad

    RULE:
      arcsecond_is_angle_not_length
  }

  GEOMETRIC_DEFINITION_MODEL {
    baseline:
      1 au

    angle:
      1 arcsec

    exact_geometric_form:
      1 pc =
        1 au /
        tan(1 arcsec)

    small_angle_form:
      1 pc approximately_equals
        1 au /
        angle_in_radians

    RULE:
      parsec_definition_is_based_on_parallax_geometry
  }

  METRE_CONVERSION_MODEL {
    approximate:
      1 pc approximately_equals
        3.0856775814913673e16 m

    common_rounded:
      3.085677581e16 m

    RULE:
      preserve_precision_of_selected_conversion_constant
  }

  KILOMETRE_CONVERSION_MODEL {
    approximate:
      1 pc approximately_equals
        3.0856775814913673e13 km

    RULE:
      kilometre_conversion_preserves_length_dimension
  }

  LIGHT_YEAR_CONVERSION_MODEL {
    approximate:
      1 pc approximately_equals
        3.261563777 ly

    inverse:
      1 ly approximately_equals
        0.306601394 pc

    RULE:
      conversion_precision SHOULD be preserved
  }

  ASTRONOMICAL_UNIT_CONVERSION_MODEL {
    approximate:
      1 pc approximately_equals
        206264.806 au

    RULE:
      parsec_is_much_larger_than_astronomical_unit
      but_both_are_length_units
  }

  UNIT_SYSTEM {
    canonical_quantity:
      length

    base_astronomical_unit:
      parsec

    symbol:
      pc

    common_multiples:
      kpc
      Mpc
      Gpc

    RULE:
      prefix_case MUST be preserved
  }

  PREFIX_MODEL {
    kiloparsec:
      1 kpc = 10^3 pc

    megaparsec:
      1 Mpc = 10^6 pc

    gigaparsec:
      1 Gpc = 10^9 pc

    RULE:
      SI_decimal_prefix_semantics_apply
  }

  DISTANCE_CONVERSION_MODEL {
    metres_from_parsecs:
      d_m =
        d_pc*pc_in_metres

    parsecs_from_metres:
      d_pc =
        d_m/pc_in_metres

    light_years_from_parsecs:
      d_ly approximately_equals
        d_pc*3.261563777

    parsecs_from_light_years:
      d_pc approximately_equals
        d_ly/3.261563777

    RULE:
      conversion MUST preserve_underlying_distance
  }

  PARALLAX_MODEL {
    standard_relation:
      d_pc =
        1/pi_arcsec
      WHEN pi_arcsec > 0

    inverse:
      pi_arcsec =
        1/d_pc
      WHEN d_pc > 0

    milliarcsecond_form:
      d_pc =
        1000/pi_mas
      WHEN pi_mas > 0

    RULE:
      simple_inverse_relation_assumes_standard_trigonometric_parallax_geometry
  }

  PARALLAX_GEOMETRY_MODEL {
    baseline:
      approximately_one_astronomical_unit_for_annual_stellar_parallax_geometry

    angle:
      parallax_angle

    distance:
      d =
        baseline/tan(parallax_angle)

    small_angle:
      d approximately_equals
        baseline/parallax_angle_radians

    RULE:
      small_angle_approximation_validity SHOULD be preserved
  }

  PARALLAX_UNCERTAINTY_MODEL {
    first_order:
      sigma_d approximately_equals
        sigma_pi/pi^2
      under_compatible_inverse_units
      and_small_relative_uncertainty

    relative:
      sigma_d/d approximately_equals
        sigma_pi/pi

    RULE:
      nonlinear_inverse_transformation_requires_care_at_low_signal_to_noise
  }

  NEGATIVE_PARALLAX_MODEL {
    measured_parallax:
      MAY be_zero_or_negative_due_to_noise_or_estimation

    physical_distance:
      remains_nonnegative

    RULE:
      nonpositive_measured_parallax MUST_NOT be_directly_inverted_to_physical_distance
  }

  BAYESIAN_DISTANCE_MODEL {
    posterior:
      P(d|pi_obs) proportional_to
        P(pi_obs|d)*P(d)

    REQUIRE:
      likelihood
      prior
      zero_point_model
      uncertainty

    RULE:
      posterior_distance_summary MUST preserve_prior_and_statistical_method
  }

  ZERO_POINT_MODEL {
    corrected_parallax:
      pi_corrected =
        pi_observed - pi_zero_point
      under_declared_sign_convention

    RULE:
      astrometric_catalogue_zero_point_correction SHOULD be preserved
  }

  ASTROMETRIC_CONTEXT_MODEL {
    measurements:
      position
      parallax
      proper_motion

    REQUIRE:
      reference_frame
      reference_epoch
      astrometric_solution

    RULE:
      parallax_distance_inference SHOULD preserve_astrometric_solution_context
  }

  STELLAR_DISTANCE_MODEL {
    common_scale:
      parsec
      tens
      hundreds
      thousands_of_parsecs

    RULE:
      parsec_is_common_for_stellar_and_Galactic_distance_reporting
  }

  GALACTIC_SCALE_MODEL {
    common_units:
      parsec
      kiloparsec

    examples_of_quantity_types:
      stellar_distance
      Galactic_radius
      scale_height
      molecular_cloud_size
      cluster_distance

    RULE:
      physical_quantity_type MUST accompany_numeric_parsec_value
  }

  EXTRAGALACTIC_SCALE_MODEL {
    common_units:
      megaparsec
      gigaparsec

    contexts:
      galaxy_distance
      cluster_distance
      cosmological_distance

    RULE:
      cosmological_distance_type MUST be identified
  }

  COSMOLOGICAL_DISTANCE_MODEL {
    possible_types:
      comoving_distance
      proper_distance
      luminosity_distance
      angular_diameter_distance

    reporting:
      may_use_Mpc_or_Gpc

    RULE:
      parsec_based_unit_does_not_define_cosmological_distance_type
  }

  HUBBLE_CONSTANT_MODEL {
    common_unit:
      km/s/Mpc

    dimensional_semantics:
      inverse_time_after_unit_conversion

    RULE:
      Mpc_in_Hubble_constant_is_distance_unit
      and_Hubble_constant_itself_is_not_distance
  }

  DISTANCE_MODULUS_MODEL {
    relation:
      m-M =
        5*log10(d_pc)-5
      under_no_extinction_standard_context

    inverse:
      d_pc =
        10^((m-M+5)/5)

    RULE:
      distance_modulus_is_logarithmic_brightness_distance_relation
      not_parsec_unit
  }

  ANGULAR_SIZE_MODEL {
    small_angle:
      L =
        d*theta
      with_theta_in_radians

    if_distance_in_parsecs:
      physical_size_may_be_derived_with_consistent_units

    RULE:
      angular_size_and_parsec_distance_are_distinct_quantities
  }

  LIGHT_TRAVEL_CONTEXT_MODEL {
    distance_in_parsecs:
      may_be_converted_to_light_years

    light_travel_time:
      approximately_equal_to
        distance_ly years
      only_under_simple_static_vacuum_context

    RULE:
      parsec_distance MUST_NOT automatically_be_interpreted_as_lookback_time
  }

  REDSHIFT_CONTEXT_MODEL {
    redshift:
      dimensionless

    cosmological_model:
      maps_redshift_to_distance

    output:
      distance_may_be_reported_in_Mpc_or_Gpc

    RULE:
      redshift != parsec
      and_redshift != distance
  }

  DIMENSIONAL_MODEL {
    parsec:
      dimension = L

    astronomical_unit:
      dimension = L

    arcsecond:
      dimension = dimensionless_angle

    parallax_relation:
      length/angle_under_geometric_relation -> distance

    RULE:
      parsec_is_length_despite_angle_based_definition
  }

  PRECISION_MODEL {
    unit_definition:
      geometrically_defined

    conversion_display:
      may_be_rounded

    measurement:
      astronomical_distance_has_its_own_uncertainty

    RULE:
      conversion_rounding_and_measurement_uncertainty MUST be_distinguished
  }

  RELATIONSHIPS {
    Parsec -> IS_A -> LengthUnit
    Parsec -> MEASURES -> AstronomicalDistance
    Parsec -> DEFINED_BY -> AstronomicalUnitAndArcsecondGeometry
    Parsec -> CONVERTS_TO -> Metre
    Parsec -> CONVERTS_TO -> LightYear
    Parsec -> CONVERTS_TO -> AstronomicalUnit
    Kiloparsec -> MULTIPLE_OF -> Parsec
    Megaparsec -> MULTIPLE_OF -> Parsec
    Gigaparsec -> MULTIPLE_OF -> Parsec
    Parallax -> MAY_INFER -> DistanceInParsecs
    CosmologicalDistance -> MAY_BE_EXPRESSED_IN -> MegaparsecOrGigaparsec
  }

  SEMANTIC_EQUIVALENCE {
    "pc" ~= parsec WHEN unit_context
    "kpc" ~= kiloparsec
    "Mpc" ~= megaparsec
    "Gpc" ~= gigaparsec

    parsec != parallax
    parsec != arcsecond
    parsec != astronomical_unit
    parsec != light_year
    parsec != time
    parsec != redshift
    megaparsec != cosmological_distance_type
  }

  CONSTRAINTS {
    parsec_dimension = L
    parsec_is_length = true
    parsec_is_angle = false
    parsec_is_time = false
    parallax_angle_unit_must_be_defined = true
    simple_inverse_parallax_requires_positive_parallax = true
    low_signal_parallax_requires_statistical_care = true
    prefix_case_must_be_preserved = true
    cosmological_distance_type_should_be_defined_when_relevant = true
    measured_distance_uncertainty_must_be_preserved = true
  }

  MEASUREMENT_MODEL {
    OBSERVABLE_OR_INFERRED:
      AstronomicalDistance

    REPORTING_UNIT:
      Parsec

    POSSIBLE_METHODS:
      trigonometric_parallax
      standard_candle
      standard_ruler
      orbital_dynamics
      redshift_cosmology
      gravitational_lensing

    RECORD:
      celestial_object
      distance_value
      unit
      distance_type
      measurement_or_inference_method
      parallax_when_relevant
      parallax_unit
      reference_frame
      reference_epoch
      calibration_model
      cosmological_model_when_relevant
      uncertainty
      provenance

    RULE:
      parsec_is_unit_of_reported_distance
      not_measurement_method
  }

  UNCERTAINTY_MODEL {
    unit_conversion:
      rounding_or_constant_representation

    measured_distance:
      parallax_uncertainty
      calibration_uncertainty
      model_uncertainty
      zero_point_uncertainty
      cosmological_parameter_uncertainty

    RULE:
      unit_semantics_and_measurement_uncertainty MUST be_separated
  }

  REASONING_RULES {
    IF parallax_arcsec > 0
      THEN distance_pc =
        1/parallax_arcsec

    IF parallax_mas > 0
      THEN distance_pc =
        1000/parallax_mas

    IF distance_pc > 0
      THEN parallax_arcsec =
        1/distance_pc

    IF distance_in_parsecs_known
      THEN distance_in_metres =
        distance_in_parsecs*pc_in_metres

    IF distance_in_parsecs_known
      THEN distance_in_light_years approximately_equals
        distance_in_parsecs*3.261563777

    IF distance_in_light_years_known
      THEN distance_in_parsecs approximately_equals
        distance_in_light_years/3.261563777

    IF distance_in_kiloparsecs_known
      THEN distance_in_parsecs =
        distance_in_kiloparsecs*1000

    IF distance_in_megaparsecs_known
      THEN distance_in_parsecs =
        distance_in_megaparsecs*1e6

    IF apparent_and_absolute_magnitude_known
      AND no_extinction_or_corrected_context
      THEN distance_pc =
        10^(((apparent_magnitude-absolute_magnitude)+5)/5)

    IF cosmological_distance_known
      THEN MAY express_in_Mpc_or_Gpc
      BUT preserve_distance_type_and_cosmological_model
  }

  VALIDATION {
    CHECK quantity_is_length
    CHECK parsec_symbol_and_prefix_case
    CHECK unit_conversion
    CHECK astronomical_unit_reference
    CHECK arcsecond_definition
    CHECK parallax_unit
    CHECK positive_parallax_for_simple_inverse
    CHECK low_signal_parallax_context
    CHECK reference_frame_and_epoch
    CHECK parsec_vs_parallax
    CHECK parsec_vs_time
    CHECK parsec_vs_light_year
    CHECK redshift_vs_distance
    CHECK cosmological_distance_type
    CHECK measured_distance_uncertainty
  }

  CONFIDENCE {
    definition_confidence: 1.00
    dimensional_confidence: 1.00
    geometric_definition_confidence: 1.00
    metre_conversion_confidence: 0.999999
    light_year_conversion_confidence: 0.999999
    parallax_relation_confidence: 1.00
    astronomical_context_confidence: 0.99

    RULE:
      confidence decreases when unit prefix, parallax unit,
      reference frame, distance type, measurement method,
      statistical model or uncertainty is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_distance_value:
      identify_distance_quantity
      identify_parsec_or_prefixed_unit
      validate_length_semantics
      convert_to_canonical_SI_when_requested
      preserve_original_value_and_unit
      attach_distance_type
      attach_measurement_method
      attach_uncertainty
      update_distance_state

    ON new_parallax:
      identify_parallax_unit
      attach_reference_frame_and_epoch
      apply_zero_point_when_required
      assess_simple_inverse_validity
      infer_distance_using_valid_method
      preserve_parallax_uncertainty

    ON unit_conversion:
      preserve_underlying_distance
      convert_between_pc_kpc_Mpc_Gpc_m_au_and_ly
      preserve_rounding_precision
      preserve_measurement_uncertainty

    ON cosmological_context_update:
      preserve_parsec_based_reporting_unit
      identify_distance_type
      attach_cosmological_model
      avoid_equating_redshift_with_distance

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: Parsec
    canonical_symbol: pc
    canonical_quantity_kind: Length
    canonical_dimension: L

    interpretation_order:
      identify_parsec_as_length_unit
      identify_prefix
      identify_associated_distance_value
      identify_distance_type
      identify_measurement_or_inference_method
      identify_parallax_and_angular_unit_when_relevant
      identify_reference_frame_and_epoch
      identify_cosmological_model_when_relevant
      identify_uncertainty
      convert_units_when_requested
      validate_length_semantics
      preserve_geometric_definition

    ambiguity_controls:
      distinguish_parsec_from_parallax
      distinguish_parsec_from_arcsecond
      distinguish_parsec_from_astronomical_unit
      distinguish_parsec_from_light_year
      distinguish_parsec_from_time
      distinguish_parsec_from_redshift
      distinguish_Mpc_unit_from_cosmological_distance_type
      preserve_unit_prefix_distance_type_method_frame_epoch_model_and_uncertainty_context
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_and_astronomical_parsec_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> Astronomical Measurements
      -> Parsec Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      geometric_definition_model
      metre_conversion_model
      kilometre_conversion_model
      light_year_conversion_model
      astronomical_unit_conversion_model
      unit_system
      prefix_model
      distance_conversion_model
      parallax_model
      parallax_geometry_model
      parallax_uncertainty_model
      negative_parallax_model
      Bayesian_distance_model
      zero_point_model
      astrometric_context_model
      stellar_distance_model
      Galactic_scale_model
      extragalactic_scale_model
      cosmological_distance_model
      Hubble_constant_model
      distance_modulus_model
      angular_size_model
      light_travel_context_model
      redshift_context_model
      dimensional_model
      precision_model
      relationships
      constraints
      measurement_model
      uncertainty_model
      reasoning_rules
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      parsec_definition_changes
      unit_conversion_model_changes
      parallax_or_zero_point_model_changes
      astrometric_reference_model_changes
      astronomical_distance_semantics_change
      cosmological_distance_model_changes
      measurement_uncertainty_semantics_change
      constraint_model_changes
      reasoning_rule_changes
  }

}

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