let check_equal handle_error =
let rec check_equal_rec = function
Not(p) ->
check_equal_rec p
| Equal(Base(Var(_)) as t1, t2)
| Equal(Prime(Var(_)) as t1, t2) ->
compare_terms handle_error t2 t1
| Equal(_) ->
raise Error
| _ -> ()
in
check_equal_rec