Skip to main content

Negation Ontology

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

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

FLOW NegationOntology {

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

  PURPOSE:
    Represent logical negation as a machine-interpretable unary logical connective that transforms a proposition or formula according to the semantics of an explicitly identified logical system. In classical propositional logic, negation reverses the two classical truth values: TRUE becomes FALSE and FALSE becomes TRUE. The ontology models negation identity, notation, operand scope, syntax-tree structure, truth function, truth tables, literals, complementarity, double negation, De Morgan transformations, normal forms, contradiction, excluded middle, inference rules, SAT and resolution usage, Boolean algebra mappings, natural-language negation, non-classical variants, ambiguity, versioning and provenance. It prevents logical negation from being confused with absence, uncertainty, database null, negation as failure, numerical sign reversal, set complement, linguistic denial, opposition or empirical falsification unless an explicit mapping is declared.

  ENTITY Negation {
    TYPE: UnaryLogicalConnective

    PROPERTIES:
      has_identifier
      has_symbol
      has_operand
      has_scope
      has_truth_function
      has_precedence
      belongs_to_logic_system
      may_form_negative_literal
      may_have_equivalent_transformations
      may_have_inference_rules
      has_version
      has_provenance
  }

  ENTITY NegatedFormula {
    TYPE: CompoundFormula

    COMPONENTS:
      negation_operator
      operand_formula
  }

  ENTITY NegativeLiteral {
    TYPE: Literal

    STRUCTURE:
      NOT atomic_proposition
  }

  NEGATION_IDENTITY_MODEL {
    canonical_identifier:
      NOT

    arity:
      1

    RULE:
      negation_identity MUST be distinguished_fromsurface_symbol
  }

  LOGIC_CONTEXT_MODEL {
    default:
      classical_propositional_logic

    RULE:
      negation_semantics MUST be logic_specific
  }

  SYMBOL_MODEL {
    common:
      ¬
      ~
      !
      NOT

    RULE:
      symbol_mapping MUST use_declared_notation
  }

  PREFIX_OPERATOR_MODEL {
    structure:
      NOT A

    RULE:
      negation_precedes_itsoperand
  }

  ARITY_MODEL {
    negation:
      unary

    RULE:
      exactly_one_operand_required
  }

  OPERAND_MODEL {
    operand:
      well_formed_formula

    RULE:
      operand_formula_identifier SHOULD be preserved
  }

  SCOPE_MODEL {
    negation:
      applies_toexact_operand_subtree

    RULE:
      scope MUST be resolved_beforesemantic_evaluation
  }

  PARENTHESIS_MODEL {
    examples:
      NOT(A AND B)
      (NOT A) AND B

    RULE:
      parentheses_canchange_negation_scope_andmeaning
  }

  PRECEDENCE_MODEL {
    classical_common:
      NOT_has_higher_precedence_thanbinary_connectives

    RULE:
      actual_precedence MUST followlanguage_profile
  }

  AST_MODEL {
    node:
      NEGATION

    child:
      operand_AST

    RULE:
      child_count = 1
  }

  CLASSICAL_TRUTH_FUNCTION_MODEL {
    input_TRUE:
      output_FALSE

    input_FALSE:
      output_TRUE
  }

  TRUTH_TABLE_MODEL {
    rows:
      A=TRUE -> NOT_A=FALSE
      A=FALSE -> NOT_A=TRUE
  }

  INVOLUTION_MODEL {
    classical:
      NOT(NOT A) equivalent_to A

    RULE:
      involution_islogic_specific
  }

  DOUBLE_NEGATION_MODEL {
    expression:
      ¬¬A

    classical_equivalence:
      A

    RULE:
      double_negation_elimination_notuniversallyvalid_inalllogics
  }

  DOUBLE_NEGATION_INTRODUCTION_MODEL {
    classical_andintuitionistic_standard:
      A -> NOT NOT A

    RULE:
      distinguish_introduction_fromelimination
  }

  DOUBLE_NEGATION_ELIMINATION_MODEL {
    classical:
      NOT NOT A -> A

    RULE:
      notgenerally_derivable_inintuitionistic_logic
  }

  LITERAL_MODEL {
    positive:
      p

    negative:
      NOT p

    RULE:
      negative_literal_operand MUST beatomic
  }

  COMPLEMENTARY_LITERAL_MODEL {
    pair:
      p
      NOT p

    RULE:
      bothrefer_tosame_atomic_variable
  }

  COMPLEMENT_MODEL {
    Boolean:
      NOT mapsvalue_toBoolean_complement
  }

  CONTRADICTION_MODEL {
    formula:
      A AND NOT A

    classical:
      always_FALSE
  }

  EXCLUDED_MIDDLE_MODEL {
    formula:
      A OR NOT A

    classical:
      always_TRUE

    RULE:
      classical_validity_notuniversal_acrosslogics
  }

  NONCONTRADICTION_MODEL {
    formula:
      NOT(A AND NOT A)

    classical:
      always_TRUE
  }

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

    NOT(A OR B)
      equivalent_to
      NOT A AND NOT B

    RULE:
      transformation_semantics MUST be logic_specific
  }

  IMPLICATION_NEGATION_MODEL {
    NOT(A -> B)
      classical_equivalent_to
      A AND NOT B
  }

  BICONDITIONAL_NEGATION_MODEL {
    NOT(A <-> B)
      classical_equivalent_to
      A XOR B
  }

  XOR_NEGATION_MODEL {
    NOT(A XOR B)
      classical_equivalent_to
      A <-> B
  }

  NAND_MODEL {
    definition:
      NOT(A AND B)
  }

  NOR_MODEL {
    definition:
      NOT(A OR B)
  }

  NEGATION_NORMAL_FORM_MODEL {
    abbreviation:
      NNF

    requirement:
      negation_occurs_onlydirectly_beforeatomic_propositions

    RULE:
      compound_negations_must_be pushed_inward
  }

  NNF_TRANSFORMATION_MODEL {
    process:
      eliminate_implication_andbiconditional
      push_negations_usingDeMorgan
      eliminate_double_negation

    RULE:
      classical_orappropriate_logic_context MUST be identified
  }

  CNF_MODEL {
    negative_literals:
      permitted_insideclauses

    RULE:
      NOT_shouldapply_toatoms_instandard_CNF
  }

  DNF_MODEL {
    negative_literals:
      permitted_insideterms

    RULE:
      NOT_shouldapply_toatoms_instandard_DNF
  }

  SAT_MODEL {
    negative_literal:
      representsvariable_assignedFALSE_forliteral_toevaluateTRUE

    RULE:
      literal_truth_andvariable_truth MUST be distinguished
  }

  NEGATIVE_LITERAL_EVALUATION_MODEL {
    if p=TRUE:
      NOT_p=FALSE

    if p=FALSE:
      NOT_p=TRUE
  }

  UNIT_NEGATIVE_LITERAL_MODEL {
    clause:
      NOT p

    implication:
      p_must_beFALSE_tosatisfyclause
  }

  RESOLUTION_MODEL {
    complementary_pair:
      p
      NOT p

    RULE:
      resolution_requires_sameunderlying_variable
  }

  TAUTOLOGICAL_CLAUSE_MODEL {
    clause:
      p OR NOT p

    classical:
      always_TRUE
  }

  CONTRADICTORY_TERM_MODEL {
    term:
      p AND NOT p

    classical:
      always_FALSE
  }

  BOOLEAN_ALGEBRA_MODEL {
    NOT:
      complement_operation

    laws:
      complement_of_TRUE = FALSE
      complement_of_FALSE = TRUE
      complement_of_complement_A = A
  }

  SET_COMPLEMENT_MAPPING_MODEL {
    undercharacteristic_set_mapping:
      NOT corresponds_tocomplement

    RULE:
      set_complement != logical_negation_byidentity
  }

  BITWISE_NOT_DISTINCTION_MODEL {
    bitwise_NOT:
      flips_eachbit_inbitvector

    RULE:
      bitwise_NOT != logical_negation_withoutBoolean_single_bit_mapping
  }

  PROGRAMMING_NOT_MODEL {
    operator:
      maymaptruthy_falsy_values_toBoolean_result

    RULE:
      programming_language_semantics MUST be declared
  }

  NUMERIC_NEGATION_DISTINCTION_MODEL {
    arithmetic:
      -x

    logical:
      NOT A

    RULE:
      unary_minus != logical_negation
  }

  NATURAL_LANGUAGE_NEGATION_MODEL {
    cues:
      not
      no
      never
      neither
      it_is_not_the_case_that

    RULE:
      linguistic_negation_scope MUST be resolved
  }

  SENTENTIAL_NEGATION_MODEL {
    source:
      "It is not the case that A"

    formal:
      NOT A
  }

  CONSTITUENT_NEGATION_MODEL {
    source:
      negation_applies_topart_ofsentence

    RULE:
      mayrequiremorethanpropositional_atom_negation
  }

  NEGATIVE_PREFIX_DISTINCTION_MODEL {
    examples:
      unhappy
      impossible
      nonzero

    RULE:
      lexical_negative_prefix != logical_NOT_automatically
  }

  DENIAL_MODEL {
    speech_act:
      rejects_orcontradicts_priorclaim

    RULE:
      denial != formal_negation_withoutpropositional_mapping
  }

  OPPOSITION_MODEL {
    concepts:
      may_becontraries_oropposites

    RULE:
      opposite_concept != logical_complement_necessarily
  }

  CONTRARY_MODEL {
    A_andB:
      cannotbothbetrue_butmaybothbefalse

    RULE:
      contrary != contradiction
  }

  CONTRADICTORY_RELATION_MODEL {
    A_andNOT_A:
      exactlyone_true_underclassical_bivalence

    RULE:
      relation_islogic_specific
  }

  ABSENCE_DISTINCTION_MODEL {
    absence_ofevidence_orproperty_record:
      noassertion

    RULE:
      absence != NOT A
  }

  UNKNOWN_DISTINCTION_MODEL {
    unknown:
      truth_notdetermined

    RULE:
      unknown != NOT A
  }

  NULL_DISTINCTION_MODEL {
    database_NULL:
      missing_orunknownvalue

    RULE:
      NULL != FALSE
      NULL != logical_negation
  }

  OPEN_WORLD_MODEL {
    failure_tofind_A:
      doesnotentail_NOT_A

    RULE:
      absence_ofassertion != negated_assertion
  }

  CLOSED_WORLD_MODEL {
    failure_tofind_A:
      maypermitinfer_NOT_A_underdeclared policy

    RULE:
      closed_world_assumption MUST be explicit
  }

  NEGATION_AS_FAILURE_MODEL {
    logic_programming:
      not_A_maymeanfailure_toprove_A

    RULE:
      negation_as_failure != classical_negation
  }

  STRONG_NEGATION_MODEL {
    explicit:
      formal_negative_assertion

    RULE:
      strong_negation_anddefault_negation MUST be distinguished
  }

  DEFAULT_NEGATION_MODEL {
    operational:
      absence_ofproof_orbelief

    RULE:
      default_negation_isnonmonotonic_andcontextual
  }

  EPISTEMIC_NEGATION_DISTINCTION_MODEL {
    "not known A":
      NOT(KNOWS A)
      notnecessarily
      KNOWS(NOT A)

    RULE:
      negation_scope_overepistemic_operator_issemanticallymaterial
  }

  MODAL_NEGATION_MODEL {
    examples:
      NOT box A
      NOT diamond A

    RULE:
      interaction_withmodal_operators depends_onsemantics
  }

  TEMPORAL_NEGATION_MODEL {
    examples:
      NOT always A
      NOT eventually A

    RULE:
      temporal_dualities requiredeclared temporal_logic
  }

  QUANTIFIER_NEGATION_DISTINCTION_MODEL {
    first_order:
      NOT forall x P(x)
      equivalent_to exists x NOT P(x)

      NOT exists x P(x)
      equivalent_to forall x NOT P(x)

    RULE:
      outsidebasic_propositional_scope_butimportant_crossdomain_mapping
  }

  INTUITIONISTIC_NEGATION_MODEL {
    common_definition:
      NOT A as A -> bottom

    RULE:
      classical_double_negation_elimination_andexcluded_middle_notgenerallyvalid
  }

  PARACONSISTENT_NEGATION_MODEL {
    semantics:
      A_andNOT_A_maybothbe supported_withoutexplosion

    RULE:
      classical_contradiction_rules MUST not_be assumed
  }

  MANY_VALUED_NEGATION_MODEL {
    truth_domain:
      morethan2_values

    operation:
      logic_specific

    RULE:
      truth_function MUST be explicitlydefined
  }

  FUZZY_NEGATION_MODEL {
    common_standard:
      NOT x = 1-x

    alternatives:
      othernegators

    RULE:
      fuzzy_negation != classical_NOT_withoutBoolean restriction
  }

  THREE_VALUED_NEGATION_MODEL {
    truth_values:
      logic_specific_three_values

    RULE:
      UNKNOWN_orindeterminate_mapping depends_onchosen_logic
  }

  FOUR_VALUED_NEGATION_MODEL {
    truth_states:
      logic_specific

    RULE:
      operation MUST be declared
  }

  NEGATION_POLARITY_MODEL {
    occurrence:
      negation_changespolarity_ofoperand

    RULE:
      recursive_polarity_analysis MUST considerconnective_context
  }

  ODD_EVEN_NEGATION_MODEL {
    atom:
      underodd_number_ofNOTs -> negative_polarity
      undereven_number_ofNOTs -> positive_polarity

    RULE:
      simplified_rule_assumesdirect_negation_chain
  }

  NEGATION_DEPTH_MODEL {
    formula:
      maximum_nested_negation_count

    RULE:
      depth_isstructural_measure
  }

  NEGATION_COUNT_MODEL {
    formula:
      number_ofNOT_occurrences

    RULE:
      count != semantic_complexity_necessarily
  }

  NEGATION_SIMPLIFICATION_MODEL {
    rules:
      NOT TRUE -> FALSE
      NOT FALSE -> TRUE
      NOT NOT A -> A_inclassical_context

    RULE:
      simplification MUST preservedeclared semantics
  }

  CONSTANT_FOLDING_MODEL {
    input:
      NOT truth_constant

    output:
      opposite_truth_constant
  }

  FORMULA_RESTRICTION_MODEL {
    if A_assigned:
      NOT A_evaluates_tooppositevalue

    RULE:
      restriction_context MUST be preserved
  }

  SHANNON_LINK_MODEL {
    formula:
      NOT phi

    cofactors:
      NOT(phi[p:=TRUE])
      NOT(phi[p:=FALSE])

    RULE:
      negation_commutes_withsubstitution
  }

  BDD_MODEL {
    negated_function:
      mayberepresented_bycomplemented_edges_orterminal_swap

    RULE:
      BDD_implementation_semantics MUST be explicit
  }

  CIRCUIT_MODEL {
    NOT:
      inverter_gate

    RULE:
      gate_signal_semantics requireBoolean encoding
  }

  INVERTER_MODEL {
    input_high:
      output_low

    input_low:
      output_high

    RULE:
      physical_signal_levels != logical_truth_values
  }

  PROOF_RULE_MODEL {
    negation:
      mayhaveintroduction_elimination_orclassical_rules

    RULE:
      proof_rules MUST be proof_system_specific
  }

  NEGATION_INTRODUCTION_MODEL {
    natural_deduction:
      assume_A
      derive_bottom
      discharge_A
      infer_NOT_A
  }

  NEGATION_ELIMINATION_MODEL {
    A
    NOT_A
    infer_bottom

    RULE:
      exact_rule depends_onformal system
  }

  CLASSICAL_REDUCTIO_MODEL {
    assume_NOT_A
    derive_bottom
    infer_A

    RULE:
      classical_principle
  }

  MODUS_TOLLENS_MODEL {
    A -> B
    NOT B
    therefore NOT A

    RULE:
      valid_classically_andinmanyotherlogics_underappropriate implication
  }

  CONTRAPOSITION_MODEL {
    A -> B
    equivalent_classically_to
    NOT B -> NOT A

    RULE:
      equivalence_notuniversal_acrosslogics
  }

  RESOLUTION_REFUTATION_MODEL {
    negated_goal:
      added_to premises

    process:
      deriveempty_clause

    RULE:
      negation_ofgoal MUST be correctlyformed
  }

  PROOF_BY_CONTRADICTION_MODEL {
    goal:
      A

    assume:
      NOT A

    derive:
      contradiction

    RULE:
      infer_A_onlywhenlogic_supportsreductio
  }

  SEMANTIC_ENTAILMENT_MODEL {
    Gamma entails NOT A:
      everymodel_ofGamma_makesA_FALSE_underclassical semantics
  }

  SATISFIABILITY_RELATION_MODEL {
    NOT A_satisfiable:
      iff A_falsifiable_underclassical semantics
  }

  VALIDITY_RELATION_MODEL {
    NOT A_valid:
      iff A_unsatisfiable_underclassical semantics
  }

  CONTRADICTION_RELATION_MODEL {
    NOT A_contradiction:
      iff A_tautology_underclassical semantics
  }

  TAUTOLOGY_RELATION_MODEL {
    NOT A_tautology:
      iff A_contradiction_underclassical semantics
  }

  COMPLEMENT_TRUTH_VECTOR_MODEL {
    truth_vector_NOT_A:
      pointwise_complement_oftruth_vector_A
  }

  SEMANTIC_EQUIVALENCE_MODEL {
    NOT_A_equivalent_NOT_B:
      iff A_equivalent_B_underclassical semantics

    RULE:
      equivalence_requirescommonvaluation_mapping
  }

  NEGATION_HASH_MODEL {
    semantic:
      derivefromcomplemented_truth_vector_orcanonical_AST

    RULE:
      hash_method MUST be explicit
  }

  NATURAL_LANGUAGE_FORMALISATION_MODEL {
    input:
      text_withnegation

    process:
      identifynegationcue
      identifyscope
      identifyatom_orcompound_operand
      constructNOT_formula

    RULE:
      preserveoriginal_text_andconfidence
  }

  NEGATION_SCOPE_AMBIGUITY_MODEL {
    example:
      "It is not true that A and B"

    candidates:
      NOT(A AND B)
      (NOT A) AND B_iflinguisticallysupported

    RULE:
      preservecandidate_parses_whenunresolved
  }

  NEGATIVE_QUANTIFIER_LANGUAGE_MODEL {
    examples:
      nobody
      nothing
      never

    RULE:
      mayrequirepredicate_logic_notpropositional_atom_negation
  }

  NEGATIVE_CONCORD_MODEL {
    language:
      multiple_negative_forms_mayexpresssingle_semantic_negation

    RULE:
      surface_negative_count != logical_negation_count
  }

  DOUBLE_NEGATIVE_LANGUAGE_MODEL {
    natural_language:
      mayexpressaffirmation_emphasis_orotherpragmaticmeaning

    RULE:
      do_not mechanicallyapplyclassical_double_negation_withoutsemantic parsing
  }

  FORMALISATION
_CONFIDENCE_MODEL {
    confidence:
      support_foridentified_negation_scope_andoperand

    RULE:
      confidence != truth_value
  }

  AMBIGUITY_MODEL {
    possible:
      scope
      symbol
      logic_system
      natural_language
      strong_vsdefault_negation
      unknown_vsfalse

    RULE:
      ambiguity MUST be resolved_orpreserved
  }

  ERROR_MODEL {
    possible:
      missing_operand
      malformed_scope
      invalid_symbol
      unsupported_nonclassical_semantics
      incorrect_double_negation_reduction

    RULE:
      error SHOULD identifysource_andlogic_context
  }

  VALIDATION_MODEL {
    checks:
      negation_identifier
      logic_system
      symbol
      arity
      operand
      scope
      truth_function
      transformation_rules
      proof_rules
      nonclassical_semantics

    RULE:
      validation MUST useexact_logic_version
  }

  EXPLAINABILITY_MODEL {
    output:
      source_formula
      negated_operand
      scope
      input_truth_value
      output_truth_value
      equivalent_forms
      proof_context

    RULE:
      explanation MUST distinguishlogical_negation_fromothernegative_relations
  }

  VERSION_MODEL {
    versioned:
      logic_system
      negation_semantics
      notation
      proof_rules
      ontology

    RULE:
      historical_negation_results MUST preserveversions
  }

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

    RULE:
      negation_record MUST remainprovenance_linked
  }

  INTEROPERABILITY_MODEL {
    exchange:
      canonical_negation_identifier
      symbol
      operand_AST
      scope
      truth_function
      logic_system
      version
      provenance

    RULE:
      symbol_withoutoperand_scope_isnotlossless
  }

  KNOWLEDGE_GRAPH_MODEL {
    nodes:
      negation
      formula
      atom
      literal
      truth_value
      proof_rule

    edges:
      NEGATES
      HAS_OPERAND
      COMPLEMENT_OF
      EQUIVALENT_TO
      DERIVED_BY
      TRANSFORMS_TO

    RULE:
      syntactic_semantic_andproof_relations MUST be typed
  }

  RELATIONSHIPS {
    Negation -> IS_A -> UnaryLogicalConnective
    Negation -> HAS_OPERAND -> Formula
    NegatedFormula -> CONTAINS -> Negation
    NegativeLiteral -> NEGATES -> AtomicProposition
    Negation -> MAPS -> TruthValueToComplement
    DoubleNegation -> MAY_REDUCE_TO -> OperandFormula
    Negation -> MAY_HAVE -> IntroductionRule
    Negation -> MAY_HAVE -> EliminationRule
  }

  SEMANTIC_EQUIVALENCE {
    "negation" ~= unary_logical_operator_expressinglogical_not_underdeclared_semantics
    "negative literal" ~= negation_ofatomic_proposition
    "classical negation" ~= Boolean_complement_truth_function

    negation != absence
    negation != unknown
    negation != database_NULL
    negation != numerical_negative_sign
    negation != set_complement_byidentity
    negation != negation_as_failure
    negation != opposite_concept
    contradiction != contrary
    double_negation_elimination != universally_valid_rule
    logical_NOT != bitwise_NOT
    semantic_confidence != truth_value
  }

  CONSTRAINTS {
    canonical_negation_identifier_must_be preserved = true
    logic_system_andversion_must_be identified = true
    negation_must_haveexactly_one_operand = true
    operand_scope_must_be explicit = true
    classical_negation_truth_function_must_mapTRUE_toFALSE_andFALSE_toTRUE = true
    negative_literal_andnegated_compound_formula_must_be distinguished = true
    double_negation_elimination_must_not_be applied_outside_supporting_logic = true
    De_Morgan_andothertransformations_must_be logic_specific = true
    negation_must_not_be interpreted_asabsence_unknown_orNULL = true
    strong_default_andnegation_as_failure_must_be distinguished = true
    natural_language_negation_scope_must_be preserved = true
    nonclassical_negation_must_defineitsown_semantics = true
    provenance_must_be preserved = true
  }

  NEGATION_RECORD_MODEL {
    RECORD:
      negation_identifier
      logic_system_identifier
      logic_version
      notation_profile
      symbol
      operand_formula_identifier
      operand_AST
      scope
      input_truth_value
      output_truth_value
      literal_status
      polarity
      negation_depth
      equivalent_forms
      NNF_transformation
      proof_rule_identifiers
      SAT_literal_mapping
      natural_language_source
      strong_or_default_status
      ambiguity_status
      formalisation_confidence
      version
      provenance

    RULE:
      negation_record MUST support_reconstruction_ofoperator_operand_scope_semantics_transformations_andprovenance
  }

  REASONING_RULES {
    IF negation_expression_received
      THEN identifylogic_andnotation
      resolveNOT_operator
      parseexact_operand_scope
      validatearity

    IF classical_truth_value_available
      THEN returnBoolean_complement

    IF nested_negation_detected
      THEN countnegation_depth
      simplifydouble_negation_onlywhenlogic_supports

    IF negation_applies_tocompound_AND_orOR
      THEN DeMorgan_transformation_maybeoffered_orapplied_underdeclaredlogic

    IF negative_literal_inSAT
      THEN map_toopposite_truth_requirement_ofunderlyingvariable

    IF natural_language_negation_received
      THEN identifycue_andsemantic_scope
      distinguishsentential_constituent_lexical_anddefault_negation
      preserveambiguity_andconfidence

    IF absence_unknown_NULL_orfailedproof_encountered
      THEN do_notmap_toNOT_A_withoutdeclaredclosed_world_orothersemantic rule

    IF nonclassical_logic_selected
      THEN loadlogic_specific_negation_operation_andproof_rules

    IF negation_semantics_orlogic_version_changes
      THEN preservehistorical_records
      revalidatecurrent_transformations_andproofs
  }

  VALIDATION {
    CHECK negation_identifier
    CHECK logic_system
    CHECK logic_version
    CHECK symbol
    CHECK arity
    CHECK operand
    CHECK operand_AST
    CHECK scope
    CHECK truth_function
    CHECK literal_status
    CHECK polarity
    CHECK double_negation
    CHECK De_Morgan_transformations
    CHECK NNF_status
    CHECK SAT_literal_mapping
    CHECK proof_rules
    CHECK strong_default_NAF_distinctions
    CHECK natural_language_scope
    CHECK nonclassical_semantics
    CHECK ambiguity
    CHECK formalisation_confidence
    CHECK version
    CHECK provenance
  }

  CONFIDENCE {
    negation_identity_confidence: 1.00
    operand_scope_confidence: 1.00
    classical_truth_function_confidence: 1.00
    equivalence_transformation_confidence: 1.00
    SAT_literal_confidence: 1.00
    proof_rule_confidence: 0.99
    natural_language_negation_confidence: 0.95
    nonclassical_semantics_confidence: 0.98

    RULE:
      confidence decreases when logic, notation, operand scope,
      natural-language context, negation type, proof system,
      version orprovenance is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_negation_expression:
      assign_orresolve_negation_identifier
      attachlogic_andnotation
      parseoperand_scope
      validate_semantics
      preserveprovenance
      compute_FLOW_HASH

    ON transformation:
      preserve_source_formula
      applyvalidated_negation_rule
      recordtarget_andlogic_context

    ON semantic_revision:
      preserveprevious_negation_definition
      registernewlogic_version
      revalidateequivalences_anddependentproofs
      recompute_FLOW_HASH

    ON natural_language_revision:
      preserveoriginal_formalisation
      attachnewcandidate_mapping_andconfidence
  }

  AI_CONSUMPTION {
    canonical_entity: Negation
    canonical_role: UnaryLogicalConnective

    interpretation_order:
      identify_logic_system
      identify_negation_symbol_orlinguisticcue
      resolvecanonical_NOT_identifier
      identifyexact_operand_andAST_scope
      validateunary_arity
      resolveclassical_orlogic_specific_truth_function
      identifynegative_literal_status
      computecomplement_truth_value_whenvaluationavailable
      detectdouble_negation_andDeMorgan_opportunities
      distinguishnegation_fromabsence_unknown_NULL_andfailure_toprove
      distinguishlogical_NOT_fromnumeric_bitwise_programming_andset_operations
      resolveproof_rules_andSAT_literal_role
      resolve_natural_language_negation_scope
      identifystrong_default_or nonclassical_negation_whenapplicable
      detectambiguity
      assignsemantic_confidence
      preserveversions_andprovenance
      emit_machine_resolvable_negation_structure

    ambiguity_controls:
      distinguish_negation_fromabsence
      distinguish_negation_fromunknown
      distinguish_negation_fromdatabase_NULL
      distinguish_negation_fromnumerical_negative_sign
      distinguish_negation_fromset_complement_byidentity
      distinguish_negation_fromnegation_as_failure
      distinguish_negation_fromopposite_concept
      distinguish_contradiction_fromcontrary
      distinguish_double_negation_elimination_fromuniversally_valid_rule
      distinguish_logical_NOT_frombitwise_NOT
      distinguish_semantic_confidence_fromtruth_value
      preserve_logic_symbol_operand_scope_semantics_proof_rules_version_andprovenance
  }

  PROVENANCE {
    ontology_scope:
      logical_negation_truth_complement_literals_transformations_proof_rules_nonclassical_semantics_andAI_interpretation

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

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      negation_identity_model
      logic_context_model
      symbol_model
      prefix_operator_model
      arity_model
      operand_model
      scope_model
      parenthesis_model
      precedence_model
      AST_model
      classical_truth_function_model
      truth_table_model
      involution_model
      double_negation_model
      double_negation_introduction_model
      double_negation_elimination_model
      literal_model
      complementary_literal_model
      complement_model
      contradiction_model
      excluded_middle_model
      noncontradiction_model
      De_Morgan_model
      implication_negation_model
      biconditional_negation_model
      XOR_negation_model
      NAND_model
      NOR_model
      negation_normal_form_model
      NNF_transformation_model
      CNF_model
      DNF_model
      SAT_model
      negative_literal_evaluation_model
      unit_negative_literal_model
      resolution_model
      tautological_clause_model
      contradictory_term_model
      Boolean_algebra_model
      set_complement_mapping_model
      bitwise_NOT_distinction_model
      programming_NOT_model
      numeric_negation_distinction_model
      natural_language_negation_model
      sentential_negation_model
      constituent_negation_model
      negative_prefix_distinction_model
      denial_model
      opposition_model
      contrary_model
      contradictory_relation_model
      absence_distinction_model
      unknown_distinction_model
      NULL_distinction_model
      open_world_model
      closed_world_model
      negation_as_failure_model
      strong_negation_model
      default_negation_model
      epistemic_negation_distinction_model
      modal_negation_model
      temporal_negation_model
      quantifier_negation_distinction_model
      intuitionistic_negation_model
      paraconsistent_negation_model
      many_valued_negation_model
      fuzzy_negation_model
      three_valued_negation_model
      four_valued_negation_model
      negation_polarity_model
      odd_even_negation_model
      negation_depth_model
      negation_count_model
      negation_simplification_model
      constant_folding_model
      formula_restriction_model
      Shannon_link_model
      BDD_model
      circuit_model
      inverter_model
      proof_rule_model
      negation_introduction_model
      negation_elimination_model
      classical_reductio_model
      modus_tollens_model
      contraposition_model
      resolution_refutation_model
      proof_by_contradiction_model
      semantic_entailment_model
      satisfiability_relation_model
      validity_relation_model
      contradiction_relation_model
      tautology_relation_model
      complement_truth_vector_model
      semantic_equivalence_model
      negation_hash_model
      natural_language_formalisation_model
      negation_scope_ambiguity_model
      negative_quantifier_language_model
      negative_concord_model
      double_negative_language_model
      formalisation_confidence_model
      ambiguity_model
      error_model
      validation_model
      explainability_model
      version_model
      provenance_model
      interoperability_model
      knowledge_graph_model
      relationships
      semantic_equivalence
      constraints
      negation_record_model
      reasoning_rules
      validation
      confidence_model
      update_model
      AI_consumption_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      negation_identity_logic_system_orsymbol_mapping_changes
      operand_scope_precedence_orAST_semantics_change
      classical_truth_function_ortruth_table_changes
      double_negation_DeMorgan_normal_form_orSAT_semantics_change
      proof_rule_resolution_orcontradiction_reasoning_changes
      nonclassical_intuitionistic_paraconsistent_manyvalued_orfuzzy_negation_changes
      open_closed_world_strong_default_ornegation_asfailure_semantics_change
      natural_language_negation_scope_orformalisation_changes
      negation_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