Skip to main content

Description 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 DescriptionLogicOntology v1.0
TARGET_URL := "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/knowledge-representation-logic/description-logic-ontology.html"
LANGUAGE := "en-GB"
DOMAIN := MathematicalOntologies > MathematicalLogicOntologies > KnowledgeRepresentationLogic > DescriptionLogicOntology

BEGIN_FLOW

ENTITY DescriptionLogic {
 TYPE := FormalKnowledgeRepresentationLogicFamily
 DEFINITION := "A family of logic-based knowledge representation languages for describing concepts, individuals and binary relations with model-theoretic semantics and decidable reasoning fragments."
}
ENTITY Concept { TYPE := UnaryPredicateLikeClass }
ENTITY Role { TYPE := BinaryRelation }
ENTITY Individual { TYPE := DomainEntity }

RELATIONSHIP DescriptionLogic --represents--> Concept
RELATIONSHIP DescriptionLogic --represents--> Role
RELATIONSHIP DescriptionLogic --represents--> Individual
RELATIONSHIP DescriptionLogic --supports--> OntologyReasoning
RELATIONSHIP DescriptionLogic --relates_to--> FirstOrderLogic

INTERPRETATION {
 I := (Delta_I, InterpretationFunction)
 REQUIRE Delta_I nonempty
}
CONCEPT_INTERPRETATION {
 C^I subseteq Delta_I
}
ROLE_INTERPRETATION {
 R^I subseteq Delta_I x Delta_I
}
INDIVIDUAL_INTERPRETATION {
 a^I in Delta_I
}

TOP_CONCEPT {
 TOP^I := Delta_I
}
BOTTOM_CONCEPT {
 BOTTOM^I := empty_set
}
CONCEPT_INTERSECTION {
 (C AND D)^I := C^I intersect D^I
}
CONCEPT_UNION {
 (C OR D)^I := C^I union D^I
 REQUIRE language_supports_union
}
CONCEPT_NEGATION {
 (NOT C)^I := Delta_I minus C^I
 REQUIRE language_supports_negation
}
EXISTENTIAL_RESTRICTION {
 (EXISTS R.C)^I :=
  {x | EXISTS y: (x,y) in R^I AND y in C^I}
}
UNIVERSAL_RESTRICTION {
 (FOR_ALL R.C)^I :=
  {x | FOR_ALL y: (x,y) in R^I implies y in C^I}
}

TBOX {
 TYPE := TerminologicalAxioms
}
ABOX {
 TYPE := AssertionalAxioms
}
RBOX {
 TYPE := RoleAxioms
}

GENERAL_CONCEPT_INCLUSION {
 FORM := C subsumed_by D
 SEMANTICS := C^I subseteq D^I
}
CONCEPT_EQUIVALENCE {
 FORM := C equivalent_to D
 SEMANTICS := C^I = D^I
}
DISJOINTNESS {
 FORM := Disjoint(C,D)
 SEMANTICS := C^I intersect D^I = empty_set
}
CONCEPT_ASSERTION {
 FORM := C(a)
 SEMANTICS := a^I in C^I
}
ROLE_ASSERTION {
 FORM := R(a,b)
 SEMANTICS := (a^I,b^I) in R^I
}
NEGATIVE_ROLE_ASSERTION {
 FORM := NOT R(a,b)
 REQUIRE language_support
}
INDIVIDUAL_EQUALITY {
 a=b
 SEMANTICS := a^I=b^I
}
INDIVIDUAL_DIFFERENCE {
 a!=b
 SEMANTICS := a^I!=b^I
}

ROLE_HIERARCHY {
 R subrole_of S
 SEMANTICS := R^I subseteq S^I
}
INVERSE_ROLE {
 R^- := inverse_of_R
}
TRANSITIVE_ROLE {
 R(x,y) AND R(y,z) -> R(x,z)
}
SYMMETRIC_ROLE {
 R(x,y) -> R(y,x)
}
ASYMMETRIC_ROLE {
 R(x,y) -> NOT R(y,x)
 under applicable semantics
}
REFLEXIVE_ROLE {
 FOR_ALL x: R(x,x)
}
IRREFLEXIVE_ROLE {
 FOR_ALL x: NOT R(x,x)
}
FUNCTIONAL_ROLE {
 FOR_ALL x,y,z:
  R(x,y) AND R(x,z) -> y=z
}
INVERSE_FUNCTIONAL_ROLE {
 FOR_ALL x,y,z:
  R(y,x) AND R(z,x) -> y=z
}

NUMBER_RESTRICTION {
 MIN := >=n R.C
 MAX := <=n R.C
 EXACT := =n R.C
 REQUIRE language_fragment_support
}
NOMINAL {
 FORM := {a}
 INTERPRETATION := {a^I}
 REQUIRE nominal_support
}
HAS_VALUE {
 FORM := EXISTS R.{a}
}
SELF_RESTRICTION {
 FORM := EXISTS R.Self
 REQUIRE language_support
}

ALC {
 FEATURES := {
  AtomicConcepts,
  TOP,
  BOTTOM,
  Negation,
  Intersection,
  Union,
  ExistentialRestriction,
  UniversalRestriction
 }
}
AL {
 TYPE := AttributiveLanguage
}
FL0 {
 TYPE := RestrictedDescriptionLogic
}
EL {
 TYPE := LightweightDescriptionLogicFamily
 COMMON_STRENGTH := efficient_classification_for_large_ontologies
}
DL_LITE {
 TYPE := LightweightDescriptionLogicFamily
 COMMON_STRENGTH := query_answering_and_data_access
}
SROIQ {
 TYPE := HighlyExpressiveDescriptionLogic
 RELATIONSHIP := logical_basis_for_OWL2_DL
 FEATURES_MAY_INCLUDE := {
  TransitiveRoles,
  RoleHierarchies,
  Nominals,
  Inverses,
  QualifiedNumberRestrictions,
  ComplexRoleInclusions
 }
}

OWL_RELATIONSHIP {
 OWL2_DL --closely_related_to--> SROIQ
 REQUIRE profile_and_semantic_details
}
OWL_EL_RELATIONSHIP {
 optimised_for large_taxonomies_and_classification
}
OWL_QL_RELATIONSHIP {
 optimised_for query_answering_over_relational_data
}
OWL_RL_RELATIONSHIP {
 optimised_for rule_based_reasoning
}

OPEN_WORLD_ASSUMPTION {
 absence_of_assertion DOES_NOT imply negation
}
UNIQUE_NAME_ASSUMPTION {
 different_names do_not_automatically_imply_different_individuals
}
MONOTONICITY {
 adding_axioms does_not_remove_previous_entailments
 under standard classical DL semantics
}

CONCEPT_SATISFIABILITY {
 C satisfiable_wrt_KB
 IFF EXISTS model I of KB with C^I nonempty
}
KB_CONSISTENCY {
 KB consistent IFF EXISTS model satisfying all axioms
}
SUBSUMPTION {
 KB entails C subsumed_by D
 IFF every model_of_KB satisfies inclusion
}
EQUIVALENCE_TEST {
 C equivalent_to D
 IFF C subsumed_by D AND D subsumed_by C
}
DISJOINTNESS_TEST {
 C and D disjoint
 IFF KB entails C AND D subsumed_by BOTTOM
}
INSTANCE_CHECKING {
 determine whether KB entails C(a)
}
ROLE_INSTANCE_CHECKING {
 determine whether KB entails R(a,b)
}
CLASSIFICATION {
 compute inferred concept hierarchy
}
REALISATION {
 determine most_specific_named_concepts entailed_for_individual
}

REDUCTION_TO_SATISFIABILITY {
 SUBSUMPTION C subsumed_by D
 MAY test unsatisfiability_of C AND NOT D
 in DLs supporting required constructors
}
INCONSISTENCY_DETECTION {
 IF no model exists
 THEN KB inconsistent
}
UNSATISFIABLE_CONCEPT {
 C^I empty in every model_of_KB
}

TABLEAU_REASONING {
 TYPE := DecisionProcedureFamily
 PROCESS :=
  expand constraints on individuals/nodes
  apply constructor rules
  detect clashes
  branch where required
}
TABLEAU_NODE {
 LABEL := SetOfConceptExpressions
}
EXISTENTIAL_RULE {
 EXISTS R.C in label(x)
 -> create_or_reuse y with R(x,y) and C in label(y)
 under calculus conditions
}
UNIVERSAL_RULE {
 FOR_ALL R.C in label(x)
 AND R(x,y)
 -> add C to label(y)
}
CONJUNCTION_RULE {
 C AND D in label(x)
 -> add C and D
}
DISJUNCTION_RULE {
 C OR D in label(x)
 -> branch_on C or D
}
CLASH {
 C and NOT C in same node_label
 OR other violated restriction
}
OPEN_BRANCH {
 no clash and saturated
 -> candidate_model
 under calculus conditions
}
BLOCKING {
 PURPOSE := ensure_termination_for_recursive_structures
 REQUIRE calculus_specific_blocking_condition
}

MODEL_CONSTRUCTION {
 saturated_clash_free_structure
 -> canonical_or_candidate_model
 under tableau theorem conditions
}
CACHE {
 reuse reasoning_results_for_repeated_subproblems
}
NORMALISATION {
 transform axioms/concepts into reasoner-friendly normal form
 REQUIRE semantics_preserved
}

ROLE_CHAIN {
 R1 o R2 subrole_of S
 REQUIRE expressive_role_inclusion_support
}
REGULARITY_RESTRICTION {
 complex_role_inclusions
 MUST satisfy required regularity conditions
 in SROIQ-style logics
}
SIMPLE_ROLE_RESTRICTION {
 number_restrictions/self/disjointness interactions
 MAY require role_simplicity
 under expressive DL syntax
}

DOMAIN_AXIOM {
 Domain(R)=C
 CAN_BE_EXPRESSED_AS:
  EXISTS R.TOP subsumed_by C
}
RANGE_AXIOM {
 Range(R)=C
 CAN_BE_EXPRESSED_AS:
  TOP subsumed_by FOR_ALL R.C
}

DEFINED_CONCEPT {
 C equivalent_to Description
}
PRIMITIVE_CONCEPT {
 C subsumed_by Description
}
NECESSARY_CONDITION {
 C subsumed_by D
}
NECESSARY_AND_SUFFICIENT {
 C equivalent_to D
}

ONTOLOGY_CLASSIFICATION {
 asserted_hierarchy
 + logical_axioms
 -> inferred_hierarchy
}
INFERRED_SUBCLASS {
 not_explicitly_asserted
 but entailed_by_KB
}
INFERRED_EQUIVALENCE {
 mutual_subsumption
 -> equivalent_concepts
}
INFERRED_DISJOINTNESS {
 entailed_empty_intersection
}

EXPLANATION {
 Entailment -> SupportingAxioms
}
JUSTIFICATION {
 subset_of_KB sufficient_for_entailment
}
MINIMAL_JUSTIFICATION {
 justification subset-minimal
}
INCONSISTENCY_JUSTIFICATION {
 subset_of_KB sufficient_for_inconsistency
}

QUERY_ANSWERING {
 conjunctive_query_or_instance_query
 -> certain_answers
 under declared DL semantics
}
CERTAIN_ANSWER {
 tuple t
 such_that query holds
 in every model_of_KB
}
ONTOLOGY_BASED_DATA_ACCESS {
 ABBREVIATION := OBDA
 Ontology + DataSourceMappings + Query
 -> semantically_enriched_answers
}
QUERY_REWRITING {
 query + ontology
 -> rewritten_query_over_data
 common_in DL-Lite/OWL-QL style approaches
}

DESCRIPTION_LOGIC_VS_FOL {
 DLs := syntactically_restricted_fragments_or_relatives_of_FOL
 PURPOSE := balance_expressivity_and_decidability
}
DESCRIPTION_LOGIC_VS_RULES {
 DL := model_theoretic_class_and_role_reasoning
 Rules := implication_or_production_style_reasoning
 MAY_COMBINE_WITH_RESTRICTIONS := TRUE
}
DESCRIPTION_LOGIC_VS_DATABASE {
 DL commonly_open_world
 Database commonly_closed_world_for_querying
 MUST_NOT_CONFLATE := TRUE
}
DESCRIPTION_LOGIC_VS_VALIDATION {
 DL entailment := semantic_consequence
 DataValidation := conformance_to_constraints
 MUST_REMAIN_DISTINCT := TRUE
}

EXPRESSIVITY_DECIDABILITY_TRADEOFF {
 adding_language_features
 MAY increase reasoning_complexity
 or threaten_decidability_without_restrictions
}
COMPLEXITY {
 depends_on DL_fragment_and_reasoning_task
}
TRACTABLE_PROFILE {
 restricted_language designed_for_polynomial_or_practical_reasoning
 under profile-specific guarantees
}

APPLICATION_RELATIONSHIPS {
 DescriptionLogic --supports--> Ontologies
 DescriptionLogic --supports--> SemanticWeb
 DescriptionLogic --supports--> KnowledgeRepresentation
 DescriptionLogic --supports--> KnowledgeGraphs
 DescriptionLogic --supports--> BiomedicalOntologies
 DescriptionLogic --supports--> EnterpriseKnowledgeModels
 DescriptionLogic --supports--> AutomatedReasoning
 DescriptionLogic --supports--> DataIntegration
 DescriptionLogic --supports--> ArtificialIntelligence
}

ONTOLOGY_LINKS {
 PARENT := KnowledgeRepresentationLogicOntology
 RELATED := {
  KnowledgeRepresentationOntology,
  PredicateLogicOntology,
  FirstOrderLogicOntology,
  OntologyOntology,
  KnowledgeGraphOntology,
  ConceptOntology,
  RoleOntology,
  SubsumptionOntology,
  TableauReasoningOntology,
  OWLOntology,
  ModelTheoryOntology
 }
}

SEMANTIC_EQUIVALENCE {
 Concept ≈ Class WHEN description_logic_context
 Role ≈ BinaryRelation
 Individual ≈ Instance
 ConceptInclusion ≈ SubsumptionAxiom
 GCI ≈ GeneralConceptInclusion
}

CONSTRAINTS {
 C1 := every concept role and individual MUST be interpreted in a declared DL semantics
 C2 := TBox ABox and RBox knowledge SHOULD remain distinguishable
 C3 := open-world absence MUST NOT be interpreted as explicit negation
 C4 := unique-name assumption MUST NOT be assumed unless declared
 C5 := constructor use MUST be valid for selected DL fragment
 C6 := role-chain and number-restriction interactions MUST respect fragment restrictions
 C7 := satisfiability consistency subsumption and instance checking MUST remain distinct reasoning tasks
 C8 := asserted hierarchy MUST NOT be conflated with inferred hierarchy
 C9 := query answers MUST respect selected entailment semantics
 C10 := validation constraints MUST NOT be conflated with DL entailment
 C11 := OWL profile claims MUST respect actual profile expressivity
 C12 := transformations/normalisations MUST preserve intended model-theoretic semantics
}

REASONING_CHAIN Query Q {
 IDENTIFY DL_fragment
 IDENTIFY TBox
 IDENTIFY ABox
 IDENTIFY RBox
 IDENTIFY query_type
 VALIDATE syntax_and_fragment_restrictions
 NORMALISE axioms_if_required

 IF consistency_query:
  RUN satisfiability_reasoner_on_KB

 IF concept_satisfiability:
  TEST model_exists_with_nonempty_concept

 IF subsumption_query:
  TEST C AND NOT D for unsatisfiability
  when reduction_valid

 IF classification:
  COMPUTE inferred_subsumption_hierarchy

 IF instance_query:
  TEST whether KB entails C(a)

 IF tableau_reasoning {
  APPLY constructor_expansion_rules
  DETECT clashes
  APPLY blocking
  RETURN open_or_closed_status
 }

 IF query_answering:
  COMPUTE certain_answers_under_semantics

 BUILD justification_if_requested
 VALIDATE constraints
 RETURN reasoning_result WITH semantic_trace
}

CONFIDENCE {
 CORE_DESCRIPTION_LOGIC := 1.00
 MODEL_THEORETIC_SEMANTICS := 1.00
 ALC_CONSTRUCTORS := 1.00
 SUBSUMPTION_REASONING := 1.00
 TABLEAU_CORE := 1.00
 OPEN_WORLD_DISTINCTION := 1.00
 SROIQ_OWL2_RELATIONSHIP := 0.99
 SPECIFIC_RESULT :=
  IF fragment_axioms_and_query_complete THEN 1.00
  ELSE REQUIRE missing_information
}

UPDATE_MODEL {
 IMMUTABLE_CORE := {
  ConceptRoleIndividualSemantics,
  ModelTheory,
  ConceptInclusion,
  OpenWorldSemantics,
  CoreReasoningTasks
 }
 EXTENSIBLE := {
  DLFragments,
  RoleConstructors,
  NumberRestrictions,
  TableauOptimisations,
  OWLProfiles,
  QueryAnsweringMethods,
  ExplanationMethods,
  ApplicationDomains,
  RelatedOntologies
 }
 ON_NEW_KNOWLEDGE {
  IDENTIFY new_axiom
  VALIDATE fragment_syntax
  CHECK role_restrictions
  CHECK consistency
  RECLASSIFY_if_required
  UPDATE justifications
  UPDATE confidence
 }
}

AI_CONSUMPTION {
 MACHINE_READABLE := TRUE
 HUMAN_INTERPRETABLE := TRUE
 RECURSIVE_REASONING := TRUE
 ENTITY_RESOLUTION := TRUE
 CONCEPT_RESOLUTION := TRUE
 ROLE_RESOLUTION := TRUE
 TBOX_REASONING := TRUE
 ABOX_REASONING := TRUE
 RBOX_REASONING := TRUE
 SATISFIABILITY_REASONING := TRUE
 SUBSUMPTION_REASONING := TRUE
 CLASSIFICATION_REASONING := TRUE
 INSTANCE_CHECKING := TRUE
 TABLEAU_REASONING := TRUE
 QUERY_ANSWERING := TRUE
 JUSTIFICATION_GENERATION := TRUE
 VALIDATION_REQUIRED := TRUE
}

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

OUTPUT {
 PRIMARY_ENTITY := DescriptionLogic
 INTERPRETATION := "Description logics provide model-theoretic languages for representing concepts, individuals and binary relations while retaining well-defined automated reasoning tasks. Their constructors express class descriptions and role restrictions, while satisfiability, consistency, subsumption, classification and instance checking allow ontologies to derive knowledge beyond explicitly asserted facts."
}

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