diff -r c1d3e82fc395 -r fff918feff45 src/HOL/Bali/Example.thy --- 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_ \ tnam" - vnam_ :: "vnam_ \ vname" - label_:: "label_ \ label" -axioms (** tnam_, vnam_ and label are intended to be isomorphic + tnam' :: "tnam' \ tnam" + vnam' :: "vnam' \ vname" + label':: "label' \ 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_: "\m. n = tnam_ m" - surj_vnam_: "\m. n = vnam_ m" - surj_label_:" \m. n = label_ m" + surj_tnam': "\m. n = tnam' m" + surj_vnam': "\m. n = vnam' m" + surj_label':" \m. n = label' m" abbreviation HasFoo :: qtname where - "HasFoo == \pid=java_lang,tid=TName (tnam_ HasFoo_)\" + "HasFoo == \pid=java_lang,tid=TName (tnam' HasFoo')\" abbreviation Base :: qtname where - "Base == \pid=java_lang,tid=TName (tnam_ Base_)\" + "Base == \pid=java_lang,tid=TName (tnam' Base')\" abbreviation Ext :: qtname where - "Ext == \pid=java_lang,tid=TName (tnam_ Ext_)\" + "Ext == \pid=java_lang,tid=TName (tnam' Ext')\" abbreviation Main :: qtname where - "Main == \pid=java_lang,tid=TName (tnam_ Main_)\" + "Main == \pid=java_lang,tid=TName (tnam' Main')\" 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\Object" @@ -307,9 +307,9 @@ lemma not_TName_n_subcls_TName_n [rule_format (no_asm), elim!]: "(\pid=java_lang,tid=TName tn\, \pid=java_lang,tid=TName tn\) \ (subcls1 tprg)^+ \ 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), \access=Public,static=True ,type=PrimT Boolean.[]\), ((vee,Base), \access=Public,static=False,type=Iface HasFoo \)]" -apply (subst fields_rec_) +apply (subst fields_rec') apply (auto simp add: BaseCl_def) done @@ -450,29 +450,29 @@ = [((vee,Ext), \access=Public,static=False,type= PrimT Integer\)] @ 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 \ empty(foo_sig\(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 [(\(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 [(\(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