A λ-Nantes Workshop
arnaud@pankzsoft.com - @abailly.bsky.social
2025-12-10

A program about Star Wars characters (including the crappy recent ones)
Simple facts asserting the gender of some characters.
More complex facts asserting a childhood
relation between some characters.
Rules (or Clauses) allowing to infer some relation from other relations.
More complex rules asserting a transitive relation
We can query this program, for example asking who is a grandchild of Darth Vader
A Prolog query can have several answers:
Or no answer:
X,
Y…s,
z, child, …bob, child(X, Y),
father(bob, Z)…?-Given a query and a set of clauses, a Prolog interpreter loop goes like:
Given two terms t1 and t2 with free variables fv(t1), fv(t2), unification is the process of defining a substitution between variables and terms
σ : fv(t1) ∪ fv(t2) → T
