跳转至

Description Logic – Exam-style Problems and Last-minute Checklist

Part 6 of the DL revision notes:
- typical problem types for the second class test
- solution templates (step-by-step skeletons, no full answers)
- a concise last-minute checklist


6.1 Typical problem types

From the lecture content and style, the most natural exam questions around DL + tableau are:

  1. KB consistency
  2. Given a TBox \(T\) and ABox \(A\), decide whether the knowledge base \(K = (T, A)\) is consistent.
  3. Method: full 6-step tableau.

  4. Concept coherence

  5. Given a concept \(C\) and TBox \(T\), decide whether \(C\) is coherent (satisfiable) w.r.t. \(T\) (or \(K\)).
  6. Method: reduction to consistency + tableau.

  7. Entailment of assertions

  8. Given \(K = (T, A)\) and some assertion (e.g. \(a : C\)), decide whether \(K \models a : C\).
  9. Method: reduction to consistency + tableau.

  10. (Possibly) Subsumption

  11. Given \(T\) and concepts \(C, D\), decide whether \(T \models C \sqsubseteq D\).
  12. Method: reduction to coherence/consistency (e.g. \(C \sqcap \neg D\) unsatisfiable).

  13. Short theory questions

  14. Define or explain in words:
    • ABox / TBox / knowledge base
    • consistency / coherence / entailment
    • purpose of tableau
  15. Possibly: “explain how to test entailment using the tableau method.”

6.2 Template: checking consistency of a KB with tableau

Problem pattern

Given a knowledge base \(K = (T, A)\). Decide whether \(K\) is consistent.

Solution template

  1. Write down the input clearly
  2. List the TBox axioms (subsumptions/equivalences) in a clean form.
  3. List the ABox assertions: concept and role assertions.

  4. Step 1 – Eliminate subsumptions in TBox

  5. For each axiom of the form \(A \sqsubseteq C\),
    rewrite using a star-concept:
    \(A \equiv C \sqcap A^{*}\).
  6. Replace subsumptions so that the TBox consists only of equivalences \(A \equiv \dots\).

  7. Step 2 – Expand (unfold) the TBox

  8. Using the assumption that the TBox is acyclic:
    • iteratively replace defined concepts by their definitions,
    • until every definition is written only in terms of primitive concepts and role restrictions.
  9. Result: an “expanded” TBox where definitions are fully unfolded.

  10. Step 3 – Eliminate defined concepts in the ABox

  11. For each ABox assertion \(a : A\) where \(A\) is a defined concept:
    • replace it by \(a : C\), where \(A \equiv C\) in the expanded TBox.
  12. Repeat until no defined concept names remain in the ABox.
  13. From now on, you can ignore the TBox: all necessary information is in the ABox.

  14. Step 4 – Convert ABox to Negation Normal Form (NNF)

  15. For each assertion \(a : \varphi\), push negations inwards so they only apply to atomic concepts.
  16. Use the equivalences:
    • \(\neg (C \sqcap D) \equiv \neg C \sqcup \neg D\)
    • \(\neg (C \sqcup D) \equiv \neg C \sqcap \neg D\)
    • \(\neg \neg C \equiv C\)
    • \(\neg \forall r.C \equiv \exists r.\neg C\)
    • \(\neg \exists r.C \equiv \forall r.\neg C\)
  17. The output is an ABox whose concepts are in NNF.

  18. Step 5 – Apply completion rules to build a tableau

  19. Start from the (NNF) ABox as the root node of your tableau.
  20. Repeat:
    • If possible, apply the ⊥-rule (clash detection) to close branches early.
    • Apply ∧-rule: if \(a : C \sqcap D\), add both \(a : C\) and \(a : D\).
    • Apply ∃-rule: if \(a : \exists r.C\), create a fresh individual \(b\) with \((a,b) : r\) and \(b : C\).
    • Apply ∀-rule: if \(a : \forall r.C\) and \((a,b):r\), add \(b : C\).
    • Apply ∨-rule (branching): if \(a : C \sqcup D\), split into two branches:
    • one branch with \(a : C\),
    • one branch with \(a : D\).
  21. Stop a branch when:

    • a clash is found → mark the branch closed,
    • or no more rules are applicable → branch is open (saturated).
  22. Step 6 – Inspect leaves and conclude

  23. If all branches are closed:
    • the ABox (and hence the original \(K\)) is inconsistent.
  24. If at least one branch is open:

    • the ABox (and \(K\)) is consistent.
  25. Write a clear conclusion

  26. “Since there exists an open branch, the knowledge base \(K\) is consistent.”
  27. or “Since every branch closes with a clash, the knowledge base \(K\) is inconsistent.”

6.3 Template: checking coherence of a concept

Problem pattern

Given a TBox \(T\) (and possibly an ABox \(A\)), and a concept \(C\).
Decide whether \(C\) is coherent (satisfiable) w.r.t. \(T\) (or \(K\)).

Solution template

  1. State the task in your own words
  2. “We want to know whether it is possible for some individual to be an instance of \(C\), given \(T\) (and \(A\)).”

  3. Build an augmented KB \(K'\)

  4. Introduce a fresh individual name \(a\) (not used elsewhere).
  5. Form a new ABox:
    • \(A' = A \cup \{ a : C \}\) (if there is no ABox, use \(A = \emptyset\)).
  6. Define:

    • \(K' = (T, A')\).
  7. Explain the reduction

  8. If \(K'\) is consistent, then there exists a model in which some individual (namely \(a\)) is in \(C\).
    • So \(C\) is coherent (satisfiable).
  9. If \(K'\) is inconsistent, then no model of \(T\) can contain an instance of \(C\).

    • So \(C\) is incoherent (unsatisfiable).
  10. Apply the tableau method to \(K'\)

  11. Use the same 6-step procedure as in 6.2:

    • preprocess \(T\) and \(A'\),
    • run the tableau on the resulting ABox,
    • check open/closed branches.
  12. Conclude about coherence

  13. If tableau finds some open branch:
    • \(K'\) is consistent
      \(C\) is coherent w.r.t. \(T\) (or \(K\)).
  14. If all branches close:

    • \(K'\) is inconsistent
      \(C\) is incoherent (unsatisfiable) w.r.t. \(T\) (or \(K\)).
  15. Write a clear final statement

  16. Example:
    • “Since the tableau for \(K'\) has an open branch, the concept \(C\) is coherent w.r.t. \(T\).”
    • or “Since all branches close, \(C\) is incoherent w.r.t. \(T\).”

6.4 Template: checking entailment of an assertion

Problem pattern

Given \(K = (T, A)\) and an assertion \(\varphi\) (often of the form \(a : C\)),
decide whether \(K \models \varphi\).

Standard reduction

  • To test whether \(K \models \varphi\), we try to see whether it is possible that \(K\) is true but \(\varphi\) is false.
  • If no such model exists, then \(K\) forces \(\varphi\).

Solution template (for \(\varphi = a : C\))

  1. State the goal
  2. We want to know whether in every model of \(K\), individual \(a\) is in concept \(C\).

  3. Construct the augmented KB \(K'\)

  4. Add the negation of the assertion to the ABox:
    • \(A' = A \cup \{ a : \neg C \}\).
  5. Define:

    • \(K' = (T, A')\).
  6. Explain the logic of the reduction

  7. If \(K'\) is consistent, then there exists a model of \(K\) in which \(a : \neg C\) holds.
    • So \(K\) does not entail \(a : C\).
  8. If \(K'\) is inconsistent, then no such model exists.

    • So \(K\) entails \(a : C\).
  9. Apply tableau to \(K'\)

  10. Again, use the standard 6-step tableau procedure:

    • preprocess \(T\) and \(A'\),
    • build the tableau and look at branches.
  11. Conclude about entailment

  12. If all branches close:
    • \(K'\) is inconsistent
      \(K \models a : C\).
  13. If there is an open branch:

    • \(K'\) is consistent
      \(K \not\models a : C\).
  14. Write a final explicit answer

  15. “Because the tableau for \(K'\) closes on all branches, \(K \models a : C\).”
  16. or “Because there is an open branch, \(K\) does not entail \(a : C\).”

(The same pattern can be adapted to other assertions, e.g. role assertions \((a,b):r\) or subsumptions.)


6.5 Last-minute exam checklist

Use this section as a quick self-test 15–30 minutes before the exam.

6.5.1 Core concepts checklist

Can you, in your own words:

  • Explain the difference between:
  • TBox (terminological knowledge) and
  • ABox (assertional knowledge)?
  • Define a knowledge base \(K = (T, A)\)?
  • State what it means for \(K\) to be:
  • consistent,
  • inconsistent?
  • Explain what it means for a concept \(C\) to be:
  • coherent (satisfiable),
  • incoherent (unsatisfiable) w.r.t. a TBox?
  • Explain the notion of entailment:
  • what does \(K \models \varphi\) mean?
  • State the purpose of the tableau method:
  • what problem does it solve?

If you cannot answer some of these in 1–2 sentences, revisit Parts 2–3.

6.5.2 Reduction patterns checklist

Can you recall (even informally) how to:

  • Reduce coherence of \(C\) to consistency:
  • add a fresh \(a : C\) and test consistency?
  • Reduce entailment \(K \models a : C\) to consistency:
  • add \(a : \neg C\) and test consistency?
  • Reduce subsumption \(C \sqsubseteq D\) to coherence/consistency:
  • consider \(C \sqcap \neg D\) and check whether it is unsatisfiable?

You do not need to write full proofs, but you should remember:

  • “coherence/entailment/subsumption → build a new KB → test consistency with tableau.”

6.5.3 Tableau procedure checklist

Can you:

  • List the six steps of the tableau method (even briefly)?
  • eliminate subsumptions in TBox (star concepts),
  • expand/unfold TBox,
  • eliminate defined concepts in ABox,
  • convert ABox to NNF,
  • apply completion rules,
  • inspect branches (open/closed) and conclude.
  • Convert simple ABox assertions to NNF correctly?
  • Apply each completion rule correctly (on paper):
  • ∧-rule, ∨-rule, ∃-rule, ∀-rule, clash/⊥-rule?
  • Decide when a branch is:
  • closed (clash),
  • open (no clash, saturated)?

If in doubt about a rule, write down a tiny example (1–2 assertions) and test yourself.

6.5.4 Common mistakes to avoid

Watch out for:

  • Forgetting to push negations fully into NNF (e.g. stopping at \(\neg (C \sqcap D)\)).
  • Mixing up ∃ and ∀ rules:
  • ∃ creates a new individual,
  • ∀ propagates concepts along existing role edges.
  • Forgetting to apply ∀ to all r-successors of an individual.
  • Missing a clash:
  • not noticing both \(a:C\) and \(a:\neg C\) on the same branch.
  • Stopping tableau too early:
  • there might still be applicable rules (e.g. a ∀ not yet applied to a new edge).

6.6 Final advice

  • Focus your revision time on:
  • understanding the definitions,
  • and being able to execute a small tableau example from start to finish.
  • Ignore:
  • Epistemic Logic,
  • complexity results and extended DLs,
  • anything the lecturer marked as “not on the class test”.

If you can confidently follow the templates in Sections 6.2–6.4 on a fresh example,
you are in a strong position for the DL part of the second class test.