DataType.thy revision 8d414479025f8311a6666d66e2e1f5dcd3093ec1
theory DataType
imports Main
begin
datatype 'a type1 =
foo |
bar "'a type2"
and 'a type2 = "a * nat * 'a type1"
and 'a type3 = "nat * 'a type2"
datatype ('a,'b) type6 = bar "'a * 'b"
consts
I :: "nat type1"
axioms
tt : "test --> test"
same_ax : "ALL (g1::'a=>'a) g2 a b. (a & ~b) --> g1 = g2"
lemma I: "A --> A"
proof
assume A
show A by fact
qed
end