let pp fmt = function
  | True -> 
      Pretty.string fmt "True"
  | False -> 
      Pretty.string fmt "False"
  | Equal(a, b) ->
      Term.pp fmt a;
      Pretty.string fmt " = ";
      Term.pp fmt b
  | Diseq(a, b) -> 
      Term.pp fmt a;
      Pretty.string fmt " <> ";
      Term.pp fmt b
  | In(a, c) -> 
      Term.pp fmt a;
      Sign.pp fmt c