diff -r 3664eafcad09 -r 7a42cc191111 Quot/Examples/SigmaEx.thy --- a/Quot/Examples/SigmaEx.thy Thu Feb 04 18:09:20 2010 +0100 +++ b/Quot/Examples/SigmaEx.thy Fri Feb 05 10:32:21 2010 +0100 @@ -75,6 +75,8 @@ end + + lemma tolift: "\ fvar. \ fobj\Respects (op = ===> list_rel (prod_rel (op =) alpha_method) ===> op =). @@ -85,18 +87,16 @@ \ fpar\Respects (op = ===> op = ===> alpha_method ===> op =). \ fsgm\Respects (op = ===> (op = ===> alpha_obj) ===> op =). - Bex1 - (Respects (prod_rel (alpha_obj ===> op =) + Ex1 (\x. +(x \ (Respects (prod_rel (alpha_obj ===> op =) (prod_rel (list_rel (prod_rel (op =) alpha_method) ===> op =) (prod_rel ((prod_rel (op =) alpha_method) ===> op =) (alpha_method ===> op =) ) - ) - )) + )))) \ (\ (hom_o\robj \ 'a, hom_d\(char list \ rmethod) list \ 'b, hom_e\char list \ rmethod \ 'c, hom_m\rmethod \ 'd). - - (\x. hom_o (rVar x) = fvar x) \ +((\x. hom_o (rVar x) = fvar x) \ (\d. hom_o (rObj d) = fobj (hom_d d) d) \ (\a l. hom_o (rInv a l) = fnvk (hom_o a) a l) \ (\a l m. hom_o (rUpd a l m) = fupd (hom_o a) (hom_m m) a l m) \ @@ -104,14 +104,25 @@ (hom_d [] = fnil) \ (\l m. hom_e (l, m) = fpar (hom_m m) l m) \ (\x a. hom_m (rSig x a) = fsgm (\y. hom_o ([(x, y)] \ a)) (\y. [(x, y)] \ a)) -)" +)) x) " sorry -syntax +lemma test_to: "Ex1 (\x. (x \ (Respects alpha_obj)) \ P x)" +ML_prf {* prop_of (#goal (Isar.goal ())) *} +sorry +lemma test_tod: "Ex1 (P :: obj \ bool)" +apply (lifting test_to) +done + + + + +(*syntax "_expttrn" :: "pttrn => bool => bool" ("(3\\ _./ _)" [0, 10] 10) translations "\\ x. P" == "Ex (%x. P)" +*) lemma rvar_rsp[quot_respect]: "(op = ===> alpha_obj) rVar rVar" by (simp add: a1) @@ -129,7 +140,7 @@ lemma bex1_bex1reg: "(\!x\Respects R. P x) \ (Bex1_rel R (\x. P x))" -apply (simp add: Bex1_def Ex1_def Bex1_rel_def in_respects) +apply (simp add: Ex1_def Bex1_rel_def in_respects) apply clarify apply auto apply (rule bexI) @@ -154,8 +165,6 @@ apply (lifting tolift) done -done - lemma tolift': "\ fvar. \ fobj\Respects (op = ===> list_rel (prod_rel (op =) alpha_method) ===> op =).