src/HOL/Lambda/Lambda.thy
changeset 5146 1ea751ae62b2
parent 5102 8c782c25a11e
child 5184 9b8547a9496a
--- a/src/HOL/Lambda/Lambda.thy	Wed Jul 15 11:15:57 1998 +0200
+++ b/src/HOL/Lambda/Lambda.thy	Wed Jul 15 12:02:19 1998 +0200
@@ -9,7 +9,7 @@
 
 Lambda = Arith + Inductive +
 
-datatype dB = Var nat | "@" dB dB (infixl 200) | Abs dB
+datatype dB = Var nat | "$" dB dB (infixl 200) | Abs dB
 
 consts
   subst  :: [dB,dB,nat]=>dB ("_[_'/_]" [300,0,0] 300)
@@ -20,24 +20,24 @@
 
 primrec lift dB
   "lift (Var i) k = (if i < k then Var i else Var(Suc i))"
-  "lift (s @ t) k = (lift s k) @ (lift t k)"
+  "lift (s $ t) k = (lift s k) $ (lift t k)"
   "lift (Abs s) k = Abs(lift s (Suc k))"
 
 primrec subst dB
   subst_Var "(Var i)[s/k] = (if k < i then Var(i-1)
                             else if i = k then s else Var i)"
-  subst_App "(t @ u)[s/k] = t[s/k] @ u[s/k]"
+  subst_App "(t $ u)[s/k] = t[s/k] $ u[s/k]"
   subst_Abs "(Abs t)[s/k] = Abs (t[lift s 0 / Suc k])"
 
 primrec liftn dB
   "liftn n (Var i) k = (if i < k then Var i else Var(i+n))"
-  "liftn n (s @ t) k = (liftn n s k) @ (liftn n t k)"
+  "liftn n (s $ t) k = (liftn n s k) $ (liftn n t k)"
   "liftn n (Abs s) k = Abs(liftn n s (Suc k))"
 
 primrec substn dB
   "substn (Var i) s k = (if k < i then Var(i-1)
                          else if i = k then liftn k s 0 else Var i)"
-  "substn (t @ u) s k = (substn t s k) @ (substn u s k)"
+  "substn (t $ u) s k = (substn t s k) $ (substn u s k)"
   "substn (Abs t) s k = Abs (substn t s (Suc k))"
 
 consts  beta :: "(dB * dB) set"
@@ -50,8 +50,8 @@
 
 inductive beta
 intrs
-   beta  "(Abs s) @ t -> s[t/0]"
-   appL  "s -> t ==> s@u -> t@u"
-   appR  "s -> t ==> u@s -> u@t"
+   beta  "(Abs s) $ t -> s[t/0]"
+   appL  "s -> t ==> s$u -> t$u"
+   appR  "s -> t ==> u$s -> u$t"
    abs   "s -> t ==> Abs s -> Abs t"
 end