Quot/Nominal/LFex.thy
changeset 1022 cc5830c452c4
parent 1021 bacf3584640e
child 1027 163d6917af62
--- a/Quot/Nominal/LFex.thy	Tue Feb 02 10:20:54 2010 +0100
+++ b/Quot/Nominal/LFex.thy	Tue Feb 02 10:43:48 2010 +0100
@@ -51,21 +51,25 @@
 | "permute_trm pi (App M N) = App (permute_trm pi M) (permute_trm pi N)"
 | "permute_trm pi (Lam A x M) = Lam (permute_ty pi A) (pi \<bullet> x) (permute_trm pi M)"
 
-lemma rperm_zero_ok: "0 \<bullet> (x :: kind) = x \<and> 0 \<bullet> (y :: ty) = y \<and> 0 \<bullet> (z :: trm) = z"
-apply(induct_tac rule: kind_ty_trm.induct)
+lemma rperm_zero_ok:
+  "0 \<bullet> (x :: kind) = x"
+  "0 \<bullet> (y :: ty) = y"
+  "0 \<bullet> (z :: trm) = z"
+apply(induct x and y and z rule: kind_ty_trm.inducts)
 apply(simp_all)
 done
+
+lemma rperm_plus_ok:
+ "(p + q) \<bullet> (x :: kind) = p \<bullet> q \<bullet> x"
+ "(p + q) \<bullet> (y :: ty) = p \<bullet> q \<bullet> y"
+ "(p + q) \<bullet> (z :: trm) = p \<bullet> q \<bullet> z"
+apply(induct x and y and z rule: kind_ty_trm.inducts)
+apply(simp_all)
+done
+
 instance
 apply default
-apply (simp_all only:rperm_zero_ok)
-apply(induct_tac[!] x)
-apply(simp_all)
-apply(induct_tac ty)
-apply(simp_all)
-apply(induct_tac trm)
-apply(simp_all)
-apply(induct_tac trm)
-apply(simp_all)
+apply (simp_all only:rperm_zero_ok rperm_plus_ok)
 done
 
 end