Package-level declarations
Functions
Demonstrates wrapping an it.unibo.tuprolog.unify.Unificator with a memoizing decorator via Unificator.cached.
Demonstrates defining a custom unification strategy by extending it.unibo.tuprolog.unify.AbstractUnificator and overriding AbstractUnificator.checkTermsEquality, the hook used to decide whether two non-variable, non-compound terms are considered equal.
Demonstrates the three ways of asking it.unibo.tuprolog.unify.Unificator.default whether two terms unify, on a case where unification fails.
Demonstrates the infix extension functions mguWith, matches and unifyWith, which offer a term-centric, operator-like syntax over it.unibo.tuprolog.unify.Unificator.default as an alternative to calling mgu/match/unify directly on a Unificator instance.
Demonstrates why the occurs check matters, by deliberately disabling it via occurCheckEnabled = false on Unificator.mgu.
Demonstrates the three ways of asking it.unibo.tuprolog.unify.Unificator.default whether two terms unify, on a case where unification succeeds.