diff -r 67110d6c66de -r 66c68453455c src/HOL/MicroJava/J/Example.thy --- a/src/HOL/MicroJava/J/Example.thy Tue Dec 13 14:04:20 2011 +0100 +++ b/src/HOL/MicroJava/J/Example.thy Tue Dec 13 15:18:52 2011 +0100 @@ -39,17 +39,19 @@ datatype cnam' = Base' | Ext' datatype vnam' = vee' | x' | e' -consts - cnam' :: "cnam' => cname" - vnam' :: "vnam' => vnam" +text {* + @{text cnam'} and @{text vnam'} are intended to be isomorphic + to @{text cnam} and @{text vnam} +*} --- "@{text cnam'} and @{text vnam'} are intended to be isomorphic - to @{text cnam} and @{text vnam}" -axioms - inj_cnam': "(cnam' x = cnam' y) = (x = y)" - inj_vnam': "(vnam' x = vnam' y) = (x = y)" +axiomatization cnam' :: "cnam' => cname" +where + inj_cnam': "(cnam' x = cnam' y) = (x = y)" and + surj_cnam': "\m. n = cnam' m" - surj_cnam': "\m. n = cnam' m" +axiomatization vnam' :: "vnam' => vnam" +where + inj_vnam': "(vnam' x = vnam' y) = (x = y)" and surj_vnam': "\m. n = vnam' m" declare inj_cnam' [simp] inj_vnam' [simp] @@ -65,11 +67,11 @@ abbreviation e :: vname where "e == VName (vnam' e')" -axioms - Base_not_Object: "Base \ Object" - Ext_not_Object: "Ext \ Object" - Base_not_Xcpt: "Base \ Xcpt z" - Ext_not_Xcpt: "Ext \ Xcpt z" +axiomatization where + Base_not_Object: "Base \ Object" and + Ext_not_Object: "Ext \ Object" and + Base_not_Xcpt: "Base \ Xcpt z" and + Ext_not_Xcpt: "Ext \ Xcpt z" and e_not_This: "e \ This" declare Base_not_Object [simp] Ext_not_Object [simp]