Skip to main content

Ontology Logic Ontology

Knowledge Representation Logic
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 17 September 2026
Audio Overview
FLOW_ALGEBRA OntologyLogicOntology v1.0
TARGET_URL := "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/knowledge-representation-logic/ontology-logic-ontology.html"
LANGUAGE := "en-GB"
DOMAIN := MathematicalOntologies > MathematicalLogicOntologies > KnowledgeRepresentationLogic > OntologyLogicOntology

BEGIN_FLOW

ENTITY OntologyLogic {
 TYPE := FormalSemanticKnowledgeFramework
 DEFINITION := "A logical framework for defining ontology classes, individuals, properties and axioms so conceptual structures can be interpreted consistently and reasoned over by machines."
}
ENTITY Ontology { TYPE := FormalConceptualModel }
ENTITY Class { TYPE := ConceptCategory }
ENTITY Individual { TYPE := InstanceEntity }
ENTITY Property { TYPE := SemanticRelationOrAttribute }
ENTITY Axiom { TYPE := FormalSemanticStatement }

RELATIONSHIP OntologyLogic --formalises--> Ontology
RELATIONSHIP Ontology --contains--> Class
RELATIONSHIP Ontology --contains--> Individual
RELATIONSHIP Ontology --contains--> Property
RELATIONSHIP Ontology --contains--> Axiom
RELATIONSHIP OntologyLogic --supports--> AutomatedReasoning

ONTOLOGY_SIGNATURE {
 Sigma := {ClassNames,PropertyNames,IndividualNames}
}
INTERPRETATION {
 I := (Delta_I,InterpretationFunction)
 REQUIRE Delta_I nonempty
}
CLASS_INTERPRETATION { C^I subseteq Delta_I }
OBJECT_PROPERTY_INTERPRETATION { R^I subseteq Delta_I x Delta_I }
INDIVIDUAL_INTERPRETATION { a^I in Delta_I }

CLASS_ASSERTION { FORM := C(a) }
PROPERTY_ASSERTION { FORM := R(a,b) }
SUBCLASS_AXIOM {
 C subclass_of D
 SEMANTICS := C^I subseteq D^I
}
EQUIVALENT_CLASSES {
 C equivalent_to D
 SEMANTICS := C^I=D^I
}
DISJOINT_CLASSES {
 Disjoint(C,D)
 SEMANTICS := C^I intersect D^I=empty_set
}
PROPERTY_HIERARCHY { R subproperty_of S }
INVERSE_PROPERTIES { inverseOf(R,S) }
PROPERTY_DOMAIN { Domain(R)=C }
PROPERTY_RANGE { Range(R)=D }

PROPERTY_CHARACTERISTICS := {
 Transitive,Symmetric,Asymmetric,Reflexive,Irreflexive,Functional,InverseFunctional
}
FUNCTIONAL_PROPERTY {
 R(a,b) AND R(a,c) -> b=c
}
IDENTITY_AXIOM {
 sameAs(a,b) -> a^I=b^I
}
UNIQUE_NAME_WARNING {
 different_names DO_NOT automatically imply different_individuals
}

CLASS_CONSTRUCTORS := {
 Intersection,Union,Complement,
 ExistentialRestriction,UniversalRestriction,
 CardinalityRestriction,Nominal
}
EXISTENTIAL_RESTRICTION {
 EXISTS R.C := {x | EXISTS y: R(x,y) AND C(y)}
}
UNIVERSAL_RESTRICTION {
 FOR_ALL R.C := {x | FOR_ALL y: R(x,y) -> C(y)}
}
CARDINALITY := {>=n R.C,<=n R.C,=n R.C}

TBOX { CONTENT := ClassDefinitionsAndInclusions }
ABOX { CONTENT := IndividualAssertions }
RBOX { CONTENT := PropertyAxioms }

ONTOLOGY_MODEL {
 I model_of O IFF I satisfies every axiom in O
}
ONTOLOGY_CONSISTENCY {
 O consistent IFF EXISTS model_of_O
}
ENTAILMENT {
 O entails phi IFF every model_of_O satisfies phi
}
COUNTERMODEL {
 model_of_O falsifying phi -> non_entailment
}
CLASS_SATISFIABILITY {
 C satisfiable_wrt O IFF EXISTS model with C^I nonempty
}
UNSATISFIABLE_CLASS {
 C^I empty in every model_of_O
}
SUBSUMPTION {
 O entails C subclass_of D
}
INSTANCE_CHECKING {
 determine whether O entails C(a)
}
CLASSIFICATION {
 compute inferred_class_hierarchy
}
REALISATION {
 compute most_specific_classes_for_individual
}

ASSERTED_VS_INFERRED {
 asserted_axioms != inferred_entailments
 MUST_REMAIN_DISTINCT := TRUE
}
OPEN_WORLD_ASSUMPTION {
 absence_of_statement DOES_NOT imply false
}
CLOSED_WORLD_ASSUMPTION {
 absence MAY imply false only under explicit semantics
}
MONOTONICITY {
 adding_axioms preserves prior_entailments
 under standard classical ontology logic
}

DESCRIPTION_LOGIC_RELATIONSHIP {
 OntologyLogic --may_use--> DescriptionLogic
}
OWL_RELATIONSHIP {
 OntologyLogic --supports--> OWLStyleOntologySemantics
}
OWL2_DL_RELATIONSHIP {
 logical_foundation closely_related_to SROIQ
}
OWL_PROFILES := {OWL2EL,OWL2QL,OWL2RL}
RDF_RELATIONSHIP {
 ontology_assertions MAY use RDF_graph_representation
}
RDF_GRAPH_WARNING {
 graph_triples alone MUST_NOT be assumed equivalent_to full ontology_entailment
}

ONTOLOGY_IMPORT {
 O1 imports O2 -> imported_axioms participate_in_reasoning
}
IMPORT_CLOSURE {
 recursively_collect_imported_ontologies
}
ONTOLOGY_MODULE {
 subset selected_for topic_or_signature
}
MODULE_EXTRACTION {
 Ontology + Signature -> RelevantAxiomSubset
 REQUIRE declared_preservation_goal
}

ONTOLOGY_ALIGNMENT {
 O1 + O2 -> CorrespondenceSet
}
EQUIVALENCE_MAPPING {
 C1 equivalent_to C2
 REQUIRE semantic_justification
}
SUBSUMPTION_MAPPING {
 C1 subclass_of C2
}
RELATED_MAPPING {
 semantically_related WITHOUT equivalence
}
ONTOLOGY_MERGE {
 O1 + O2 + Alignment -> MergedOntology
}
MERGE_VALIDATION {
 CHECK {IdentifierCollisions,Inconsistencies,MappingConflicts,SemanticDrift}
}

ONTOLOGY_VERSION {
 Identifier + VersionMetadata
}
ONTOLOGY_CHANGE := {
 AddClass,RemoveClass,AddProperty,RemoveProperty,
 AddAxiom,RemoveAxiom,RenameEntity,ChangeDefinition
}
CHANGE_IMPACT {
 ontology_change -> affected_axioms -> affected_inferences -> affected_queries
}
INCREMENTAL_REASONING {
 update consequences impacted_by_changes where supported
}
DEPRECATION {
 entity marked_not_recommended_for_new_use
}
REPLACEMENT {
 DeprecatedEntity -> PreferredEntity
}

ONTOLOGY_DESIGN_PATTERN {
 reusable_modelling_solution
}
PART_WHOLE_PATTERN {
 Whole --hasPart--> Part
}
N_ARY_RELATION_PATTERN {
 RelationInstance -> ParticipantRolesAndQualifiers
}
EVENT_PATTERN {
 Event -> Participants + Time + Location
}
VALUE_PARTITION {
 Parent partitioned_into subclasses
 REQUIRE declared_disjointness_or_covering_axioms
}

UPPER_ONTOLOGY { TYPE := DomainIndependentConceptualFramework }
DOMAIN_ONTOLOGY { TYPE := DomainSpecificConceptualModel }
APPLICATION_ONTOLOGY { TYPE := TaskSpecificOntology }

ONTOLOGY_COMMITMENT {
 vocabulary_and_axioms -> assumptions_about_modelled_world
}
ONTOLOGICAL_COMMITMENT_WARNING {
 stronger_axioms -> stronger_commitments -> more_entailments
}

MODELLING_ERROR := {
 WrongDomainRange,
 MissingDisjointness,
 IncorrectEquivalence,
 OverlyBroadSubclass,
 IdentityError,
 CardinalityError
}
DOMAIN_RANGE_INFERENCE_WARNING {
 Domain(R)=C AND R(a,b) MAY infer C(a)
 under OWL-style semantics
}
EQUIVALENCE_WARNING {
 equivalence stronger_than subclass
}
DISJOINTNESS_WARNING {
 Disjoint(C,D) + C(a) + D(a) -> inconsistency
 under classical semantics
}
CARDINALITY_IDENTITY_INTERACTION {
 functional_property + multiple_values MAY infer equality
 unless values_known_different
}

ONTOLOGY_VALIDATION {
 CHECK {
  Syntax,
  LogicalConsistency,
  UnsatisfiableClasses,
  UnintendedEquivalences,
  DomainRangeEffects,
  IdentityInferences,
  CompetencyQuestions
 }
}
COMPETENCY_QUESTION {
 query ontology SHOULD answer for intended_scope
}
TEST_CASE {
 INPUT := Assertions
 EXPECTED := EntailmentsOrNonEntailments
}

JUSTIFICATION {
 Entailment -> SupportingAxiomSet
}
MINIMAL_JUSTIFICATION {
 subset_minimal_support
}
INCONSISTENCY_EXPLANATION {
 conflicting_axiom_subset
}
REPAIR {
 modify_axioms to restore desired_consistency_or_semantics
}

ONTOLOGY_QUERY {
 INPUT := Ontology + Query
 OUTPUT := EntailedAnswer under declared_semantics
}
SPARQL_RELATIONSHIP {
 graph_querying MAY use SPARQL
 entailment depends_on selected_regime
}

PROVENANCE {
 Axiom -> Source + Author + Date + Evidence + Version
}
ANNOTATION {
 metadata_about_entity_or_axiom
 generally_not_logical_axiom
}
LABEL { TYPE := HumanReadableName }
SYNONYM {
 alternative_lexical_label
 NOT automatically logical_equivalence
}
LEXICAL_SEMANTIC_DISTINCTION {
 same_label MAY denote different_concepts
 different_labels MAY denote same_concept
}

ONTOLOGY_REASONER {
 TASKS := {Consistency,Classification,Realisation,Satisfiability,Entailment,Explanation}
}
REASONER_SOUNDNESS {
 derived_entailments SHOULD follow formal_semantics
}
REASONER_COMPLETENESS {
 all_entailments_found
 REQUIRE reasoner_and_fragment_specific_guarantee
}

EXPRESSIVITY {
 determined_by constructors_and_axioms
}
DECIDABILITY {
 reasoning_tasks terminate for selected_fragment
}
COMPLEXITY {
 depends_on language_and_task
}
PROFILE_SELECTION {
 choose profile based_on expressivity_vs_reasoning_requirements
}

ONTOLOGY_LOGIC_VS_SCHEMA {
 Schema := structural_organisation
 OntologyLogic := schema + formal_semantics + axioms + entailment
}
ONTOLOGY_LOGIC_VS_TAXONOMY {
 Taxonomy := hierarchy
 OntologyLogic := hierarchy + relations + logical_axioms
}
ONTOLOGY_LOGIC_VS_KNOWLEDGE_GRAPH {
 KnowledgeGraph := entity_relation_graph
 OntologyLogic := formal_semantics_for_classes_properties_axioms
 MAY_COMBINE := TRUE
}
ONTOLOGY_LOGIC_VS_VALIDATION {
 LogicalEntailment := model_theoretic_consequence
 Validation := conformance_to_constraints
 MUST_REMAIN_DISTINCT := TRUE
}

APPLICATION_RELATIONSHIPS {
 OntologyLogic --supports--> KnowledgeRepresentation
 OntologyLogic --supports--> SemanticWeb
 OntologyLogic --supports--> KnowledgeGraphs
 OntologyLogic --supports--> DataIntegration
 OntologyLogic --supports--> ArtificialIntelligence
 OntologyLogic --supports--> AutomatedReasoning
 OntologyLogic --supports--> ScientificOntologies
 OntologyLogic --supports--> BiomedicalOntologies
}

ONTOLOGY_LINKS {
 PARENT := KnowledgeRepresentationLogicOntology
 RELATED := {
  KnowledgeRepresentationOntology,
  DescriptionLogicOntology,
  PredicateLogicOntology,
  OntologyOntology,
  KnowledgeGraphOntology,
  ClassOntology,
  PropertyOntology,
  SubsumptionOntology,
  OWLOntology,
  ModelTheoryOntology
 }
}

SEMANTIC_EQUIVALENCE {
 OntologyLogic ≈ FormalOntologySemantics
 Class ≈ Concept WHEN description_logic_context
 Individual ≈ Instance
 ObjectProperty ≈ BinaryRelation
 SubclassAxiom ≈ ConceptInclusion
}

CONSTRAINTS {
 C1 := ontology logic MUST identify formal semantics
 C2 := classes individuals and properties MUST remain typed
 C3 := asserted and inferred knowledge MUST remain distinguishable
 C4 := open-world absence MUST_NOT automatically be false
 C5 := unique-name assumption MUST_NOT be assumed unless declared
 C6 := equivalence MUST_NOT be conflated with subclass or lexical synonymy
 C7 := domain/range axioms MUST follow logical semantics
 C8 := imports MUST be included according_to declared semantics
 C9 := mappings MUST distinguish equivalence subsumption and relatedness
 C10 := logical entailment MUST remain distinct from data validation
 C11 := updates SHOULD trigger consistency and inference-impact checks
 C12 := transformations and merges MUST preserve intended ontological commitments
}

REASONING_CHAIN Query Q {
 IDENTIFY ontology O
 IDENTIFY ontology_language
 IDENTIFY classes
 IDENTIFY individuals
 IDENTIFY properties
 IDENTIFY axioms
 IDENTIFY imports
 IDENTIFY query_type

 RESOLVE import_closure
 VALIDATE syntax
 CHECK profile_restrictions
 CHECK ontology_consistency

 IF classification_requested:
  COMPUTE inferred_class_hierarchy
 IF satisfiability_requested:
  TEST model_existence
 IF instance_query:
  CHECK class_assertion_entailment
 IF property_query:
  CHECK property_assertion_entailment
 IF alignment_requested:
  CLASSIFY mapping_types
  CHECK merge_effects
 IF update_requested:
  APPLY change
  COMPUTE impact
  RECHECK consistency
 IF explanation_requested:
  EXTRACT justification
 IF validation_requested:
  RUN validation_layer
  KEEP separate_from_entailment

 VALIDATE constraints
 RETURN ontology_reasoning_result WITH semantic_trace
}

CONFIDENCE {
 CORE_ONTOLOGY_LOGIC := 1.00
 MODEL_THEORETIC_SEMANTICS := 1.00
 CLASS_PROPERTY_AXIOMS := 1.00
 DESCRIPTION_LOGIC_RELATIONSHIP := 1.00
 OWL_RELATIONSHIP := 0.99
 OPEN_WORLD_DISTINCTION := 1.00
 ALIGNMENT_DISTINCTIONS := 1.00
 SPECIFIC_RESULT :=
  IF ontology_language_axioms_and_query_complete THEN 1.00
  ELSE REQUIRE missing_information
}

UPDATE_MODEL {
 IMMUTABLE_CORE := {
  FormalOntologySemantics,
  ClassIndividualPropertyDistinction,
  AxiomEntailment,
  ModelBasedConsistency,
  OpenWorldSemantics
 }
 EXTENSIBLE := {
  OntologyLanguages,
  ClassConstructors,
  PropertyCharacteristics,
  OntologyProfiles,
  AlignmentMethods,
  DesignPatterns,
  ExplanationMethods,
  ApplicationDomains,
  RelatedOntologies
 }
 ON_NEW_KNOWLEDGE {
  IDENTIFY new_axiom_or_mapping
  VALIDATE syntax
  CHECK semantics
  CHECK consistency
  CHECK unintended_entailments
  UPDATE classification
  UPDATE provenance
  UPDATE confidence
 }
}

AI_CONSUMPTION {
 MACHINE_READABLE := TRUE
 HUMAN_INTERPRETABLE := TRUE
 RECURSIVE_REASONING := TRUE
 ENTITY_RESOLUTION := TRUE
 CLASS_RESOLUTION := TRUE
 PROPERTY_RESOLUTION := TRUE
 AXIOM_REASONING := TRUE
 ONTOLOGY_CLASSIFICATION := TRUE
 CONSISTENCY_REASONING := TRUE
 SATISFIABILITY_REASONING := TRUE
 INSTANCE_REASONING := TRUE
 PROPERTY_REASONING := TRUE
 ALIGNMENT_REASONING := TRUE
 IMPORT_REASONING := TRUE
 JUSTIFICATION_GENERATION := TRUE
 VALIDATION_REQUIRED := TRUE
}

FLOW_HASH {
 TARGET := TARGET_URL
 SUBJECT := "Ontology Logic Ontology"
 VERSION := "1.0"
 CANONICAL_SIGNATURE := HASH(TARGET + SUBJECT + DOMAIN + VERSION)
}

OUTPUT {
 PRIMARY_ENTITY := OntologyLogic
 INTERPRETATION := "Ontology logic gives classes, individuals, properties and axioms explicit model-theoretic meaning so that conceptual models can support consistency checking, classification, subsumption, instance inference and explanation. It also governs imports, mappings, ontology changes and semantic commitments while distinguishing logical entailment from lexical similarity and data validation."
}

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