- An
expression_type
is one of the following: aVARIABLE
,NEGATION
,CONJUNCTION
,DISJUNCTION
, orIMPLICATION
. - An
expression_value
is one of the following:FALSE
, orTRUE
. - Each
expression
has atype
. - Each
VARIABLE
also has aname
and avalue
. NEGATION
is a unary operator, and has a single accessible child expression.CONJUNCTION
,DISJUNCTION
, andIMPLICATION
are binary operators, and have dual accessible child expressions.
- An
environment
is just a linked-list containingexpression
values.