% Operator, quantifiers and connectives
% operators.pl

:- op(1200, xfx, --->).                            
:- op(1200, xfx, ===>).

(LHS ---> RHS, no_code) :- (LHS ---> RHS).
(LHS ===> RHS, no_code) :- (LHS ===> RHS).

:- op(500, xfx, 'o'). 
:- op(1200, xfx, ~~~>).

(LHS ~~~> RHS, Code) :-
   ((LHS ---> RHS, Code) ;
    (LHS ===> RHS, Code)).

:- op( 30, fy, ~).
:- op(500, xfy, &).
:- op(500, xfy, #).
:- op(510, xfy, =>).
:- op(510, xfy, <=>).

quantifier(forall).
quantifier(exists).
quantifier(wh).
quantifier(count).

connective(&).
connective(#).
connective(=>).
connective(<=>).
