That's a bug. The arrow needs to go to the left. Also, then, you can also opt to dispense with the disjunction and just use first-order logic normally.
Introductions to Prolog seem to suffer the "draw the rest of the fucking owl" problem. There's a huge gap from the introductory examples to building real projects.
What I would love to see more of is how to embed a prolog interpreter into a wider program, using the source program's data as the database, then prolog (or perhaps datalog) as an advanced query engine or rules engine.
7 comments
[ 142 ms ] story [ 3075 ms ] thread>Ancestor(X, Y) → Parent(X, Y) ∨ (Parent(X, Z) ∧ Ancestor(Z, Y)).
That's a bug. The arrow needs to go to the left. Also, then, you can also opt to dispense with the disjunction and just use first-order logic normally.
What I would love to see more of is how to embed a prolog interpreter into a wider program, using the source program's data as the database, then prolog (or perhaps datalog) as an advanced query engine or rules engine.