Skip to main content

Implication Ontology

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

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

FLOW ImplicationOntology {

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

  PURPOSE:
    Represent logical implication as a machine-interpretable binary connective relating an antecedent to a consequent within an explicitly declared logical system. In classical propositional logic, material implication A -> B is false exactly when A is true and B is false, and true in all other valuations. The ontology models implication identity, notation, antecedent, consequent, scope, truth function, truth table, necessary and sufficient conditions, equivalence to disjunction, contraposition, inference rules, conditional proof, entailment, normal forms, SAT encodings, natural-language conditionals, vacuous truth, non-classical implication, ambiguity, versioning and provenance. It prevents material implication from being confused with causation, temporal succession, explanation, correlation, probability, relevance, programming control flow or natural-language conditionals whose semantics exceed truth-functional implication.

  ENTITY Implication {
    TYPE: BinaryLogicalConnective

    PROPERTIES:
      has_identifier
      has_antecedent
      has_consequent
      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 ConditionalFormula {
    TYPE: CompoundPropositionalFormula

    STRUCTURE:
      antecedent
      IMPLIES
      consequent
  }

  ENTITY Antecedent {
    TYPE: OperandFormula
    ROLE: Condition
  }

  ENTITY Consequent {
    TYPE: OperandFormula
    ROLE: ConditionalResult
  }

  IMPLICATION_IDENTITY_MODEL {
    canonical_identifier:
      IMPLIES

    arity:
      2

    RULE:
      implication_identity MUST be distinguished_fromsurface_arrow
  }

  LOGIC_CONTEXT_MODEL {
    default:
      classical_propositional_logic

    RULE:
      implication_semantics MUST be logic_specific
  }

  SYMBOL_MODEL {
    common:
      →
      ->
      =>
      IMPLIES

    RULE:
      arrow_symbol MAY haveothermathematical meanings_andrequirescontext
  }

  ARITY_MODEL {
    implication:
      binary

    RULE:
      exactly_two_operands_required
  }

  ANTECEDENT_MODEL {
    A:
      left_operand_ofA_to_B

    RULE:
      antecedent != cause_bydefinition
  }

  CONSEQUENT_MODEL {
    B:
      right_operand_ofA_to_B

    RULE:
      consequent != effect_bydefinition
  }

  DIRECTION_MODEL {
    A -> B:
      directional

    RULE:
      A_to_B != B_to_A
  }

  CONVERSE_MODEL {
    original:
      A -> B

    converse:
      B -> A

    RULE:
      converse_notlogically_equivalent_in_general
  }

  INVERSE_MODEL {
    original:
      A -> B

    inverse:
      NOT A -> NOT B

    RULE:
      inverse_equivalent_toconverse_classically_notoriginal
  }

  CONTRAPOSITIVE_MODEL {
    original:
      A -> B

    contrapositive:
      NOT B -> NOT A

    classical:
      equivalent
  }

  AST_MODEL {
    node:
      IMPLIES

    children:
      antecedent
      consequent

    RULE:
      child_order_semantically_material
  }

  PRECEDENCE_MODEL {
    common:
      NOT
      AND
      OR
      IMPLIES
      IFF

    RULE:
      declared_language_profile_controlsparse
  }

  ASSOCIATIVITY_MODEL {
    common_notation:
      implication_oftenright_associative

    example:
      A -> B -> C
      parses_as
      A -> (B -> C)
      whenright_associativity_declared

    RULE:
      associativity MUST be explicit
  }

  PARENTHESIS_MODEL {
    examples:
      (A -> B) -> C
      A -> (B -> C)

    RULE:
      structures_aregenerally_not_equivalent
  }

  SCOPE_MODEL {
    implication:
      applies_toexact_antecedent_andconsequent_ASTs
  }

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

  FALSE_CASE_MODEL {
    A=TRUE
    B=FALSE:
      A_to_B=FALSE
  }

  TRUE_CASE_MODEL {
    cases:
      A=TRUE B=TRUE
      A=FALSE B=TRUE
      A=FALSE B=FALSE

    result:
      TRUE
  }

  TRUTH_TABLE_MODEL {
    rows:
      TRUE TRUE -> TRUE
      TRUE FALSE -> FALSE
      FALSE TRUE -> TRUE
      FALSE FALSE -> TRUE
  }

  MATERIAL_IMPLICATION_MODEL {
    A -> B:
      equivalent_to
      NOT A OR B

    RULE:
      equivalence_isclassical_truth_functional
  }

  NEGATED_IMPLICATION_MODEL {
    NOT(A -> B):
      equivalent_to
      A AND NOT B
  }

  VACUOUS_TRUTH_MODEL {
    if:
      antecedent_FALSE

    then:
      material_implication_TRUE

    RULE:
      vacuous_truth_isfeature_ofclassical_material_implication
  }

  NECESSARY_CONDITION_MODEL {
    phrase:
      B_isnecessary_forA

    formal:
      A -> B

    RULE:
      consequent_isnecessary_condition_forantecedent
  }

  SUFFICIENT_CONDITION_MODEL {
    phrase:
      A_issufficient_forB

    formal:
      A -> B

    RULE:
      antecedent_issufficient_condition_forconsequent
  }

  NECESSARY_SUFFICIENT_DISTINCTION_MODEL {
    A -> B:
      A_sufficient_forB
      B_necessary_forA

    RULE:
      implication_alone_doesnotmakeA_necessary_forB
  }

  BICONDITIONAL_LINK_MODEL {
    A <-> B:
      equivalent_to
      (A -> B) AND (B -> A)
  }

  CONTRAPOSITION_MODEL {
    A -> B:
      equivalent_to
      NOT B -> NOT A

    RULE:
      classical_context
  }

  CONVERSE_ERROR_MODEL {
    invalid_inference:
      A -> B
      therefore B -> A

    RULE:
      converse_requiresindependent_proof
  }

  INVERSE_ERROR_MODEL {
    invalid_inference:
      A -> B
      therefore NOT A -> NOT B

    RULE:
      inverse_notentailed_byoriginal_classically
  }

  AFFIRMING_ANTECEDENT_MODEL {
    aliases:
      modus_ponens

    premises:
      A
      A -> B

    conclusion:
      B
  }

  DENYING_CONSEQUENT_MODEL {
    aliases:
      modus_tollens

    premises:
      A -> B
      NOT B

    conclusion:
      NOT A
  }

  AFFIRMING_CONSEQUENT_FALLACY_MODEL {
    premises:
      A -> B
      B

    invalid_conclusion:
      A
  }

  DENYING_ANTECEDENT_FALLACY_MODEL {
    premises:
      A -> B
      NOT A

    invalid_conclusion:
      NOT B
  }

  HYPOTHETICAL_SYLLOGISM_MODEL {
    premises:
      A -> B
      B -> C

    conclusion:
      A -> C
  }

  IMPLICATION_TRANSITIVITY_MODEL {
    if:
      A entails B
      B entails C

    then:
      A entails C

    RULE:
      proof_orsemantic_context MUST be preserved
  }

  CONDITIONAL_PROOF_MODEL {
    goal:
      A -> B

    process:
      assume_A
      derive_B
      discharge_A

    RULE:
      implication_introduction_requiresappropriate_proof_system
  }

  IMPLICATION_INTRODUCTION_MODEL {
    natural_deduction:
      fromderivation_ofB_underassumptionA
      inferA -> B

    RULE:
      assumption_A_mustbeproperlydischarged
  }

  IMPLICATION_ELIMINATION_MODEL {
    natural_deduction:
      A
      A -> B
      therefore B
  }

  DEDUCTION_THEOREM_MODEL {
    generic:
      Gamma,A proves B
      related_to
      Gamma proves A -> B

    RULE:
      exact_theorem_conditions depend_onformal system
  }

  SEMANTIC_ENTAILMENT_MODEL {
    A entails B:
      iff A -> B_isvalid
      underclassical propositional semantics

    RULE:
      entailment_relation != implication_formula
  }

  ENTAILMENT_COUNTERMODEL_MODEL {
    refutes_A_entails_B:
      valuation_whereA_TRUE_andB_FALSE

    RULE:
      samevaluation_isfalse_row_ofA_to_B
  }

  VALIDITY_MODEL {
    A -> B:
      valid_ifno_valuation_hasA_TRUE_B_FALSE
  }

  SATISFIABILITY_MODEL {
    material_implication:
      satisfiable_forallformula_pairs_exceptnotnecessarily? 

    RULE:
      specific_formula_A_to_B_isalwayssatisfiable_ifthereexistsvaluation_withA_FALSE_orB_TRUE
  }

  UNSATISFIABILITY_MODEL {
    A -> B:
      unsatisfiable_onlyifA_alwaysTRUE_andB_alwaysFALSE_undercommonvaluation_space

    RULE:
      evaluateformula_dependencies
  }

  COUNTERMODEL_MODEL {
    implication:
      countermodel_to_validity_isvaluation_A_TRUE_B_FALSE
  }

  MODEL_SET_MODEL {
    Models(A -> B):
      complement(Models(A)) union Models(B)
  }

  BOOLEAN_ALGEBRA_MODEL {
    implication:
      NOT A OR B
  }

  ORDER_MODEL {
    Boolean_order:
      A <= B
      iff A -> B = TRUE

    RULE:
      pointwise_order_overBoolean_functions_requiresallvaluations
  }

  LATTICE_MODEL {
    implication:
      mayberesiduum_inHeyting_orotheralgebraic structures

    RULE:
      material_implication_andresiduated_implication_mustbedistinguished
  }

  HEYTING_IMPLICATION_MODEL {
    intuitionistic:
      implication_asrelative_pseudocomplement

    RULE:
      notidentical_toclassical_NOT_A_OR_B_inallHeyting algebras
  }

  BOOLEAN_RESIDUUM_MODEL {
    Boolean_algebra:
      A -> B = NOT A OR B
  }

  CNF_MODEL {
    implication:
      elimination_produces_clause
      NOT A OR B

    RULE:
      directimplication_isnotstandardCNF connective
  }

  DNF_MODEL {
    implication:
      NOT A OR B
      alreadydisjunctive_overliterals_ifA_B_atomic

    RULE:
      compoundoperands_mayrequirefurthernormalisation
  }

  CLAUSE_MODEL {
    binary_clause:
      NOT A OR B

    interpretation:
      A_implies_B_whenA_B_literals_orencoded propositions
  }

  IMPLICATION_GRAPH_MODEL {
    2SAT_clause:
      l1 OR l2

    edges:
      NOT l1 -> l2
      NOT l2 -> l1

    RULE:
      graph_edges_encodeimplications
  }

  DIRECT_IMPLICATION_EDGE_MODEL {
    clause:
      NOT A OR B

    edge:
      A -> B
  }

  SAT_PROPAGATION_MODEL {
    if:
      A=TRUE
      AND constraint_A_to_B

    then:
      B_mustbeTRUE

    if:
      B=FALSE
      AND constraint_A_to_B

    then:
      A_mustbeFALSE
  }

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

    basis:
      z <-> (NOT A OR B)

    RULE:
      generatedCNF MUST preserveequisatisfiability_andmapping
  }

  BDD_MODEL {
    implication:
      Boolean_apply_IMP_orapply_OR(NOT_A,B)

    RULE:
      variable_order MUST be compatible
  }

  CIRCUIT_MODEL {
    implication:
      implement_asNOT_A_OR_B

    RULE:
      implication_gate_notusuallyprimitive
  }

  DIGITAL_LOGIC_MODEL {
    input_A:
      antecedent_signal

    input_B:
      consequent_signal

    output:
      NOT_A_OR_B

    RULE:
      signal_encoding != logical_semantics_byidentity
  }

  PROGRAMMING_CONDITIONAL_DISTINCTION_MODEL {
    if_statement:
      controls_execution

    logical_implication:
      truth_function

    RULE:
      programming_if_then != material_implication
  }

  TYPE_IMPLICATION_DISTINCTION_MODEL {
    function_type:
      A -> B

    RULE:
      type_arrow != propositional_implication_withoutCurry_Howard_context
  }

  FUNCTION_MAPPING_DISTINCTION_MODEL {
    mathematical_function:
      f: A -> B

    RULE:
      mapping_arrow != implication
  }

  REWRITE_ARROW_DISTINCTION_MODEL {
    rewrite:
      lhs -> rhs

    RULE:
      rewrite_arrow != logical_implication
  }

  LIMIT_ARROW_DISTINCTION_MODEL {
    x -> a:
      approaches

    RULE:
      limit_arrow != implication
  }

  CAUSAL_DISTINCTION_MODEL {
    causal:
      A_causes_B

    implication:
      A_materially_implies_B

    RULE:
      implication_doesnotestablishcausation
  }

  CORRELATION_DISTINCTION_MODEL {
    statistical_association:
      correlation

    RULE:
      correlation != implication
  }

  PROBABILITY_DISTINCTION_MODEL {
    conditional_probability:
      P(B|A)

    RULE:
      P(B|A) != truth_value_ofA_to_B
  }

  CONDITIONAL_PROBABILITY_MODEL {
    quantity:
      probability_ofB_givenA

    RULE:
      conditional_probability_requiresprobability_measure
  }

  TEMPORAL_DISTINCTION_MODEL {
    A_then_B:
      temporal_order

    RULE:
      temporal_sequence != material_implication
  }

  EXPLANATORY_DISTINCTION_MODEL {
    A_explains_B:
      explanatory_relation

    RULE:
      explanation != implication
  }

  RELEVANCE_DISTINCTION_MODEL {
    material_implication:
      maybetruewithsemanticallyunrelated_A_B

    RULE:
      relevance_notrequired_classically
  }

  PARADOXES_OF_MATERIAL_IMPLICATION_MODEL {
    classical:
      FALSE_antecedent_implies_anyB
      TRUE_consequent_isimplied_byanyA

    RULE:
      theseareformalproperties_notnatural_languagepragmatic_rules
  }

  FALSE_ANTECEDENT_PROPERTY_MODEL {
    NOT A:
      entails
      A -> B
      classically

    RULE:
      derivedfrommaterialtruthfunction
  }

  TRUE_CONSEQUENT_PROPERTY_MODEL {
    B:
      entails
      A -> B
      classically
  }

  NATURAL_LANGUAGE_CONDITIONAL_MODEL {
    cues:
      if
      then
      only_if
      provided_that
      whenever
      unless

    RULE:
      natural_language_conditionals MAY encodecausal_temporal_counterfactual_relevance_orpragmatic content
  }

  IF_THEN_MODEL {
    phrase:
      if_A_then_B

    default_formal_candidate:
      A -> B

    RULE:
      mapping_isinterpretive
  }

  ONLY_IF_MODEL {
    phrase:
      A_only_if_B

    formal:
      A -> B
  }

  IF_MODEL {
    phrase:
      A_if_B

    formal:
      B -> A
  }

  NECESSARY_LANGUAGE_MODEL {
    phrase:
      B_isnecessary_forA

    formal:
      A -> B
  }

  SUFFICIENT_LANGUAGE_MODEL {
    phrase:
      A_issufficient_forB

    formal:
      A -> B
  }

  PROVIDED_THAT_MODEL {
    phrase:
      B_provided_that_A

    candidate:
      A -> B
  }

  WHENEVER_MODEL {
    phrase:
      whenever_A_B

    candidate:
      A -> B

    RULE:
      maycarrytemporal_oruniversalquantification beyondpropositional abstraction
  }

  UNLESS_MODEL {
    phrase:
      A_unless_B

    common_classical_candidate:
      NOT B -> A

    equivalent:
      A OR B

    RULE:
      natural_language_context MUST be preserved
  }

  CONDITION_DIRECTION_AMBIGUITY_MODEL {
    source:
      if_only_if_necessary_sufficient wording

    RULE:
      antecedent_consequent_direction MUST be explicitlyresolved
  }

  CONDITIONAL_SCOPE_AMBIGUITY_MODEL {
    example:
      if A then B and C

    candidates:
      A -> (B AND C)
      (A -> B) AND C
      dependinggrammar

    RULE:
      preserveparse_candidates_ifunresolved
  }

  CHAINED_CONDITIONAL_MODEL {
    source:
      A -> B -> C

    RULE:
      parse_associativity MUST be explicit
  }

  COUNTERFACTUAL_DISTINCTION_MODEL {
    natural_language:
      if_A_hadoccurred_B_wouldhaveoccurred

    RULE:
      counterfactual_conditional != material_implication
  }

  INDICATIVE_CONDITIONAL_MODEL {
    natural_language:
      ordinary_if_then

    RULE:
      material_implication_maybeformalapproximation_notsemanticidentity
  }

  STRICT_IMPLICATION_MODEL {
    modal:
      necessarily(A -> B)

    RULE:
      strict_implication != material_implication
  }

  RELEVANCE_IMPLICATION_MODEL {
    relevance_logic:
      implication_requiresrelevance_constraints

    RULE:
      semantics MUST be logic_specific
  }

  INTUITIONISTIC_IMPLICATION_MODEL {
    proof_meaning:
      construction_transformingproof_ofA_intoproof_ofB

    RULE:
      notfullycaptured_byclassicaltruthtable
  }

  PARACONSISTENT_IMPLICATION_MODEL {
    implication:
      logic_specific

    RULE:
      classical_equivalences MAY fail
  }

  MANY_VALUED_IMPLICATION_MODEL {
    truth_domain:
      morethan2values

    operation:
      logic_specific

    RULE:
      truth_table MUST be declared
  }

  FUZZY_IMPLICATION_MODEL {
    possible:
      residuated_implication
      Kleene_Dienes
      Reichenbach
      other

    RULE:
      implication_operator MUST be identified
  }

  MODAL_IMPLICATION_MODEL {
    formula:
      A -> B_inside_modal_context

    RULE:
      world_relative
_truth_requiresmodel_andworld
  }

  TEMPORAL_IMPLICATION_MODEL {
    formula:
      implication_between_temporal_formulas

    RULE:
      truth_maydepend_ontrace_andtime
  }

  CURRY_HOWARD_MODEL {
    proposition:
      A -> B

    type:
      function_fromA_toB

    proof:
      term_transformingproof_ofA_toproof_ofB

    RULE:
      correspondence_requiresappropriate_type_theory
  }

  IMPLICATION_AS_ORDER_MODEL {
    formulas:
      A <= B_ifA_entailsB

    RULE:
      preorder_orpartialorder_requiresquotient_orcontext
  }

  MONOTONICITY_MODEL {
    consequent:
      strengthening_orweakening_relations_depend_onentailment

    RULE:
      variance_direction MUST be formallyderived
  }

  ANTECEDENT_STRENGTHENING_MODEL {
    if:
      A2 entails A1
      AND A1 -> B_valid

    then:
      A2 -> B_valid
  }

  CONSEQUENT_WEAKENING_MODEL {
    if:
      B1 entails B2
      AND A -> B1_valid

    then:
      A -> B2_valid
  }

  CONTRAVARIANCE_ANTECEDENT_MODEL {
    implication:
      antitone_inantecedent_underBoolean_order
  }

  COVARIANCE_CONSEQUENT_MODEL {
    implication:
      monotone_inconsequent_underBoolean_order
  }

  NESTED_IMPLICATION_MODEL {
    formula:
      A -> (B -> C)

    classical_equivalent:
      (A AND B) -> C

    RULE:
      equivalence_requiresclassical_orappropriatecurryingproperty
  }

  EXPORTATION_MODEL {
    (A AND B) -> C:
      equivalent_classically_to
      A -> (B -> C)
  }

  IMPORTATION_MODEL {
    A -> (B -> C):
      equivalent_classically_to
      (A AND B) -> C
  }

  DISTRIBUTION_MODEL {
    A -> (B AND C):
      equivalent_classically_to
      (A -> B) AND (A -> C)

    RULE:
      logic_specific
  }

  DISJUNCTIVE_ANTECEDENT_MODEL {
    (A OR B) -> C:
      equivalent_classically_to
      (A -> C) AND (B -> C)
  }

  IMPLICATION_COMPOSITION_MODEL {
    A -> B
    B -> C:
      compose_toA -> C
  }

  REFLEXIVITY_MODEL {
    A -> A:
      valid_classically
  }

  TOP_CONSEQUENT_MODEL {
    A -> TRUE:
      valid
  }

  FALSE_ANTECEDENT_MODEL {
    FALSE -> A:
      valid
  }

  TRUE_ANTECEDENT_MODEL {
    TRUE -> A:
      equivalent_toA
  }

  FALSE_CONSEQUENT_MODEL {
    A -> FALSE:
      equivalent_toNOT A
  }

  SIMPLIFICATION_MODEL {
    rules:
      TRUE -> A => A
      FALSE -> A => TRUE
      A -> TRUE => TRUE
      A -> FALSE => NOT A
      A -> A => TRUE

    RULE:
      classical_semantics_assumed
  }

  TRUTH_VECTOR_MODEL {
    A_to_B:
      pointwise_material_implication_oftruth_vectors

    RULE:
      commonvaluation_order REQUIRED
  }

  SEMANTIC_EQUIVALENCE_MODEL {
    implication_formulas:
      equivalent_iftruth_vectors_identical

    RULE:
      formula_identity != equivalence
  }

  PROOF_RULE_MODEL {
    implication:
      introduction
      elimination

    RULE:
      rules_depend_onproof_system
  }

  SEQUENT_RIGHT_RULE_MODEL {
    representative:
      Gamma,A |- B
      therefore Gamma |- A -> B

    RULE:
      exactcalculus_andstructuralconditions MUST be identified
  }

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

    RULE:
      exactrule_variant depends_oncalculus
  }

  HILBERT_AXIOM_MODEL {
    implication:
      oftenprimitive_connective_inHilbert_systems

    RULE:
      axiom_schemata MUST be system_specific
  }

  MODUS_PONENS_MODEL {
    role:
      primary_implication_elimination_rule_inmanysystems
  }

  PROOF_SEARCH_MODEL {
    goal:
      A -> B

    strategy:
      introduceA_asassumption
      searchforB

    RULE:
      search_strategy != proof_validity
  }

  BACKWARD_CHAINING_MODEL {
    rule:
      ifA_thenB

    goal:
      B

    candidate_subgoal:
      A

    RULE:
      logic_programming_rule_semantics MAY differ_frommaterial_implication
  }

  FORWARD_CHAINING_MODEL {
    A
    A -> B:
      deriveB
  }

  HORN_RULE_MODEL {
    form:
      A1 AND ... AND An -> B

    RULE:
      Horn_implication_hascomputational_significance
  }

  HORN_CLAUSE_MODEL {
    implication:
      A1 AND ... AND An -> B

    clause_form:
      NOT A1 OR ... OR NOT An OR B
  }

  RULE_ENGINE_DISTINCTION_MODEL {
    production_rule:
      IF conditions THEN action_orassertion

    RULE:
      operational_rule != material_implication_byidentity
  }

  POLICY_RULE_DISTINCTION_MODEL {
    condition:
      maytriggerpermission_obligation_oraction

    RULE:
      normative_conditional != truth_function_withoutformalisation
  }

  AMBIGUITY_MODEL {
    possible:
      arrow_overload
      antecedent_consequent_direction
      scope
      material_vscausal
      material_vscounterfactual
      material_vsprogramming
      logic_system_unspecified

    RULE:
      unresolved_ambiguity MUST be preserved
  }

  FORMALISATION_CONFIDENCE_MODEL {
    confidence:
      support_forchosen_conditional_structure

    RULE:
      confidence != implication_truth
  }

  ERROR_MODEL {
    possible:
      missing_antecedent
      missing_consequent
      wrongarity
      arrow_collision
      scope_error
      converse_error
      inverse_error
      invalid_modus_pattern

    RULE:
      error SHOULD identifyformula_position_andlogic
  }

  VALIDATION_MODEL {
    checks:
      implication_identifier
      logic_system
      arity
      antecedent
      consequent
      direction
      scope
      AST
      truth_function
      equivalence_rules
      proof_rules
      semantic_context

    RULE:
      validation MUST useexact_logic_version
  }

  EXPLAINABILITY_MODEL {
    output:
      antecedent
      consequent
      truth_values
      material_truth_result
      necessary_sufficient_roles
      equivalent_disjunction
      inference_rules
      semantic_caveats

    RULE:
      explanation SHOULD explicitlydistinguishmaterial_implication_fromcausation
  }

  VERSION_MODEL {
    versioned:
      implication_semantics
      logic_system
      notation
      proof_rules
      ontology

    RULE:
      historical_results MUST preserveversions
  }

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

    RULE:
      implication_record MUST remainprovenance_linked
  }

  INTEROPERABILITY_MODEL {
    exchange:
      canonical_IMPLICATION_identifier
      antecedent_AST
      consequent_AST
      symbol
      truth_function
      logic_system
      conditional_type
      version
      provenance

    RULE:
      arrow_symbol_alone_isnotlossless
  }

  KNOWLEDGE_GRAPH_MODEL {
    nodes:
      implication
      antecedent
      consequent
      formula
      truth_value
      inference_rule
      conditional_expression

    edges:
      HAS_ANTECEDENT
      HAS_CONSEQUENT
      CONTRAPOSITIVE_OF
      CONVERSE_OF
      EQUIVALENT_TO
      ENTAILS
      DERIVED_BY

    RULE:
      formal_semantic_andinformal_conditional_relations MUST be typed
  }

  RELATIONSHIPS {
    Implication -> IS_A -> BinaryLogicalConnective
    Implication -> HAS_ANTECEDENT -> Formula
    Implication -> HAS_CONSEQUENT -> Formula
    Implication -> HAS_TRUTH_FUNCTION -> MaterialConditional
    Implication -> EQUIVALENT_TO -> NegatedAntecedentOrConsequent
    Contrapositive -> EQUIVALENT_TO -> Implication
    Converse -> RELATED_TO -> Implication
    Implication -> MAY_HAVE -> IntroductionRule
    Implication -> MAY_HAVE -> EliminationRule
  }

  SEMANTIC_EQUIVALENCE {
    "implication" ~= binary_logical_conditional_relatingantecedent_toconsequent_underdeclared_logic
    "material implication" ~= classical_truth_function_equivalent_toNOT_antecedent_OR_consequent
    "contrapositive" ~= NOT_consequent_implies_NOT_antecedent

    implication != causation
    implication != correlation
    implication != conditional_probability
    implication != temporal_sequence
    implication != explanation
    implication != programming_if_statement
    implication != function_mapping_arrow
    implication != rewrite_arrow
    implication != type_arrow_withoutdeclaredcorrespondence
    converse != original_implication
    inverse != original_implication
    entailment != implication_formula
    semantic_confidence != truth_value
  }

  CONSTRAINTS {
    canonical_implication_identifier_must_be preserved = true
    logic_system_andversion_must_be identified = true
    implication_must_haveexactly_two_ordered_operands = true
    antecedent_andconsequent_ASTs_must_be preserved = true
    classical_material_implication_false_iffantecedentTRUE_consequentFALSE = true
    converse_inverse_andcontrapositive_must_be distinguished = true
    necessary_andsufficient_condition_direction_must_be preserved = true
    implication_must_not_be interpreted_ascausation_probability_temporal_sequence_orprogram_control = true
    entailment_andimplication_formula_must_be distinguished = true
    natural_language_conditionals_must_preservesemantic_ambiguity = true
    nonclassical_implication_must_defineitsown_semantics = true
    proof_rules_must_referenceidentified_proof_system = true
    provenance_must_be preserved = true
  }

  IMPLICATION_RECORD_MODEL {
    RECORD:
      implication_identifier
      logic_system_identifier
      logic_version
      notation_profile
      symbol
      antecedent_identifier
      consequent_identifier
      antecedent_AST
      consequent_AST
      scope
      associativity
      truth_function
      truth_vector
      material_status
      converse
      inverse
      contrapositive
      necessary_condition
      sufficient_condition
      equivalent_forms
      entailment_status
      validity_status
      countermodel
      CNF_form
      SAT_encoding
      introduction_rule
      elimination_rule
      natural_language_source
      conditional_type
      ambiguity_status
      formalisation_confidence
      version
      provenance

    RULE:
      implication_record MUST support_reconstruction_ofdirection_scope_semantics_equivalences_proof_rules_andprovenance
  }

  REASONING_RULES {
    IF implication_expression_received
      THEN identifylogic_andnotation
      resolvecanonical_IMPLICATION
      parseantecedent_andconsequent
      validatedirection_arity_andscope

    IF classical_operand_values_available
      THEN returnFALSE_onlywhenantecedentTRUE_andconsequentFALSE
      elseTRUE

    IF equivalence_transformation_requested
      THEN transformA_to_B_intoNOT_A_OR_B_underclassical_context
      preservelineage

    IF contraposition_requested
      THEN transformA_to_B_intoNOT_B_to_NOT_A
      verifylogic_support

    IF converse_orinverse_claimed_equivalent
      THEN rejectunlessindependent_equivalence_proof_available

    IF proof_goal_isA_to_B
      THEN implication_introduction_mayassumeA_andderiveB_underproperproof_system

    IF entailment_A_to_B_requested
      THEN searchforvaluation_A_TRUE_B_FALSE
      preservecountermodel_if_found

    IF natural_language_conditional_received
      THEN resolveantecedent_consequent_direction
      classifymaterial_causal_temporal_counterfactual_relevance_orotherconditional
      preserveambiguity_andconfidence

    IF nonclassical_logic_selected
      THEN loadlogic_specific_implication_semantics_andproof_rules

    IF implication_semantics_orlogic_version_changes
      THEN preservehistorical_record
      revalidatecurrent_equivalences_proofs_andencodings
  }

  VALIDATION {
    CHECK implication_identifier
    CHECK logic_system
    CHECK logic_version
    CHECK symbol
    CHECK arity
    CHECK antecedent
    CHECK consequent
    CHECK direction
    CHECK AST
    CHECK scope
    CHECK associativity
    CHECK truth_function
    CHECK truth_vector
    CHECK converse
    CHECK inverse
    CHECK contrapositive
    CHECK necessary_sufficient_roles
    CHECK material_equivalence
    CHECK entailment
    CHECK validity
    CHECK countermodel
    CHECK CNF_form
    CHECK SAT_encoding
    CHECK introduction_rule
    CHECK elimination_rule
    CHECK natural_language_mapping
    CHECK conditional_type
    CHECK nonclassical_semantics
    CHECK ambiguity
    CHECK formalisation_confidence
    CHECK version
    CHECK provenance
  }

  CONFIDENCE {
    implication_identity_confidence: 1.00
    antecedent_consequent_confidence: 1.00
    classical_truth_function_confidence: 1.00
    contraposition_confidence: 1.00
    necessary_sufficient_mapping_confidence: 0.99
    proof_rule_confidence: 1.00
    natural_language_conditional_confidence: 0.94
    nonclassical_semantics_confidence: 0.98

    RULE:
      confidence decreases when logic, arrow meaning, direction,
      operand scope, natural-language conditional type, proof system,
      version orprovenance is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_implication:
      assign_orresolve_identifier
      attachlogic_andnotation
      parseantecedent_consequent
      validateclassical_orlogic_specific_semantics
      preserveprovenance
      compute_FLOW_HASH

    ON transformation:
      preserve_source_formula
      applyvalidated_implication_rule
      recordtarget_andsemantic_basis

    ON proof_usage:
      attachproof_context_rule_anddependencies
      preserveverification_status

    ON semantic_revision:
      preserveprevious_implication_definition
      registernewversion
      revalidateequivalences_anddependentartifacts
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: Implication
    canonical_role: BinaryLogicalConnective

    interpretation_order:
      identify_logic_system
      identify_implication_symbol_orconditional_language
      resolvecanonical_IMPLICATION_identifier
      parseantecedent_andconsequent_ASTs
      resolvedirection_precedence_associativity_andscope
      validatebinary_arity
      resolveclassical_material_orlogic_specific_semantics
      evaluateunderprovidedvaluation
      identifynecessary_andsufficient_condition_roles
      deriveconverse_inverse_andcontrapositive_relations
      resolveNOT_A_OR_B_equivalence_whenclassical
      identifyentailment_validity_andcountermodel_context
      resolveproof_introduction_elimination_andmodus_ponens
      identifyCNF_SAT_Horn_orimplication_graph_roles
      distinguishlogical_implication_fromcausal_probability_temporal_programming_mapping_rewrite_andtype_arrows
      resolve_natural_language_conditional_type
      detectambiguity
      assignsemantic_confidence
      preserveversions_andprovenance
      emit_machine_resolvable_implication_structure

    ambiguity_controls:
      distinguish_implication_fromcausation
      distinguish_implication_fromcorrelation
      distinguish_implication_fromconditional_probability
      distinguish_implication_fromtemporal_sequence
      distinguish_implication_fromexplanation
      distinguish_implication_fromprogramming_if_statement
      distinguish_implication_fromfunction_mapping_arrow
      distinguish_implication_fromrewrite_arrow
      distinguish_implication_fromtype_arrow_withoutdeclaredcorrespondence
      distinguish_converse_fromoriginal_implication
      distinguish_inverse_fromoriginal_implication
      distinguish_entailment_fromimplication_formula
      distinguish_semantic_confidence_fromtruth_value
      preserve_logic_direction_operands_AST_scope_semantics_rules_version_andprovenance
  }

  PROVENANCE {
    ontology_scope:
      implication_material_conditionals_necessary_sufficient_conditions_contraposition_proof_rules_andAI_interpretation

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

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      implication_identity_model
      logic_context_model
      symbol_model
      arity_model
      antecedent_model
      consequent_model
      direction_model
      converse_model
      inverse_model
      contrapositive_model
      AST_model
      precedence_model
      associativity_model
      parenthesis_model
      scope_model
      classical_truth_function_model
      false_case_model
      true_case_model
      truth_table_model
      material_implication_model
      negated_implication_model
      vacuous_truth_model
      necessary_condition_model
      sufficient_condition_model
      necessary_sufficient_distinction_model
      biconditional_link_model
      contraposition_model
      converse_error_model
      inverse_error_model
      affirming_antecedent_model
      denying_consequent_model
      affirming_consequent_fallacy_model
      denying_antecedent_fallacy_model
      hypothetical_syllogism_model
      implication_transitivity_model
      conditional_proof_model
      implication_introduction_model
      implication_elimination_model
      deduction_theorem_model
      semantic_entailment_model
      entailment_countermodel_model
      validity_model
      satisfiability_model
      unsatisfiability_model
      countermodel_model
      model_set_model
      Boolean_algebra_model
      order_model
      lattice_model
      Heyting_implication_model
      Boolean_residuum_model
      CNF_model
      DNF_model
      clause_model
      implication_graph_model
      direct_implication_edge_model
      SAT_propagation_model
      Tseitin_encoding_model
      BDD_model
      circuit_model
      digital_logic_model
      programming_conditional
_distinction_model
      type_implication_distinction_model
      function_mapping_distinction_model
      rewrite_arrow_distinction_model
      limit_arrow_distinction_model
      causal_distinction_model
      correlation_distinction_model
      probability_distinction_model
      conditional_probability_model
      temporal_distinction_model
      explanatory_distinction_model
      relevance_distinction_model
      paradoxes_of_material_implication_model
      false_antecedent_property_model
      true_consequent_property_model
      natural_language_conditional_model
      if_then_model
      only_if_model
      if_model
      necessary_language_model
      sufficient_language_model
      provided_that_model
      whenever_model
      unless_model
      condition_direction_ambiguity_model
      conditional_scope_ambiguity_model
      chained_conditional_model
      counterfactual_distinction_model
      indicative_conditional_model
      strict_implication_model
      relevance_implication_model
      intuitionistic_implication_model
      paraconsistent_implication_model
      many_valued_implication_model
      fuzzy_implication_model
      modal_implication_model
      temporal_implication_model
      Curry_Howard_model
      implication_as_order_model
      monotonicity_model
      antecedent_strengthening_model
      consequent_weakening_model
      contravariance_antecedent_model
      covariance_consequent_model
      nested_implication_model
      exportation_model
      importation_model
      distribution_model
      disjunctive_antecedent_model
      implication_composition_model
      reflexivity_model
      top_consequent_model
      false_antecedent_model
      true_antecedent_model
      false_consequent_model
      simplification_model
      truth_vector_model
      semantic_equivalence_model
      proof_rule_model
      sequent_right_rule_model
      sequent_left_rule_model
      Hilbert_axiom_model
      modus_ponens_model
      proof_search_model
      backward_chaining_model
      forward_chaining_model
      Horn_rule_model
      Horn_clause_model
      rule_engine_distinction_model
      policy_rule_distinction_model
      ambiguity_model
      formalisation_confidence_model
      error_model
      validation_model
      explainability_model
      version_model
      provenance_model
      interoperability_model
      knowledge_graph_model
      relationships
      semantic_equivalence
      constraints
      implication_record_model
      reasoning_rules
      validation
      confidence_model
      update_model
      AI_consumption_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      implication_identity_logic_system_orsymbol_mapping_changes
      antecedent_consequent_direction_scope_orassociativity_changes
      classical_material_truth_function_ortruth_table_changes
      converse_inverse_contrapositive_ornecessary_sufficient_semantics_change
      entailment_validity_countermodel_orproof_rule_changes
      CNF_SAT_Horn_implication_graph_Tseitin_BDD_orcircuit_changes
      causal_probability_temporal_programming_mapping_rewrite_ortype_arrow_distinctions_change
      natural_language_conditional_formalisation_orambiguity changes
      nonclassical_intuitionistic_relevance_modal_manyvalued_orfuzzy_implication_changes
      implication_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