src/HOL/Bali/Example.thy
changeset 28524 644b62cf678f
parent 26480 544cef16045b
child 30235 58d147683393
equal deleted inserted replaced
28523:5818d9cfb2e7 28524:644b62cf678f
   228 done
   228 done
   229 
   229 
   230 lemma table_classes_Object [simp]: 
   230 lemma table_classes_Object [simp]: 
   231  "table_of Classes Object = Some \<lparr>access=Public,cfields=[]
   231  "table_of Classes Object = Some \<lparr>access=Public,cfields=[]
   232                                  ,methods=Object_mdecls
   232                                  ,methods=Object_mdecls
   233                                  ,init=Skip,super=arbitrary,superIfs=[]\<rparr>"
   233                                  ,init=Skip,super=undefined,superIfs=[]\<rparr>"
   234 apply (unfold table_classes_defs)
   234 apply (unfold table_classes_defs)
   235 apply (simp (no_asm) add:Object_def)
   235 apply (simp (no_asm) add:Object_def)
   236 done
   236 done
   237 
   237 
   238 lemma table_classes_SXcpt [simp]: 
   238 lemma table_classes_SXcpt [simp]: 
  1244                 ,values=(CONST empty(Inl (CONST vee, CONST Base)\<mapsto>Null   ) 
  1244                 ,values=(CONST empty(Inl (CONST vee, CONST Base)\<mapsto>Null   ) 
  1245                               (Inl (CONST vee, CONST Ext )\<mapsto>Intg 0))\<rparr>"
  1245                               (Inl (CONST vee, CONST Ext )\<mapsto>Intg 0))\<rparr>"
  1246   "obj_c"   == "\<lparr>tag=CInst (SXcpt NullPointer),values=CONST empty\<rparr>"
  1246   "obj_c"   == "\<lparr>tag=CInst (SXcpt NullPointer),values=CONST empty\<rparr>"
  1247   "arr_N"   == "CONST empty(Inl (CONST arr, CONST Base)\<mapsto>Null)"
  1247   "arr_N"   == "CONST empty(Inl (CONST arr, CONST Base)\<mapsto>Null)"
  1248   "arr_a"   == "CONST empty(Inl (CONST arr, CONST Base)\<mapsto>Addr a)"
  1248   "arr_a"   == "CONST empty(Inl (CONST arr, CONST Base)\<mapsto>Addr a)"
  1249   "globs1"  == "CONST empty(Inr (CONST Ext)   \<mapsto>\<lparr>tag=arbitrary, values=CONST empty\<rparr>)
  1249   "globs1"  == "CONST empty(Inr (CONST Ext)   \<mapsto>\<lparr>tag=CONST undefined, values=CONST empty\<rparr>)
  1250                      (Inr (CONST Base)  \<mapsto>\<lparr>tag=arbitrary, values=arr_N\<rparr>)
  1250                      (Inr (CONST Base)  \<mapsto>\<lparr>tag=CONST undefined, values=arr_N\<rparr>)
  1251                      (Inr Object\<mapsto>\<lparr>tag=arbitrary, values=CONST empty\<rparr>)"
  1251                      (Inr Object\<mapsto>\<lparr>tag=CONST undefined, values=CONST empty\<rparr>)"
  1252   "globs2"  == "CONST empty(Inr (CONST Ext)   \<mapsto>\<lparr>tag=arbitrary, values=CONST empty\<rparr>)
  1252   "globs2"  == "CONST empty(Inr (CONST Ext)   \<mapsto>\<lparr>tag=CONST undefined, values=CONST empty\<rparr>)
  1253                      (Inr Object\<mapsto>\<lparr>tag=arbitrary, values=CONST empty\<rparr>)
  1253                      (Inr Object\<mapsto>\<lparr>tag=CONST undefined, values=CONST empty\<rparr>)
  1254                      (Inl a\<mapsto>obj_a)
  1254                      (Inl a\<mapsto>obj_a)
  1255                      (Inr (CONST Base)  \<mapsto>\<lparr>tag=arbitrary, values=arr_a\<rparr>)"
  1255                      (Inr (CONST Base)  \<mapsto>\<lparr>tag=CONST undefined, values=arr_a\<rparr>)"
  1256   "globs3"  == "globs2(Inl b\<mapsto>obj_b)"
  1256   "globs3"  == "globs2(Inl b\<mapsto>obj_b)"
  1257   "globs8"  == "globs3(Inl c\<mapsto>obj_c)"
  1257   "globs8"  == "globs3(Inl c\<mapsto>obj_c)"
  1258   "locs3"   == "CONST empty(VName (CONST e)\<mapsto>Addr b)"
  1258   "locs3"   == "CONST empty(VName (CONST e)\<mapsto>Addr b)"
  1259   "locs4"   == "CONST empty(VName (CONST z)\<mapsto>Null)(Inr()\<mapsto>Addr b)"
  1259   "locs4"   == "CONST empty(VName (CONST z)\<mapsto>Null)(Inr()\<mapsto>Addr b)"
  1260   "locs8"   == "locs3(VName (CONST z)\<mapsto>Addr c)"
  1260   "locs8"   == "locs3(VName (CONST z)\<mapsto>Addr c)"