src/HOL/MicroJava/BV/LBVJVM.thy
changeset 42463 f270e3e18be5
parent 42150 b0c0638c4aad
child 58886 8a6cac7c7247
equal deleted inserted replaced
42462:0fd80c27fdf5 42463:f270e3e18be5
     7 
     7 
     8 theory LBVJVM
     8 theory LBVJVM
     9 imports Typing_Framework_JVM
     9 imports Typing_Framework_JVM
    10 begin
    10 begin
    11 
    11 
    12 types prog_cert = "cname \<Rightarrow> sig \<Rightarrow> JVMType.state list"
    12 type_synonym prog_cert = "cname \<Rightarrow> sig \<Rightarrow> JVMType.state list"
    13 
    13 
    14 definition check_cert :: "jvm_prog \<Rightarrow> nat \<Rightarrow> nat \<Rightarrow> nat \<Rightarrow> JVMType.state list \<Rightarrow> bool" where
    14 definition check_cert :: "jvm_prog \<Rightarrow> nat \<Rightarrow> nat \<Rightarrow> nat \<Rightarrow> JVMType.state list \<Rightarrow> bool" where
    15   "check_cert G mxs mxr n cert \<equiv> check_types G mxs mxr cert \<and> length cert = n+1 \<and>
    15   "check_cert G mxs mxr n cert \<equiv> check_types G mxs mxr cert \<and> length cert = n+1 \<and>
    16                                  (\<forall>i<n. cert!i \<noteq> Err) \<and> cert!n = OK None"
    16                                  (\<forall>i<n. cert!i \<noteq> Err) \<and> cert!n = OK None"
    17 
    17