src/HOL/BCV/Types0.ML
author wenzelm
Wed, 27 Oct 1999 18:12:40 +0200
changeset 7956 edaca60a54cd
parent 7626 5997f35954d7
child 7961 422ac6888c7f
permissions -rw-r--r--
tuned msg;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7626
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     1
(*  Title:      HOL/BCV/Types0.ML
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     2
    ID:         $Id$
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     3
    Author:     Tobias Nipkow
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     4
    Copyright   1999 TUM
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     5
*)
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     6
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     7
Goalw [le_typ] "(t::typ) <= t";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     8
by(Blast_tac 1);
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     9
qed "le_typ_refl";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    10
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    11
Goalw [le_typ] "[| (t1::typ) <= t2; t2<=t3 |] ==> t1<=t3";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    12
by(Blast_tac 1);
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    13
qed "le_typ_trans";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    14
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    15
Goalw [le_typ] "[| (t1::typ) <= t2; t2<=t1 |] ==> t1=t2";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    16
by(Blast_tac 1);
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    17
qed "le_typ_antisym";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    18
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    19
Goalw [less_typ] "(t1::typ) < t2 = (t1<=t2 & t1 ~= t2)";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    20
br refl 1;
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    21
qed "less_le_typ";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    22
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    23
Goal "(UNIV::typ set) = {Atyp,Btyp,Ctyp,Top}";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    24
by(Auto_tac);
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    25
by(rename_tac "t" 1);
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    26
by(exhaust_tac "t" 1);
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    27
by(Auto_tac);
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    28
qed "UNIV_typ_enum";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    29
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    30
Goal "finite(UNIV::typ set)";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    31
by(simp_tac (simpset() addsimps [UNIV_typ_enum]) 1);
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    32
qed "finite_UNIV_typ";
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    33
AddIffs [finite_UNIV_typ];