A detailed description for fuzzy computation and fuzzy constraints is given in Chapter 7.5. In this introductional part we will just give a short example for fuzzy computation in order to get the reader familiar with fuzzy computation objects.

`/* Import RuleSet with rules and ParameterSets */`

**IMPORT RULESET** MyRules.RuleSet

`/* table of correspondings for rule generation */`

**TABLE** Fuzzy.Table

`/* declare fuzzy variables with the associated */`

`/* ParameterSet, its lower and upper support */`

`/* end, median, distribution, dilatation, etc. */`

**FUZZYVAR** f_in1 fuzzy_in

**FUZZYVAR** f_in2 fuzzy_in

**FUZZYVAR** f_out fuzzy_out

**FUZZYVAR** f_comp fuzzy_out

`/* set f_in1 to crisp value 10 */`

**SET** f_in1 = 10

`/* set f_in2 to crisp value 80 */`

**SET** f_in2 = 80

`/* f_comp is a fuzzy comparison of f_in1 < 20 */`

**FUZZYCOMPARE** f_comp **IS** f_in1 < 20

`/* f_out is fuzzy result of f_comp AND f_in2, */`

`/* where AND is a fuzzy conjunctor */`

**FUZZYCONCAT** f_out **IS** f_comp **AND** f_in2

`/* evaluate f_out according to the RuleSet */`

**EVAL** f_out

`/* display defuzzified value for f_out */`

**PRINT** f_out

`/* export modified RuleSet */`

**EXPORT RULESET** MyRules.RuleSet

In contrast to crisp variables, all fuzzy variables have to be
declared before use by the assignment of a
*ParameterSet*
that describes the *linguistic variables*, *distribution*,
*dilatation*, *lower* and *upper* *support*
*end* of the variable, *median* and *importance*.

The evaluation `EVAL f_out` happens according to the rules
in the RuleSet.

In our example such rules could be of the form:

`...`

`...`

The single statements and keywords are treated in detail in section 7.5, but anyone familiar with fuzzy set theory should get an idea of what is going on in this brief example.

The more general notation of these rules is of the format:

` IF `<termlist>` THEN `<term>`
WITH CERTAINTY c.`

where

termlist = term | termlist ("AND" | "OR") term

term = Ident

Ident = (letter | digit) (letter | digit)*

Number = digit+ | digit+ "." digit+

digit = 0..9

letter = printable ascii characters

c = Number