diff -r e97bdbc84421 -r 86093c201bac Quot/Nominal/Terms.thy --- a/Quot/Nominal/Terms.thy Tue Feb 09 17:26:08 2010 +0100 +++ b/Quot/Nominal/Terms.thy Tue Feb 09 17:26:28 2010 +0100 @@ -1019,6 +1019,11 @@ as "rbv6" +lemma [quot_respect]: + "(op = ===> alpha1 ===> alpha1) permute permute" +apply auto (* eqvt *) +sorry + lemma [quot_respect]:"(alpha6 ===> op =) rbv6 rbv6" apply simp apply clarify apply (erule alpha6.induct) @@ -1026,10 +1031,16 @@ apply simp apply (erule exE) apply (simp add: alpha_gen) -sorry +oops lemma [quot_respect]:"(alpha6 ===> op =) rfv_trm6 rfv_trm6" -sorry +apply simp apply clarify +apply (induct_tac x y rule: alpha6.induct) +apply simp_all +apply (erule exE) +apply (simp add: alpha_gen) +apply (erule conjE)+ +oops lemma [quot_respect]: "(op = ===> alpha6) rVr6 rVr6" @@ -1041,7 +1052,7 @@ apply (rule_tac x="0::perm" in exI) apply (simp add: alpha_gen) (* needs rbv6_rsp *) -sorry +oops instantiation trm6 :: pt begin @@ -1051,9 +1062,22 @@ "permute :: perm \ rtrm6 \ rtrm6" instance +apply default sorry end +lemma +"\x1 = x2; \a b. a = b \ P (Vr6 a) (Vr6 b); + \t1 t2 s1 s2. \t1 = t2; P t1 t2; s1 = s2; P s1 s2\ \ P (Ap6 t1 s1) (Ap6 t2 s2); + \l1 r1 l2 r2. + \pi. (bv6 l1, r1) \gen (\x1 x2. x1 = x2 \ P x1 x2) fv_trm6 pi (bv6 l2, r2) \ + P (Fo6 l1 r1) (Fo6 l2 r2)\ + \ P x1 x2" +unfolding alpha_gen +apply (lifting alpha6.induct[unfolded alpha_gen]) +apply(injection) +sorry + lemma "\\pi. ((bv6 l1, r1) \gen (op =) fv_trm6 pi (bv6 l2, r2))\ \ Fo6 l1 r1 = Fo6 l2 r2" apply (unfold alpha_gen)