src/HOL/MicroJava/JVM/Store.thy
author kleing
Sun, 07 Jan 2001 18:43:13 +0100
changeset 10812 ead84e90bfeb
parent 10057 8c8d2d0d3ef8
permissions -rw-r--r--
merged semilattice orders with <=' from Convert.thy (now defined in JVMType.thy)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8011
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
     1
(*  Title:      HOL/MicroJava/JVM/Store.thy
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
     2
    ID:         $Id$
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
     3
    Author:     Cornelia Pusch
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
     4
    Copyright   1999 Technische Universitaet Muenchen
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
     5
*)
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
     6
10057
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
     7
header {* Store of the JVM *}
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
     8
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
     9
theory Store = Conform:
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    10
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    11
text {*
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    12
The JVM builds on many notions already defined in Java.
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    13
Conform provides notions for the type safety proof of the Bytecode Verifier.
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    14
*}
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    15
8011
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
    16
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
    17
constdefs
10057
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    18
 newref :: "('a \<leadsto> 'b) => 'a"
10042
7164dc0d24d8 unsymbolized
kleing
parents: 8038
diff changeset
    19
 "newref s == SOME v. s v = None"
8011
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
    20
10057
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    21
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    22
lemma newref_None:
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    23
  "hp x = None ==> hp (newref hp) = None"
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    24
by (auto intro: someI2_ex simp add: newref_def)
8c8d2d0d3ef8 converted to Isar, tuned
kleing
parents: 10042
diff changeset
    25
8011
d14c4e9e9c8e *** empty log message ***
nipkow
parents:
diff changeset
    26
end