Checkpoint
This commit is contained in:
parent
ef8b82457c
commit
d702b9b081
13 changed files with 114 additions and 63 deletions
|
@ -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) {
|
||||
|
|
Reference in a new issue