major code change: refute can now handle any Isabelle term, adds certain axioms automatically, and can handle inductive datatypes (but not yet recursion over them)
Exor = Main +
constdefs
exor :: bool => bool => bool
"exor A B == (A & ~B) | (~A & B)"
end