3) Block Mechanism
1. Multiple Environment
Since the function to approximate the real roots of uni-variate
equations is incorporated with the algebraic constraint solver; a
mechanism is needed to handle the situation in which a variable
may have multiple values.
2. Localize Failures
To realize search function in a committed-choice language, a
mechanism is needed to localize failures.
3. Specification of Synchoronization points between the inference engine
and the constraint solvers
To maximize or minimize a function with respect to a certain
set of constraints, a mechanism is needed to specify the set of
constraints, and to evaluate a goal with respect to the set of
constraints. For example,
GDCC programming examples
Heron's Formula
The following GDCC program deduces a property on a triangle, known
as "Heron's formula" from three known properties: Pythagorean The-
orem of a right-angle triangles, the formula for calculating the surface
area of a triangle, and the fact that every triangle can be divided into
two right-angle triangles.
:- module heron.
:- public tri/4.
tri(A,B,C,S) :- true |
alloc(0,CA,CB,H),
alg#C=CA+CB,
alg#CA**2+H**2=A**2,
alg#CB**2+H**2=B**2,
alg#H*C=S.
- 103 -