diff --git a/mathematical/TransitiveClosure.ipynb b/mathematical/TransitiveClosure.ipynb index 9ef3b035c97fd8f767cec95ae284f8affb3045f7..e97f94c614ee62cea5debf8e9e7043c03ee65fd2 100644 --- a/mathematical/TransitiveClosure.ipynb +++ b/mathematical/TransitiveClosure.ipynb @@ -512,7 +512,9 @@ "\n", "Transitive closure can actually not be axiomatised in first-order logic.\n", "As B is based on first-order logic, can we do this without resorting to the built-in operator ```closure1```?\n", - "The answer is yes, becase B has higher-order values and we can arbitrarily quantify over sets and relation values." + "The answer is yes, because B has higher-order values and we can arbitrarily quantify over sets and relation values.\n", + "We have to specify that all other relations contained in cls1 are not a solution.\n", + "With this we get a single solution, encoding our expected transitive closure of the next relation:" ] }, { @@ -655,6 +657,7 @@ "id": "6142e45d", "metadata": {}, "source": [ + "## Digression: Encoding transitive closure in Prolog\n", "In Prolog we can encode transitive closure as this:\n", "```\n", "cls1(A,B) :- next(A,B).\n",