diff -r 3a60a028cfc5 -r aaac8274f08c Quot/Nominal/Terms.thy --- a/Quot/Nominal/Terms.thy Wed Feb 03 11:47:37 2010 +0100 +++ b/Quot/Nominal/Terms.thy Wed Feb 03 12:11:23 2010 +0100 @@ -649,6 +649,12 @@ by (simp_all add: alpha4_equivp alpha4list_equivp) + + + + + + datatype rtrm5 = rVr5 "name" | rAp5 "rtrm5" "rtrm5" @@ -708,8 +714,21 @@ apply(simp_all add: pt_rtrm5_zero pt_rtrm5_plus) done - end +inductive + alpha5 :: "rtrm5 \ rtrm5 \ bool" ("_ \5 _" [100, 100] 100) +and + alphalts :: "rlts \ rlts \ bool" ("_ \l _" [100, 100] 100) +where + a1: "a = b \ (rVr5 a) \5 (rVr5 b)" +| a2: "\t1 \5 t2; s1 \5 s2\ \ rAp5 t1 s1 \5 rAp5 t2 s2" +| a3: "\pi. ((bv5 l1, t1) \gen alpha5 rfv_trm5 pi (bv5 l2, t2) \ + (bv5 l1, l1) \gen alphalts rfv_lts pi (bv5 l2, l2) \ + (pi \ (bv5 l1) = bv5 l2)) + \ rLt5 l1 t1 \5 rLt5 l2 t2" +| a4: "rLnil \l rLnil" +| a5: "ls1 \l ls2 \ t1 \5 t2 \ rLcons n1 t1 ls1 \l rLcons n2 t2 ls2" +thm a3[simplified alpha_gen] end