Checkpoint

This commit is contained in:
Tibo De Peuter 2025-04-11 19:27:01 +02:00
parent e3c84e1761
commit e73e5cbfc8
32 changed files with 1354 additions and 92 deletions

View file

@ -1,7 +1,7 @@
package prolog.ast.terms
import prolog.Program
import prolog.ast.logic.Provable
import prolog.ast.logic.LogicOperand
import prolog.logic.Substituted
/**
@ -11,7 +11,7 @@ import prolog.logic.Substituted
* A goal either [succeeds][prolog.builtins.True], in which case the variables in the compound terms have a binding,
* or it fails if Prolog fails to prove it.
*/
abstract class Goal : Term, Provable {
abstract class Goal : LogicOperand(), Term {
abstract val functor: Functor
override fun prove(subs: Substituted): Sequence<Substituted> = Program.solve(this, subs)