| CONTRUCTORS <list> (* unione costruttori della
lista oggetti*)
| PATTERN <pattern> (* espansione del pattern *)
+ | REFERENCE <reference> (* oggetto referenziato *)
| INTHEORY <list> ITEMTYPE <svar> (* unione oggetti lista teorie *)
| THEORYREFTO <list> (* unione teorie che fanno
riferimento a lista oggetti *)
classi e loro superclassi *)
| <list> OFSUBTYPE <svar> (* unione oggetti in base a
classi e loro sottoclassi *)
+ | <rvar> (* valore della var*)
<bool> := ( <bool> ) (* parentesizzazione *)
| <bool> AND <bool> (* congiunzione *)
| TRUE (* vero *)
| FALSE (* falso *)
| <string> IS <string> (* case sensitive matching *)
- | <list> EQUAL <list> (* uguaglianza tra liste *)
+ | <list> SETEQUAL <list> (* uguaglianza tra liste *)
+ | <list> SUBSET <list> (* operazione di sottoinsieme *)
<pattern> := <"-quoted-constant-string> (* pattern costante *)
+<reference> := <'-quoted-constant-string> (* riferimento costante *)
<string> := <'-quoted-constant-string> (* costante letterale *)
| CONCLUSION | HYPOTHESIS | BODY (* costanti simboliche *)
- le stringhe sono "case sensitive"
- la funzione non definita sull'argomento restituisce la stringa nulla
- le <rvar> si presuppongono essere istanziate come URI references costituite
- da un URI e da un fragment identifier opzionalecomplete; esse identificano
- risorse
+ da un URI e da un fragment identifier opzionale complete; i riferimenti
+ identificano risorse
- ogni binding lega una variabile libera (nuova)
- Precedenza operatori:
NOT (+) DIFF