# HG changeset patch # User Cezary Kaliszyk # Date 1264178686 -3600 # Node ID b8e43414c5aad5bc6d4f675c4c7611ce3c8aad37 # Parent b1f55dd64481b212440a66ff829b1f556c9540ae Proper alpha equivalence for Sigma calculus. diff -r b1f55dd64481 -r b8e43414c5aa Quot/Examples/SigmaEx.thy --- a/Quot/Examples/SigmaEx.thy Thu Jan 21 19:52:46 2010 +0100 +++ b/Quot/Examples/SigmaEx.thy Fri Jan 22 17:44:46 2010 +0100 @@ -12,13 +12,16 @@ and rmethod = rSig "name" "robj" -(* Need to fix it, just 2 random rules *) inductive alpha_obj :: "robj \ robj \ bool" ("_ \o _" [100, 100] 100) and alpha_method :: "rmethod \ rmethod \ bool" ("_ \m _" [100, 100] 100) where a1: "a = b \ (rVar a) \o (rVar b)" -| a2: "a = b \ c = d \ rSig a c \m rSig b d" +| a2: "rObj [] \o rObj []" +| a3: "rObj t1 \o rObj t2 \ m1 \m r2 \ rObj ((l1, m1) # t1) \o rObj ((l2, m2) # t2)" +| a4: "x \o y \ rInv x l1 \o rInv y l2" +| a5: "\pi::name prm. (rfv t - {a} = rfv s - {b} \ (rfv t - {a})\* pi \ (pi \ t) \o s \ (pi \ a) = b) + \ rSig a t \m rSig b s" lemma alpha_equivps: shows "equivp alpha_obj"