For the new version of name_thm. Now the same theorem
is stored as is returned, as both contain a label and a link to the
previous derivation. So get_thm no longer needs to attach a label to
its resulting theorem.
Gate = FOL +
consts nand,xor :: "[o,o] => o"
rules nand_def "nand(P,Q) == ~(P & Q)"
xor_def "xor(P,Q) == P & ~Q | ~P & Q"
end