title: Syntax error when trying to add secondary connectives in prolog
body: <p>I am trying to build a resolution solver in prolog. So far the program works fine with primary connectives (and, or, implication etc.). When I try to add secondary connectives (equivalence, not_equivalence) I get an error:</p>
  <pre><code>/* conjunctive(X)  :- X is an alpha formula. */
  
  conjunctive(_ and _).
  conjunctive(neg(_ or _ )).
  conjunctive(neg(_ imp _)).
  conjunctive(neg(_ revimp _)).
  conjunctive(neg(_ uparrow _)).
  conjunctive(_ downarrow _).
  conjunctive(_ notimp _).
  conjunctive(_ notrevimp _).
  comjunctive(_ equiv _).
  conjunctive(neg(_ notequiv _).
  
  /* disjunctive(X) :- X is a beta formula */
  
  disjunctive(neg(_ and _)).
  disjunctive(_ or _).
  disjunctive(_ imp _).
  disjunctive(_ revimp _).
  disjunctive(_ uparrow _).
  disjunctive(neg(_ downarrow _)).
  disjunctive(neg(_ notimp _)).
  disjunctive(neg(_ notrevimp _)).
  disjunctive(neg(_ equiv _)).
  disjunctive(_ notequiv _).
  
  /* components(X, Y, Z) :- Y and Z are the components of the formula X,
                            as defined in the alpha and beta table. */
  
  components(X and Y, X, Y).
  components(neg(X and Y), neg X, neg Y).
  components(X or Y, X, Y).
  components(neg(X or Y), neg X, neg Y).
  components(X imp Y, neg X, Y).
  components(neg(X imp Y), X, neg Y).
  components(X revimp Y, X, neg Y).
  components(neg(X revimp Y), neg X, Y).
  components(X uparrow Y, neg X, neg Y).
  components(neg(X uparrow Y), X, Y).
  components(X downarrow Y,neg X, neg Y).
  components(neg(X downarrow Y), X, Y).
  components(X notimp Y, X, neg Y).
  components(neg(X notimp Y), neg X, Y).
  components(X notrevimp Y, neg X, Y).
  components(neg(X notrevimp Y), X , neg Y).
  components(X equiv Y, disjunctive(X imp Y), disjunctive(Y imp X)).
  components(neg(X equiv Y), conjunctive(neg(X imp Y)), conjunctive(neg(Y imp X))).
  components(X notequiv Y, conjunctive(neg(X imp Y)), conjunctive(neg(Y imp X))).
  components(neg(X notequiv Y), disjunctive(X imp Y), disjunctive(Y imp X)).
  </code></pre>
  <p>This is the error that I get:</p>
  <pre><code>ERROR: c:/users/andreas/desktop/cs_year2/logic and verification/resolution.pl:41:14: Syntax error: Operator expected
  ERROR: c:/users/andreas/desktop/cs_year2/logic and verification/resolution.pl:42:18: Syntax error: Operator expected
  ERROR: c:/users/andreas/desktop/cs_year2/logic and verification/resolution.pl:54:18: Syntax error: Operator expected       
  ERROR: c:/users/andreas/desktop/cs_year2/logic and verification/resolution.pl:55:14: Syntax error: Operator expected       
  ERROR: c:/users/andreas/desktop/cs_year2/logic and verification/resolution.pl:82:13: Syntax error: Operator expected       
  ERROR: c:/users/andreas/desktop/cs_year2/logic and verification/resolution.pl:83:17: Syntax error: Operator expected       
  ERROR: c:/users/andreas/desktop/cs_year2/logic and verification/resolution.pl:84:13: Syntax error: Operator expected
  ERROR: c:/users/andreas/desktop/cs_year2/logic and verification/resolution.pl:85:17: Syntax error: Operator expected    
  </code></pre>
  <p>Any help will be greatly appreciated.</p>