Nominal/Ex/SFT/Lambda.thy
changeset 2984 1b39ba5db2c1
parent 2898 a95a497e1f4f
--- a/Nominal/Ex/SFT/Lambda.thy	Fri Jul 22 11:52:12 2011 +0100
+++ b/Nominal/Ex/SFT/Lambda.thy	Sun Jul 24 07:54:54 2011 +0200
@@ -10,7 +10,7 @@
 nominal_datatype lam =
   V "var"
 | Ap "lam" "lam" (infixl "\<cdot>" 98)
-| Lm x::"var" l::"lam"  bind x in l ("\<integral> _. _" [97, 97] 99)
+| Lm x::"var" l::"lam"  binds x in l ("\<integral> _. _" [97, 97] 99)
 
 nominal_primrec
   subst :: "lam \<Rightarrow> var \<Rightarrow> lam \<Rightarrow> lam"  ("_ [_ ::= _]" [90, 90, 90] 90)
@@ -48,13 +48,7 @@
     by (rule, perm_simp, rule)
 qed
 
-termination
-  by (relation "measure (\<lambda>(t,_,_). size t)")
-     (simp_all add: lam.size)
-
-lemma subst_eqvt[eqvt]:
-  shows "(p \<bullet> t[x ::= s]) = (p \<bullet> t)[(p \<bullet> x) ::= (p \<bullet> s)]"
-  by (induct t x s rule: subst.induct) (simp_all)
+termination (eqvt) by lexicographic_order
 
 lemma forget[simp]:
   shows "atom x \<sharp> t \<Longrightarrow> t[x ::= s] = t"