Checkpoint

This commit is contained in:
Tibo De Peuter 2025-04-06 14:42:57 +02:00
parent ef8b82457c
commit d702b9b081
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2
13 changed files with 114 additions and 63 deletions

View file

@ -1,5 +1,6 @@
package prolog.components.expressions
import prolog.Substitution
import prolog.components.Provable
import prolog.components.terms.Atom
import prolog.components.terms.CompoundTerm
@ -8,11 +9,11 @@ import prolog.components.terms.Goal
typealias Operand = Goal
abstract class Operator(
val symbol: Atom,
private val symbol: Atom,
val leftOperand: Operand? = null,
val rightOperand: Operand
) : CompoundTerm(symbol, listOfNotNull(leftOperand, rightOperand)), Provable {
abstract override fun prove(): Boolean
abstract override fun prove(): Sequence<Substitution>
override fun toString(): String {
return when (leftOperand) {