Contents    Page-10    Prev    Next    Page+10    Index   

Recursive Cases: Operators

The recursive case has a rhs that is an operation:
(= α ( op β γ ))

We are hoping that the desired variable will be somewhere in β or γ; to get to it, we must apply some kind of inverse operation to both sides of the equation to get rid of op and isolate β or γ.

In general, there may be two inverse operations to try.

We can produce the result of the inverse operation by constructing a new equation from the given one, e.g., given:
(= α (+ β γ ))

we can construct two new possibilities:

(= (- α β ) γ ) (subtract β from both sides)

(= (- α γ ) β ) (subtract γ from both sides)

After making a new equation, we simply call solve to try to solve that equation. We return the first solution that is not null.