diff -r 84a38acbf512 -r 538daee762e6 Quot/Examples/FSet2.thy --- a/Quot/Examples/FSet2.thy Mon Feb 15 10:25:17 2010 +0100 +++ b/Quot/Examples/FSet2.thy Mon Feb 15 12:15:14 2010 +0100 @@ -21,12 +21,14 @@ unfolding equivp_reflp_symp_transp reflp_def symp_def transp_def by (auto intro: list_eq.intros list_eq_refl) -quotient_type +quotient_type 'a fset = "'a list" / "list_eq" by (rule equivp_list_eq) quotient_definition - "fempty :: 'a fset" ("{||}") + fempty ("{||}") +where + "fempty :: 'a fset" is "[]" @@ -40,7 +42,9 @@ by (auto intro: list_eq.intros) quotient_definition - "funion :: 'a fset \ 'a fset \ 'a fset" ("_ \f _" [65,66] 65) + funion ("_ \f _" [65,66] 65) +where + "funion :: 'a fset \ 'a fset \ 'a fset" is "(op @)" @@ -67,7 +71,9 @@ quotient_definition - "fmem :: 'a \ 'a fset \ bool" ("_ \f _" [50, 51] 50) + fmem ("_ \f _" [50, 51] 50) +where + "fmem :: 'a \ 'a fset \ bool" is "(op mem)" @@ -80,7 +86,7 @@ shows "(op = ===> (op \ ===> op =)) (op mem) (op mem)" by (simp add: memb_rsp_aux) -definition +definition fnot_mem :: "'a \ 'a fset \ bool" ("_ \f _" [50, 51] 50) where "x \f S \ \(x \f S)" @@ -91,7 +97,9 @@ "inter_list X Y \ [x \ X. x\set Y]" quotient_definition - "finter::'a fset \ 'a fset \ 'a fset" ("_ \f _" [70, 71] 70) + finter ("_ \f _" [70, 71] 70) +where + "finter::'a fset \ 'a fset \ 'a fset" is "inter_list"