Syntax
Description of .cl- and .clq-Format:
(1) Knowledge bases in .cl-format:
Each .cl-file contains a signature and a knowledge base or a list of knowledge bases over that signature.
.cl-Syntax BNF:
<File> ::= <signature-part> <knowledge-base-part>
<signature-part> ::= "signature" <EOL> <variable-list>
<variable-list> ::= <variable> <EOL> | <variable> "," <variable-list>
<knowledge-base-part> ::= "conditionals" <EOL> <knowledge-base-list>
<knowledge-base-list> ::= <knowledge-base> | <knowledge-base> <EOL> <knowledge-base-list>
<knowledge-base> ::= <knowledge-base-name> "{" <EOL> <conditional-list> "}"
<conditional-list> ::= <conditional> | <conditional> "," <EOL> <conditional-list>
<conditional> ::= "(" <formula> "|" <formula> ")"
<formula> ::= <variable>
| "Top"
| "Bottom"
| "!"<formula>
| <formula> "," <formula>
| <formula> ";" <formula>
Variables are strings only containing letters (upper- and lower-case allowed). For ease of reading and expressivity, a formula may be in parentheses "
(...)". If no parentheses is used the precedence is as follows:
1.
! (Negation) 2.
, (Conjunction) 3.
; (Disjunction) Comments are also allowed in the file, following the Java comment syntax, i.e. "
//" introduces single-line comments and
"/*...*/" introduces block comments.
(2) Conditionals in .clq-format:
The .clq-format is used for query files containing conditionals over a signature of a knowledge base.Each .clq-file contains a list of conditionals using the same syntax as for .cl-files.
A knowledge base file together with a corresponding query file
<kb-file>.cl , <query-file>.clq constitute a problem set.
The .clq-format is also used for files containing normal form conditionals (NFC) and canonical normal form conditionals (CNFC) over a generic signature {a,b}, {a,b,c}, etc.