Skip to main content

Disjunction Ontology

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

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/propositional-logic/disjunction-ontology.html

FLOW DisjunctionOntology {

  DOMAIN:
    AI Core
    -> Ontologies
    -> Mathematical Ontologies
    -> Mathematical Logic Ontologies
    -> Propositional Logic
    -> Disjunction Ontology

  PURPOSE:
    Represent logical disjunction as a machine-interpretable binary logical connective combining two propositions or formulas into a compound formula that is true, under classical propositional semantics, when at least one operand is true. The ontology models disjunction identity, notation, operands, arity, precedence, associativity, scope, inclusive and exclusive interpretations, truth functions, truth tables, Boolean algebra, proof rules, algebraic equivalences, normal forms, clauses, SAT reasoning, resolution, circuit mappings, natural-language formalisation, non-classical variants, ambiguity, validation, versioning and provenance. It enables AI systems to distinguish inclusive OR from exclusive OR, natural-language alternatives, set union, probability addition, programming operators and nondeterministic choice while preserving the exact semantics of the declared logical system.

  ENTITY Disjunction {
    TYPE: BinaryLogicalConnective

    PROPERTIES:
      has_identifier
      has_left_operand
      has_right_operand
      has_symbol
      has_arity
      has_truth_function
      has_precedence
      has_associativity
      belongs_to_logic_system
      may_have_inference_rules
      may_have_equivalent_forms
      has_version
      has_provenance
  }

  ENTITY DisjunctiveFormula {
    TYPE: CompoundPropositionalFormula

    STRUCTURE:
      left_formula
      OR
      right_formula
  }

  ENTITY Disjunct {
    TYPE: OperandFormula

    ROLE:
      member_ofdisjunction
  }

  DISJUNCTION_IDENTITY_MODEL {
    canonical_identifier:
      OR

    arity:
      2

    classical_default:
      inclusive

    RULE:
      disjunction_identity MUST be distinguished_fromsurface_symbol
  }

  LOGIC_CONTEXT_MODEL {
    default:
      classical_propositional_logic

    truth_domain:
      TRUE
      FALSE

    RULE:
      disjunction_semantics MUST be logic_specific
  }

  SYMBOL_MODEL {
    common:
      ∨
      OR
      |
      ||

    RULE:
      symbol MUST be resolved_usinglanguage_andnotation
  }

  ARITY_MODEL {
    disjunction:
      binary

    RULE:
      exactly_two_operands_required_inbinary_form
  }

  LEFT_OPERAND_MODEL {
    operand:
      well_formed_formula
  }

  RIGHT_OPERAND_MODEL {
    operand:
      well_formed_formula
  }

  OPERAND_ORDER_MODEL {
    syntax:
      left
      right

    classical_semantics:
      commutative

    RULE:
      source_order SHOULD remain_preserved
  }

  AST_MODEL {
    node:
      OR

    children:
      left_operand
      right_operand

    RULE:
      child_count = 2
  }

  PRECEDENCE_MODEL {
    common:
      NOT_beforeAND
      AND_beforeOR
      OR_beforeIMPLIES

    RULE:
      actual_precedence MUST followdeclared_language
  }

  ASSOCIATIVITY_PARSE_MODEL {
    common:
      OR_semantically_associative

    RULE:
      parser_associativity MUST stillbe explicit
  }

  PARENTHESIS_MODEL {
    examples:
      (A OR B) AND C
      A OR (B AND C)

    RULE:
      parentheses determine_scope
  }

  SCOPE_MODEL {
    disjunction:
      combines_exact_operand_subtrees

    RULE:
      scope MUST be resolved_beforeevaluation
  }

  CLASSICAL_TRUTH_FUNCTION_MODEL {
    TT -> TRUE
    TF -> TRUE
    FT -> TRUE
    FF -> FALSE
  }

  TRUTH_TABLE_MODEL {
    rows:
      A=TRUE B=TRUE -> A_OR_B=TRUE
      A=TRUE B=FALSE -> A_OR_B=TRUE
      A=FALSE B=TRUE -> A_OR_B=TRUE
      A=FALSE B=FALSE -> A_OR_B=FALSE
  }

  TRUE_CONDITION_MODEL {
    disjunction:
      TRUE_ifatleastone_operand_TRUE
  }

  FALSE_CONDITION_MODEL {
    disjunction:
      FALSE_iffbothoperands_FALSE
  }

  INCLUSIVE_OR_MODEL {
    A=TRUE
    B=TRUE:
      A_OR_B=TRUE

    RULE:
      classical_OR_isinclusive
  }

  EXCLUSIVE_OR_DISTINCTION_MODEL {
    XOR:
      TRUE_iffexactlyoneoperand_TRUE

    RULE:
      OR != XOR
  }

  COMMUTATIVITY_MODEL {
    A OR B
      equivalent_to
      B OR A
  }

  ASSOCIATIVITY_MODEL {
    (A OR B) OR C
      equivalent_to
      A OR (B OR C)
  }

  IDEMPOTENCE_MODEL {
    A OR A
      equivalent_to
      A
  }

  IDENTITY_MODEL {
    A OR FALSE
      equivalent_to
      A
  }

  DOMINATION_MODEL {
    A OR TRUE
      equivalent_to
      TRUE
  }

  COMPLEMENT_MODEL {
    A OR NOT A
      equivalent_to
      TRUE
  }

  ABSORPTION_MODEL {
    A OR (A AND B)
      equivalent_to
      A
  }

  DISTRIBUTIVITY_OVER_AND_MODEL {
    A OR (B AND C)
      equivalent_to
      (A OR B) AND (A OR C)
  }

  AND_DISTRIBUTIVITY_OVER_OR_MODEL {
    A AND (B OR C)
      equivalent_to
      (A AND B) OR (A AND C)
  }

  DE_MORGAN_MODEL {
    NOT(A OR B)
      equivalent_to
      NOT A AND NOT B
  }

  NEGATED_CONJUNCTION_MODEL {
    NOT A OR NOT B
      equivalent_to
      NOT(A AND B)
  }

  IMPLICATION_LINK_MODEL {
    A -> B
      equivalent_to
      NOT A OR B

    RULE:
      material_implication_mapping_isclassical
  }

  DISJUNCTIVE_SYLLOGISM_MODEL {
    premises:
      A OR B
      NOT A

    conclusion:
      B

    RULE:
      exact_validity depends_onlogic
  }

  DISJUNCTION_INTRODUCTION_LEFT_MODEL {
    premise:
      A

    conclusion:
      A OR B
  }

  DISJUNCTION_INTRODUCTION_RIGHT_MODEL {
    premise:
      B

    conclusion:
      A OR B
  }

  DISJUNCTION_ELIMINATION_MODEL {
    premises:
      A OR B
      derivation_ofC_fromA
      derivation_ofC_fromB

    conclusion:
      C

    RULE:
      case_assumptions MUST be tracked_anddischarged
  }

  PROOF_BY_CASES_MODEL {
    cases:
      A
      B

    premise:
      A OR B

    requirement:
      derive_sameconclusion_fromeachcase

    RULE:
      disjunction_elimination_formalises_case_reasoning
  }

  NATURAL_DEDUCTION_MODEL {
    introduction:
      inferA_OR_B_fromA
      inferA_OR_B_fromB

    elimination:
      proof_bycases

    RULE:
      proof_system MUST be identified
  }

  SEQUENT_RIGHT_RULE_MODEL {
    possible_classical:
      Gamma |- A,Delta
      therefore Gamma |- A_OR_B,Delta

    RULE:
      exact_rule depends_onsequent_calculus
  }

  SEQUENT_LEFT_RULE_MODEL {
    representative:
      Gamma,A |- C
      Gamma,B |- C
      therefore Gamma,A_OR_B |- C

    RULE:
      context_structure MUST be preserved
  }

  BOOLEAN_ALGEBRA_MODEL {
    OR:
      join_orBoolean_sum

    identities:
      A_OR_0=A
      A_OR_1=1
      A_OR_A=A
  }

  BOOLEAN_ADDITION_DISTINCTION_MODEL {
    Boolean_OR:
      1_OR_1=1

    arithmetic_addition:
      1+1=2

    RULE:
      Boolean_sum != arithmetic_addition
  }

  SET_UNION_MODEL {
    undercharacteristic_mapping:
      OR corresponds_tounion

    RULE:
      logical_disjunction != set_union_byidentity
  }

  EVENT_UNION_MODEL {
    event:
      A_union_B

    proposition:
      A_occurs_OR_B_occurs

    RULE:
      event_union_andlogical_OR_arelinked_butdifferent_entity_types
  }

  PROBABILITY_DISTINCTION_MODEL {
    P(A OR B):
      P(A)+P(B)-P(A AND B)

    RULE:
      probability_combination != logical_OR_truth_function
  }

  MUTUALLY_EXCLUSIVE_EVENT_MODEL {
    if:
      A_andB_cannotbothoccur

    then:
      P(A OR B)=P(A)+P(B)

    RULE:
      mutual_exclusivity_isprobabilistic_orsemantic_condition_notdefinition_ofOR
  }

  CAUSAL_DISTINCTION_MODEL {
    A OR B:
      alternative_truth_condition

    RULE:
      disjunction_doesnotassertcausal_relation
  }

  TEMPORAL_DISTINCTION_MODEL {
    A OR B:
      atleastsone_true_insemantic_context

    RULE:
      OR_doesnotencodebefore_after
  }

  PROGRAMMING_OR_MODEL {
    possible:
      logical_OR
      short_circuit_OR

    RULE:
      programming_operator MAY includeevaluation_strategy
  }

  SHORT_CIRCUIT_OR_MODEL {
    if_left_true:
      right_operand_maynotbeevaluated

    RULE:
      evaluation_strategy != truth_function
  }

  BITWISE_OR_DISTINCTION_MODEL {
    bit_vectors:
      componentwise_OR

    RULE:
      bitwise_OR != propositional_disjunction_withoutBoolean mapping
  }

  DATABASE_OR_MODEL {
    SQL:
      mayoperate_withTRUE_FALSE_UNKNOWN

    RULE:
      SQL_OR != classical_OR_whenNULL_present
  }

  MULTIARY_DISJUNCTION_MODEL {
    form:
      OR(A_1,...,A_n)

    true_iff:
      atleastoneoperand_TRUE

    RULE:
      n_ary_extension SHOULD be linked_toiterated_binary_OR
  }

  EMPTY_DISJUNCTION_MODEL {
    zero_operands:
      FALSE_understandard_algebraic_convention

    RULE:
      convention MUST be declared
  }

  SINGLETON_DISJUNCTION_MODEL {
    one_operand:
      equivalent_tooperand
  }

  FLATTENING_MODEL {
    nested:
      A OR (B OR C)

    flattened:
      OR(A,B,C)

    RULE:
      valid_whenassociativity_supported
  }

  DISJUNCT_SET_MODEL {
    flattened_disjunction:
      collection_ofdisjuncts

    RULE:
      set_representation_safe_onlywhencommutativity_associativity_idempotence_apply
  }

  DUPLICATE_DISJUNCT_MODEL {
    A OR A:
      simplify_toA
  }

  FALSE_DISJUNCT_MODEL {
    A OR FALSE:
      removeFALSE
  }

  TRUE_DISJUNCT_MODEL {
    A OR TRUE:
      simplify_entireformula_toTRUE
  }

  COMPLEMENTARY_DISJUNCTS_MODEL {
    contains:
      A
      NOT A

    result:
      TRUE_underclassical_semantics
  }

  CNF_MODEL {
    clause:
      disjunction_ofliterals

    RULE:
      OR_isinner_combiner_withineachclause
  }

  CLAUSE_MODEL {
    structure:
      L_1 OR ... OR L_n

    true_if:
      atleastone_literal_TRUE
  }

  EMPTY_CLAUSE_MODEL {
    zero_literals:
      FALSE

    RULE:
      empty_clause_representscontradiction_inCNF
  }

  UNIT_CLAUSE_MODEL {
    one_literal:
      disjunction_ofsingleliteral_equivalent_toliteral
  }

  TAUTOLOGICAL_CLAUSE_MODEL {
    contains:
      p
      NOT p

    result:
      TRUE
  }

  CLAUSE_SUBSUMPTION_MODEL {
    if:
      literals(C) subset literals(D)

    then:
      D_isredundant_inCNF_containingC

    RULE:
      set_based_clause_semantics assumed
  }

  DNF_MODEL {
    top_level:
      disjunction_ofconjunctive_terms
  }

  DNF_TERM_SELECTION_MODEL {
    formula:
      TRUE_ifatleastone_term_TRUE
  }

  CANONICAL_DNF_MODEL {
    construction:
      OR_ofminterms_corresponding_toTRUE_truth_table_rows
  }

  SAT_MODEL {
    disjunctive_clause:
      satisfied_ifatleastone_literal_TRUE
  }

  SAT_CLAUSE_MODEL {
    clause:
      disjunction_ofliterals

    RULE:
      clause_unsatisfied_onlyifallliterals_FALSE
  }

  UNIT_PROPAGATION_LINK_MODEL {
    clause:
      allbutone_literal_FALSE

    result:
      remaining_literal_mustbeTRUE
  }

  RESOLUTION_MODEL {
    premises:
      C OR p
      D OR NOT p

    resolvent:
      C OR D

    RULE:
      complementary_literals MUST shareunderlyingvariable
  }

  RESOLUTION_CLAUSE_MODEL {
    OR:
      fundamental_clause_combiner

    RULE:
      resolution_operates_onsets_orsequences_ofliterals_underdeclared representation
  }

  TSEITIN_ENCODING_MODEL {
    auxiliary:
      z <-> (A OR B)

    CNF_constraints:
      z OR NOT A
      z OR NOT B
      NOT z OR A OR B

    RULE:
      encoding_isclassically_equisatisfiable_withsource_whencombinedappropriately
  }

  BDD_MODEL {
    disjunction:
      Boolean_apply_OR_toBDD_A_andBDD_B

    RULE:
      variable_order MUST be compatible
  }

  CIRCUIT_MODEL {
    disjunction:
      OR_gate
  }

  OR_GATE_MODEL {
    output_high:
      ifatleastoneBoolean_input_high

    RULE:
      physical_signal_encoding MUST be declared
  }

  TRUTH_VECTOR_MODEL {
    A_OR_B:
      pointwise_OR_oftruth_vectors_A_B

    RULE:
      commonvaluation_order REQUIRED
  }

  SEMANTIC_EQUIVALENCE_MODEL {
    disjunction_formulas:
      equivalent_iftruth_vectors_identical
  }

  SATISFIABILITY_MODEL {
    A_OR_B:
      satisfiable_ifA_satisfiable_orB_satisfiable

    RULE:
      classical semantics
  }

  UNSATISFIABILITY_MODEL {
    A_OR_B:
      unsatisfiable_iffA_unsatisfiable_andB_unsatisfiable
  }

  VALIDITY_MODEL {
    A_OR_B:
      may_bevalid_evenifneitherA_norB_individuallyvalid

    example:
      A OR NOT A

    RULE:
      validity_requiresallvaluations
  }

  MODEL_UNION_MODEL {
    Models(A_OR_B):
      Models(A) union Models(B)
  }

  COUNTERMODEL_MODEL {
    A_OR_B_false:
      valuation_whereA_FALSE_andB_FALSE
  }

  SUBSUMPTION_SEMANTIC_MODEL {
    if:
      A entails B

    then:
      A OR B equivalent_to B

    RULE:
      entailment_context MUST be established
  }

  REDUNDANT_DISJUNCT_MODEL {
    disjunct_A:
      redundant_ifA_entails_other_disjunction

    RULE:
      redundancy_requiressemantic_orformalproof
  }

  DISJUNCTION_SIMPLIFICATION_MODEL {
    operations:
      flatten
      removeFALSE
      collapseTRUE
      remove_duplicates
      detectcomplements
      removeentailed_disjuncts_whenproven

    RULE:
      simplification MUST preserveequivalence
  }

  FACTORISATION_MODEL {
    (A OR B) AND (A OR C):
      equivalent_to
      A OR (B AND C)
  }

  CASE_SPLITTING_MODEL {
    proof_orsearch:
      branch_onA_orB

    RULE:
      search_branching != semantic_XOR
  }

  NONDETERMINISTIC_CHOICE_DISTINCTION_MODEL {
    computational_choice:
      chooseonebranch

    logical_OR:
      truth_condition_overalternatives

    RULE:
      nondeterministic_choice != disjunction_byidentity
  }

  NATURAL_LANGUAGE_DISJUNCTION_MODEL {
    cues:
      or
      either
      alternatively

    RULE:
      natural_language_OR MAY beinclusive_orexclusive
  }

  EITHER_OR_MODEL {
    phrase:
      either_A_or_B

    possible:
      inclusive_OR
      XOR

    RULE:
      context_required
  }

  INCLUSIVE_LANGUAGE_MODEL {
    cues:
      A_orB_orboth

    formal:
      A OR B
  }

  EXCLUSIVE_LANGUAGE_MODEL {
    cues:
      eitherA_orB_butnotboth
      exactlyoneofA_B

    formal:
      A XOR B
  }

  FREE_CHOICE_OR_MODEL {
    natural_language:
      "You may take tea or coffee"

    RULE:
      pragmatic_permission_reading MAY differ_fromtruth_functional_OR
  }

  ALTERNATIVE_QUESTION_MODEL {
    natural_language:
      "Is it A or B?"

    RULE:
      interrogative_alternative != asserted_disjunction_necessarily
  }

  OR_SCOPE_AMBIGUITY_MODEL {
    example:
      A AND B OR C

    candidates:
      (A AND B) OR C
      A AND (B OR C)

    RULE:
      resolveusinggrammar_precedence_orparentheses
  }

  NEGATION_SCOPE_MODEL {
    NOT(A OR B):
      equivalent_to
      NOT A AND NOT B

    compare:
      (NOT A) OR B

    RULE:
      scope_issemanticallymaterial
  }

  CONDITIONAL_OR_MODEL {
    natural_language:
      "A or else B"

    RULE:
      maycarryconditional_warning_orpragmatic_relation_beyondOR
  }

  DISCOURSE_OR_MODEL {
    natural_language:
      mayindicatecorrection_reformulation_oralternative

    RULE:
      discourse_relation SHOULD be preserved
  }

  FORMALISATION_MODEL {
    source:
      natural_language_alternative

    target:
      candidate_OR_orXOR_formula

    metadata:
      operand_spans
      inclusivity
      scope
      confidence

    RULE:
      preserveoriginal_text_andinterpretive_choices
  }

  FORMALISATION_CONFIDENCE_MODEL {
    confidence:
      support_forOR_vsXOR_andoperand_scope

    RULE:
      confidence != truth
  }

  INTUITIONISTIC_DISJUNCTION_MODEL {
    proof_meaning:
      proof_ofA_OR_B_containsproof_ofone_disjunct_pluswhich_disjunct

    RULE:
      constructive_disjunction_property_m
ayhold_inappropriate_systems
  }

  PARACONSISTENT_DISJUNCTION_MODEL {
    semantics:
      logic_specific

    RULE:
      classical_disjunctive_syllogism MAY fail_insomeparaconsistent_logics
  }

  MANY_VALUED_DISJUNCTION_MODEL {
    truth_domain:
      morethan2values

    operation:
      logic_specific

    RULE:
      classical_OR_table MUST notbeassumed
  }

  FUZZY_DISJUNCTION_MODEL {
    operation:
      t_conorm

    examples:
      maximum
      probabilistic_sum
      Lukasiewicz_t_conorm

    RULE:
      t_conorm MUST be identified
  }

  THREE_VALUED_DISJUNCTION_MODEL {
    truth_domain:
      threevalues

    RULE:
      truth_table depends_onchosenlogic
  }

  SQL_DISJUNCTION_MODEL {
    values:
      TRUE
      FALSE
      UNKNOWN

    RULE:
      SQL_OR_withNULL_requires_three_valued_semantics
  }

  RESOURCE_SENSITIVE_DISJUNCTION_MODEL {
    linear_logic:
      additive_andmultiplicative_disjunction_likeoperators

    RULE:
      classical_OR_mapping requiresformaltranslation
  }

  LINEAR_LOGIC_PLUS_DISTINCTION_MODEL {
    plus:
      additive_disjunction

    par:
      multiplicative_disjunction

    RULE:
      operators_have distinctproof_semantics
  }

  MODAL_SCOPE_MODEL {
    compare:
      box(A OR B)
      boxA OR boxB

    RULE:
      equivalence_notgenerallyautomatic
  }

  TEMPORAL_SCOPE_MODEL {
    compare:
      eventually(A OR B)
      eventuallyA OR eventuallyB

    RULE:
      temporal_semantics MUST be declared
  }

  QUANTIFIER_SCOPE_MODEL {
    predicate_logic:
      existsx(P(x) OR Q(x))

    RULE:
      interaction_withquantifiers requirespredicate_logic_context
  }

  ERROR_MODEL {
    possible:
      missing_operand
      wrongarity
      scope_error
      OR_XOR_confusion
      symbol_collision
      invalid_truth_function
      invalid_simplification

    RULE:
      error SHOULD identifyformula_position_andlogic
  }

  AMBIGUITY_MODEL {
    possible:
      inclusive_vs_exclusive
      operand_scope
      symbol
      natural_language_alternative
      nonclassical_semantics

    RULE:
      unresolved_ambiguity MUST be preserved
  }

  VALIDATION_MODEL {
    checks:
      disjunction_identifier
      logic_system
      arity
      operands
      scope
      AST
      truth_function
      OR_XOR_distinction
      equivalence_rules
      proof_rules
      semantic_context

    RULE:
      validation MUST be logic_specific
  }

  EXPLAINABILITY_MODEL {
    output:
      operands
      OR_operator
      inclusive_or_exclusive_status
      operand_truth_values
      result
      equivalent_forms
      proof_rules

    RULE:
      explanation SHOULD exposeatleastoneTRUE_condition
  }

  VERSION_MODEL {
    versioned:
      disjunction_semantics
      logic_system
      notation
      proof_rules
      ontology

    RULE:
      historical_results MUST preserveversions
  }

  PROVENANCE_MODEL {
    fields:
      source
      formula
      parser
      logic_system
      transformation
      proof
      version
      agent

    RULE:
      disjunction_record MUST remainprovenance_linked
  }

  INTEROPERABILITY_MODEL {
    exchange:
      canonical_OR_identifier
      left_operand_AST
      right_operand_AST
      inclusive_status
      symbol
      truth_function
      logic_system
      version
      provenance

    RULE:
      plain_word_or_isnotlossless
  }

  KNOWLEDGE_GRAPH_MODEL {
    nodes:
      disjunction
      disjunct
      formula
      truth_value
      clause
      proof_rule
      circuit_gate

    edges:
      HAS_DISJUNCT
      COMBINES
      EQUIVALENT_TO
      SATISFIED_BY
      DERIVED_BY
      IMPLEMENTED_BY
      RESOLVES_WITH

    RULE:
      OR_XOR_andimplementation_relations MUST be typed
  }

  RELATIONSHIPS {
    Disjunction -> IS_A -> BinaryLogicalConnective
    Disjunction -> HAS_LEFT_OPERAND -> Formula
    Disjunction -> HAS_RIGHT_OPERAND -> Formula
    DisjunctiveFormula -> CONTAINS -> Disjunct
    Disjunction -> HAS_TRUTH_FUNCTION -> ClassicalInclusiveOR
    Disjunction -> MAY_HAVE -> IntroductionRule
    Disjunction -> MAY_HAVE -> EliminationRule
    Clause -> COMBINES -> LiteralsByDisjunction
    Disjunction -> MAY_MAP_TO -> ORGate
  }

  SEMANTIC_EQUIVALENCE {
    "disjunction" ~= binary_logical_connective_true_whenatleastoneoperand_true_underclassical_semantics
    "inclusive OR" ~= disjunction_allowingbothoperands_tobetrue
    "disjunct" ~= operand_formula_withindisjunction

    disjunction != XOR
    disjunction != arithmetic_addition
    disjunction != set_union_byidentity
    disjunction != probability_addition
    disjunction != causal_alternative
    disjunction != nondeterministic_choice
    logical_OR != programming_short_circuit_OR
    logical_OR != bitwise_OR
    logical_OR != SQL_OR_withNULL_withoutmapping
    natural_language_or != inclusive_logical_OR_necessarily
    semantic_confidence != truth_value
  }

  CONSTRAINTS {
    canonical_disjunction_identifier_must_be preserved = true
    logic_system_andversion_must_be identified = true
    binary_disjunction_must_haveexactly_two_operands = true
    operand_ASTs_andscope_must_be preserved = true
    classical_disjunction_true_ifatleastoneoperand_true = true
    inclusive_OR_andXOR_must_be explicitlydistinguished = true
    commutativity_associativity_idempotence_identity_anddomination_rules_must_be logic_specific = true
    disjunction_introduction_andelimination_rules_must_preserveproof_context = true
    programming_bitwise_SQL_probability_set_andchoice_semantics_must_be distinguished = true
    natural_language_OR_ambiguity_must_be preserved = true
    nonclassical_disjunction_must_defineitsown_semantics = true
    provenance_must_be preserved = true
  }

  DISJUNCTION_RECORD_MODEL {
    RECORD:
      disjunction_identifier
      logic_system_identifier
      logic_version
      notation_profile
      symbol
      inclusive_or_exclusive_status
      left_operand_identifier
      right_operand_identifier
      left_operand_AST
      right_operand_AST
      scope
      truth_function
      truth_vector
      commutative_status
      associative_status
      idempotent_status
      equivalent_forms
      clause_role
      DNF_role
      SAT_role
      resolution_role
      introduction_rules
      elimination_rule
      circuit_mapping
      natural_language_source
      ambiguity_status
      formalisation_confidence
      version
      provenance

    RULE:
      disjunction_record MUST support_reconstruction_ofoperands_inclusivity_scope_truth_semantics_proof_rules_andprovenance
  }

  REASONING_RULES {
    IF disjunction_expression_received
      THEN identifylogic_andnotation
      resolvecanonical_OR
      parseleft_andright_operands
      validatearity_andscope

    IF classical_operand_values_available
      THEN returnFALSE_onlyifbothFALSE
      elseTRUE

    IF natural_language_or_received
      THEN identifyoperand_spans
      determineinclusive_XOR_orotherdiscourse_reading
      preserveambiguity_ifunresolved

    IF disjunction_nested
      AND associativity_supported
      THEN mayflatten_whilepreservinglineage

    IF simplification_requested
      THEN applyidentity_domination_idempotence_complement_absorption_orentailed_disjunct_rules_onlywhenvalidated

    IF clause_used_inSAT
      THEN requireatleastone_literal_TRUE
      propagateunit_literal_whenallothersFALSE

    IF resolution_requested
      THEN identifycomplementary_literals
      constructresolvent
      preserveparent_clause_provenance

    IF proof_bycases_requested
      THEN verifydisjunction_premise
      verifyeachcase_derivessameconclusion
      trackassumption_discharge

    IF nonclassical_logic_selected
      THEN loadlogic_specific_disjunction_semantics_andproof_rules

    IF semantics_orlogic_version_changes
      THEN preservehistorical_record
      revalidatecurrent_equivalences_proofs_clauses_andSAT_encodings
  }

  VALIDATION {
    CHECK disjunction_identifier
    CHECK logic_system
    CHECK logic_version
    CHECK symbol
    CHECK arity
    CHECK inclusive_exclusive_status
    CHECK left_operand
    CHECK right_operand
    CHECK AST
    CHECK scope
    CHECK truth_function
    CHECK truth_vector
    CHECK commutativity
    CHECK associativity
    CHECK idempotence
    CHECK identity
    CHECK domination
    CHECK complement
    CHECK De_Morgan_relation
    CHECK clause_role
    CHECK DNF_role
    CHECK SAT_role
    CHECK resolution
    CHECK introduction_rules
    CHECK elimination_rule
    CHECK circuit_mapping
    CHECK natural_language_mapping
    CHECK nonclassical_semantics
    CHECK ambiguity
    CHECK formalisation_confidence
    CHECK version
    CHECK provenance
  }

  CONFIDENCE {
    disjunction_identity_confidence: 1.00
    operand_scope_confidence: 1.00
    inclusive_OR_confidence: 1.00
    classical_truth_function_confidence: 1.00
    equivalence_rule_confidence: 1.00
    proof_rule_confidence: 1.00
    SAT_resolution_confidence: 1.00
    natural_language_OR_confidence: 0.94
    nonclassical_semantics_confidence: 0.98

    RULE:
      confidence decreases when logic, notation, OR_vsXOR status,
      operand scope, natural-language context, proof system,
      nonclassical operation, version orprovenance is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_disjunction:
      assign_orresolve_identifier
      attachlogic_andnotation
      parseoperands
      resolveinclusive_status
      validate_semantics
      preserveprovenance
      compute_FLOW_HASH

    ON simplification_ortransformation:
      preserve_source_formula
      applyvalidated_rule
      recordtarget_andsemantic_basis

    ON proof_orresolution_usage:
      attachproof_context_orparentclauses
      preserveverification_status

    ON semantic_revision:
      preserveprevious_disjunction_definition
      registernewversion
      revalidateequivalences_anddependentartifacts
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: Disjunction
    canonical_role: BinaryLogicalConnective

    interpretation_order:
      identify_logic_system
      identify_OR_symbol_orlinguisticcue
      resolvecanonical_disjunction_identifier
      determineinclusive_or_exclusive_status
      parseleft_andright_operand_ASTs
      resolveprecedence_parentheses_andscope
      validatebinary_arity
      resolveclassical_orlogic_specific_truth_function
      evaluateunderprovidedvaluation
      identifyalgebraic_equivalences_andDeMorgan_relation
      identifyclause_DNF_SAT_andresolution_roles
      resolveintroduction_elimination_andproof_bycases_rules
      distinguishlogical_OR_fromXOR_programming_bitwise_SQL_probability_set_andchoice_relations
      resolve_natural_language_alternative_anddiscourse_relation
      detectambiguity
      assignsemantic_confidence
      preserveversions_andprovenance
      emit_machine_resolvable_disjunction_structure

    ambiguity_controls:
      distinguish_disjunction_fromXOR
      distinguish_disjunction_fromarithmetic_addition
      distinguish_disjunction_fromset_union_byidentity
      distinguish_disjunction_fromprobability_addition
      distinguish_disjunction_fromcausal_alternative
      distinguish_disjunction_fromnondeterministic_choice
      distinguish_logical_OR_fromprogramming_short_circuit_OR
      distinguish_logical_OR_frombitwise_OR
      distinguish_logical_OR_fromSQL_OR_withNULL_withoutmapping
      distinguish_natural_language_or_frominclusive_logical_OR_necessarily
      distinguish_semantic_confidence_fromtruth_value
      preserve_logic_inclusivity_operands_AST_scope_truth_function_rules_version_andprovenance
  }

  PROVENANCE {
    ontology_scope:
      disjunction_OR_inclusive_exclusive_semantics_clauses_resolution_proof_rules_natural_language_andAI_interpretation

    parent_path:
      AI Core
      -> Ontologies
      -> Mathematical Ontologies
      -> Mathematical Logic Ontologies
      -> Propositional Logic
      -> Disjunction Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      disjunction_identity_model
      logic_context_model
      symbol_model
      arity_model
      left_operand_model
      right_operand_model
      operand_order_model
      AST_model
      precedence_model
      associativity_parse_model
      parenthesis_model
      scope_model
      classical_truth_function_model
      truth_table_model
      true_condition_model
      false_condition_model
      inclusive_OR_model
      exclusive_OR_distinction_model
      commutativity_model
      associativity_model
      idempotence_model
      identity_model
      domination_model
      complement_model
      absorption_model
      distributivity_over_AND_model
      AND_distributivity_over_OR_model
      De_Morgan_model
      negated_conjunction_model
      implication_link_model
      disjunctive_syllogism_model
      disjunction_introduction_left_model
      disjunction_introduction_right_model
      disjunction_elimination_model
      proof_by_cases_model
      natural_deduction_model
      sequent_right_rule_model
      sequent_left_rule_model
      Boolean_algebra_model
      Boolean_addition_distinction_model
      set_union_model
      event_union_model
      probability_distinction_model
      mutually_exclusive_event_model
      causal_distinction_model
      temporal_distinction_model
      programming_OR_model
      short_circuit_OR_model
      bitwise_OR_distinction_model
      database_OR_model
      multiary_disjunction_model
      empty_disjunction_model
      singleton_disjunction_model
      flattening_model
      disjunct_set_model
      duplicate_disjunct_model
      false_disjunct_model
      true_disjunct_model
      complementary_disjuncts_model
      CNF_model
      clause_model
      empty_clause_model
      unit_clause_model
      tautological_clause_model
      clause_subsumption_model
      DNF_model
      DNF_term_selection_model
      canonical_DNF_model
      SAT_model
      SAT_clause_model
      unit_propagation_link_model
      resolution_model
      resolution_clause_model
      Tseitin_encoding_model
      BDD_model
      circuit_model
      OR_gate_model
      truth_vector_model
      semantic_equivalence_model
      satisfiability_model
      unsatisfiability_model
      validity_model
      model_union_model
      countermodel_model
      subsumption_semantic_model
      redundant_disjunct_model
      disjunction_simplification_model
      factorisation_model
      case_splitting_model
      nondeterministic_choice_distinction_model
      natural_language_disjunction_model
      either_OR_model
      inclusive_language_model
      exclusive_language_model
      free_choice_OR_model
      alternative_question_model
      OR_scope_ambiguity_model
      negation_scope_model
      conditional_OR_model
      discourse_OR_model
      formalisation_model
      formalisation_confidence_model
      intuitionistic_disjunction_model
      paraconsistent_disjunction_model
      many_valued_disjunction_model
      fuzzy_disjunction_model
      three_valued_disjunction_model
      SQL_disjunction_model
      resource_sensitive_disjunction_model
      linear_logic_plus_distinction_model
      modal_scope_model
      temporal_scope_model
      quantifier_scope_model
      error_model
      ambiguity_model
      validation_model
      explainability_model
      version_model
      provenance_model
      interoperability_model
      knowledge_graph_model
      relationships
      semantic_equivalence
      constraints
      disjunction_record_model
      reasoning_rules
      validation
      confidence_model
      update_model
      AI_consumption_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      disjunction_identity_logic_system_orsymbol_mapping_changes
      inclusive_OR_XOR_operand_scope_precedence_orAST_changes
      classical_truth_function_ortruth_table_changes
      commutativity_associativity_distribution_absorption_orDeMorgan_changes
      proof_rule_case_reasoning_orsemantic_relation_changes
      clause_CNF_DNF_SAT_resolution_Tseitin_BDD_orcircuit_semantics_change
      programming_bitwise_SQL_probability_set_choice_orcausal_distinctions_change
      natural_language_OR_orformalisation_changes
      nonclassical_intuitionistic_paraconsistent_manyvalued_orfuzzy_disjunction_changes
      disjunction_record_changes
      constraint_model_changes
      reasoning_rule_changes
      version_orprovenance_changes
  }

}

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