diff -r 4436039cc5e1 -r 1b39ba5db2c1 Nominal/Ex/SFT/Lambda.thy --- 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 "\" 98) -| Lm x::"var" l::"lam" bind x in l ("\ _. _" [97, 97] 99) +| Lm x::"var" l::"lam" binds x in l ("\ _. _" [97, 97] 99) nominal_primrec subst :: "lam \ var \ lam \ lam" ("_ [_ ::= _]" [90, 90, 90] 90) @@ -48,13 +48,7 @@ by (rule, perm_simp, rule) qed -termination - by (relation "measure (\(t,_,_). size t)") - (simp_all add: lam.size) - -lemma subst_eqvt[eqvt]: - shows "(p \ t[x ::= s]) = (p \ t)[(p \ x) ::= (p \ s)]" - by (induct t x s rule: subst.induct) (simp_all) +termination (eqvt) by lexicographic_order lemma forget[simp]: shows "atom x \ t \ t[x ::= s] = t"