7626
|
1 |
(* Title: HOL/BCV/Types0.ML
|
|
2 |
ID: $Id$
|
|
3 |
Author: Tobias Nipkow
|
|
4 |
Copyright 1999 TUM
|
|
5 |
*)
|
|
6 |
|
|
7 |
Goalw [le_typ] "(t::typ) <= t";
|
7961
|
8 |
by (Blast_tac 1);
|
7626
|
9 |
qed "le_typ_refl";
|
|
10 |
|
|
11 |
Goalw [le_typ] "[| (t1::typ) <= t2; t2<=t3 |] ==> t1<=t3";
|
7961
|
12 |
by (Blast_tac 1);
|
7626
|
13 |
qed "le_typ_trans";
|
|
14 |
|
|
15 |
Goalw [le_typ] "[| (t1::typ) <= t2; t2<=t1 |] ==> t1=t2";
|
7961
|
16 |
by (Blast_tac 1);
|
7626
|
17 |
qed "le_typ_antisym";
|
|
18 |
|
|
19 |
Goalw [less_typ] "(t1::typ) < t2 = (t1<=t2 & t1 ~= t2)";
|
7961
|
20 |
by (rtac refl 1);
|
7626
|
21 |
qed "less_le_typ";
|
|
22 |
|
|
23 |
Goal "(UNIV::typ set) = {Atyp,Btyp,Ctyp,Top}";
|
7961
|
24 |
by (Auto_tac);
|
|
25 |
by (rename_tac "t" 1);
|
|
26 |
by (exhaust_tac "t" 1);
|
|
27 |
by (Auto_tac);
|
7626
|
28 |
qed "UNIV_typ_enum";
|
|
29 |
|
|
30 |
Goal "finite(UNIV::typ set)";
|
7961
|
31 |
by (simp_tac (simpset() addsimps [UNIV_typ_enum]) 1);
|
7626
|
32 |
qed "finite_UNIV_typ";
|
|
33 |
AddIffs [finite_UNIV_typ];
|