packages feed

beautifHOL-0.10: HOL.cf

PROGRAM. PROGRAM ::= [SENT] ;
ASentPred. SENT6 ::= PredId [TERMS] ")";
TrueSent. SENT6 ::= "true" ;
FalseSent. SENT6 ::= "false" ;
IdentSent. SENT6 ::= Idents ;
ASentEq. SENT6 ::= TERM "=" TERM ;
NegSent. SENT5 ::= "not" SENT5 ;
IfSent. SENT4 ::= "if" SENT3 "then" SENT3 "else" SENT3 ;
AndSent. SENT3 ::= SENT3 "and" SENT4 ;
OrSent. SENT3 ::= SENT3 "or" SENT4 ;
ImpSent. SENT2 ::= SENT2 "implies" SENT3 ;
LetSent. SENT4 ::= "let" [DEF] "in" SENT2 ;
DefSent. DEF ::= Idents "=" SENT ;
ForallSent. SENT ::=  "forall" [TERM] "." SENT ;
ExistsSent. SENT ::=  "exists" [TERM] "." SENT ;
FunctTerm. TERM ::= FunctId [TERMS] ")" ;
ConstVarTerm. TERM1 ::= Idents ;
Terms. TERMS ::= [TERM] ;


--separator Idents "," ;
separator TERMS ")(" ;
separator DEF "," ;
terminator SENT ";" ;
coercions SENT 6 ;
coercions TERM 1 ;
separator TERM "," ;
token Idents ((letter)+ (digit)* | (digit)+) ;

-- Note: parents must start right after pred and funct names.
token PredId  (upper (letter)* '(' );
token FunctId  (lower (letter)* '(');
comment "--" ;