src/HOL/Bali/Example.thy
changeset 22708 fff918feff45
parent 21404 eb85850d3eb7
child 24019 67bde7cfcf10
--- a/src/HOL/Bali/Example.thy	Sun Apr 15 14:32:55 2007 +0200
+++ b/src/HOL/Bali/Example.thy	Sun Apr 15 23:25:49 2007 +0200
@@ -65,62 +65,62 @@
 section "type and expression names"
 
 (** unfortunately cannot simply instantiate tnam **)
-datatype tnam_  = HasFoo_ | Base_ | Ext_ | Main_
-datatype vnam_  = arr_ | vee_ | z_ | e_
-datatype label_ = lab1_
+datatype tnam'  = HasFoo' | Base' | Ext' | Main'
+datatype vnam'  = arr' | vee' | z' | e'
+datatype label' = lab1'
 
 consts
 
-  tnam_ :: "tnam_  \<Rightarrow> tnam"
-  vnam_ :: "vnam_  \<Rightarrow> vname"
-  label_:: "label_ \<Rightarrow> label"
-axioms  (** tnam_, vnam_ and label are intended to be isomorphic 
+  tnam' :: "tnam'  \<Rightarrow> tnam"
+  vnam' :: "vnam'  \<Rightarrow> vname"
+  label':: "label' \<Rightarrow> label"
+axioms  (** tnam', vnam' and label are intended to be isomorphic 
             to tnam, vname and label **)
 
-  inj_tnam_  [simp]: "(tnam_  x = tnam_  y) = (x = y)"
-  inj_vnam_  [simp]: "(vnam_  x = vnam_  y) = (x = y)"
-  inj_label_ [simp]: "(label_ x = label_ y) = (x = y)"
+  inj_tnam'  [simp]: "(tnam'  x = tnam'  y) = (x = y)"
+  inj_vnam'  [simp]: "(vnam'  x = vnam'  y) = (x = y)"
+  inj_label' [simp]: "(label' x = label' y) = (x = y)"
   
   
-  surj_tnam_:  "\<exists>m. n = tnam_  m"
-  surj_vnam_:  "\<exists>m. n = vnam_  m"
-  surj_label_:" \<exists>m. n = label_ m"
+  surj_tnam':  "\<exists>m. n = tnam'  m"
+  surj_vnam':  "\<exists>m. n = vnam'  m"
+  surj_label':" \<exists>m. n = label' m"
 
 abbreviation
   HasFoo :: qtname where
-  "HasFoo == \<lparr>pid=java_lang,tid=TName (tnam_ HasFoo_)\<rparr>"
+  "HasFoo == \<lparr>pid=java_lang,tid=TName (tnam' HasFoo')\<rparr>"
 
 abbreviation
   Base :: qtname where
-  "Base == \<lparr>pid=java_lang,tid=TName (tnam_ Base_)\<rparr>"
+  "Base == \<lparr>pid=java_lang,tid=TName (tnam' Base')\<rparr>"
 
 abbreviation
   Ext :: qtname where
-  "Ext == \<lparr>pid=java_lang,tid=TName (tnam_ Ext_)\<rparr>"
+  "Ext == \<lparr>pid=java_lang,tid=TName (tnam' Ext')\<rparr>"
 
 abbreviation
   Main :: qtname where
-  "Main == \<lparr>pid=java_lang,tid=TName (tnam_ Main_)\<rparr>"
+  "Main == \<lparr>pid=java_lang,tid=TName (tnam' Main')\<rparr>"
 
 abbreviation
   arr :: vname where
-  "arr == (vnam_ arr_)"
+  "arr == (vnam' arr')"
 
 abbreviation
   vee :: vname where
-  "vee == (vnam_ vee_)"
+  "vee == (vnam' vee')"
 
 abbreviation
   z :: vname where
-  "z == (vnam_ z_)"
+  "z == (vnam' z')"
 
 abbreviation
   e :: vname where
-  "e == (vnam_ e_)"
+  "e == (vnam' e')"
 
 abbreviation
   lab1:: label where
-  "lab1 == label_ lab1_"
+  "lab1 == label' lab1'"
 
 
 lemma neq_Base_Object [simp]: "Base\<noteq>Object"
@@ -307,9 +307,9 @@
 lemma not_TName_n_subcls_TName_n [rule_format (no_asm), elim!]: 
   "(\<lparr>pid=java_lang,tid=TName tn\<rparr>, \<lparr>pid=java_lang,tid=TName tn\<rparr>) 
    \<in> (subcls1 tprg)^+ \<longrightarrow> R"
-apply (rule_tac n1 = "tn" in surj_tnam_ [THEN exE])
+apply (rule_tac n1 = "tn" in surj_tnam' [THEN exE])
 apply (erule ssubst)
-apply (rule tnam_.induct)
+apply (rule tnam'.induct)
 apply  safe
 apply (auto dest!: tranclD subcls1D simp add: BaseCl_def ExtCl_def MainCl_def)
 apply (drule rtranclD)
@@ -435,13 +435,13 @@
 apply  (simp (no_asm_simp))
 by (rule ws_tprg [THEN fields_emptyI], force+)
 
-lemmas fields_rec_ = fields_rec [OF _ ws_tprg]
+lemmas fields_rec' = fields_rec [OF _ ws_tprg]
 
 lemma fields_Base [simp]: 
 "DeclConcepts.fields tprg Base 
   = [((arr,Base), \<lparr>access=Public,static=True ,type=PrimT Boolean.[]\<rparr>),
      ((vee,Base), \<lparr>access=Public,static=False,type=Iface HasFoo    \<rparr>)]"
-apply (subst fields_rec_)
+apply (subst fields_rec')
 apply   (auto simp add: BaseCl_def)
 done
 
@@ -450,29 +450,29 @@
   = [((vee,Ext), \<lparr>access=Public,static=False,type= PrimT Integer\<rparr>)] 
     @ DeclConcepts.fields tprg Base"
 apply (rule trans)
-apply (rule fields_rec_)
+apply (rule fields_rec')
 apply   (auto simp add: ExtCl_def Object_def)
 done
 
-lemmas imethds_rec_ = imethds_rec [OF _ ws_tprg]
-lemmas methd_rec_  = methd_rec  [OF _ ws_tprg]
+lemmas imethds_rec' = imethds_rec [OF _ ws_tprg]
+lemmas methd_rec'  = methd_rec  [OF _ ws_tprg]
 
 lemma imethds_HasFoo [simp]: 
   "imethds tprg HasFoo = o2s \<circ> empty(foo_sig\<mapsto>(HasFoo, foo_mhead))"
 apply (rule trans)
-apply (rule imethds_rec_)
+apply (rule imethds_rec')
 apply  (auto simp add: HasFooInt_def)
 done
 
 lemma methd_tprg_Object [simp]: "methd tprg Object = empty"
-apply (subst methd_rec_)
+apply (subst methd_rec')
 apply (auto simp add: Object_mdecls_def)
 done
 
 lemma methd_Base [simp]: 
   "methd tprg Base = table_of [(\<lambda>(s,m). (s, Base, m)) Base_foo]"
 apply (rule trans)
-apply (rule methd_rec_)
+apply (rule methd_rec')
 apply   (auto simp add: BaseCl_def)
 done
 
@@ -527,7 +527,7 @@
 lemma methd_Ext [simp]: "methd tprg Ext =   
   table_of [(\<lambda>(s,m). (s, Ext, m)) Ext_foo]"
 apply (rule trans)
-apply (rule methd_rec_)
+apply (rule methd_rec')
 apply   (auto simp add: ExtCl_def Object_def Ext_method_inheritance)
 done