@@ -14,11 +14,11 @@ using (G : Vect Ty n)
1414 (::) : interpTy a -> Env G -> Env (a :: G)
1515
1616-- data HasType : (i : Fin n) -> Vect Ty n -> Ty -> Type where
17−-- stop : HasType fO (t :: G) t
17+-- stop : HasType fZ (t :: G) t
1818-- pop : HasType k G t -> HasType (fS k) (u :: G) t
1919
2020 lookup : (i:Fin n) -> Env G -> interpTy (lookup i G)
21− lookup fO (x :: xs) = x
21+ lookup fZ (x :: xs) = x
2222 lookup (fS i) (x :: xs) = lookup i xs
2323
2424 data Expr : Vect Ty n -> Ty -> Type where
@@ -41,32 +41,32 @@ using (G : Vect Ty n)
4141 interp env (Bind v f) = interp env (f (interp env v))
4242
4343 eId : Expr G (TyFun TyInt TyInt)
44− eId = Lam (Var fO)
44+ eId = Lam (Var fZ)
4545
4646 eTEST : Expr G (TyFun TyInt (TyFun TyInt TyInt))
47− eTEST = Lam (Lam (Var (fS fO)))
47+ eTEST = Lam (Lam (Var (fS fZ)))
4848
4949 eAdd : Expr G (TyFun TyInt (TyFun TyInt TyInt))
50− eAdd = Lam (Lam (Op prim__addInt (Var fO) (Var (fS fO))))
50+ eAdd = Lam (Lam (Op prim__addInt (Var fZ) (Var (fS fZ))))
5151
5252-- eDouble : Expr G (TyFun TyInt TyInt)
53−-- eDouble = Lam (App (App (Lam (Lam (Op' (+) (Var fO) (Var (fS fO))))) (Var fO)) (Var fO))
53+-- eDouble = Lam (App (App (Lam (Lam (Op' (+) (Var fZ) (Var (fS fZ))))) (Var fZ)) (Var fZ))
5454
5555 eDouble : Expr G (TyFun TyInt TyInt)
56− eDouble = Lam (App (App eAdd (Var fO)) (Var fO))
56+ eDouble = Lam (App (App eAdd (Var fZ)) (Var fZ))
5757
5858 app : |(f : Expr G (TyFun a t)) -> Expr G a -> Expr G t
5959 app = \f, a => App f a
6060
6161 eFac : Expr G (TyFun TyInt TyInt)
62− eFac = Lam (If (Op (==) (Var fO) (Val 0))
63− (Val 1) (Op (*) (app eFac (Op (-) (Var fO) (Val 1))) (Var fO)))
62+ eFac = Lam (If (Op (==) (Var fZ) (Val 0))
63+ (Val 1) (Op (*) (app eFac (Op (-) (Var fZ) (Val 1))) (Var fZ)))
6464
6565 -- Exercise elaborator: Complicated way of doing \x y => x*4 + y*2
6666
6767 eProg : Expr G (TyFun TyInt (TyFun TyInt TyInt))
68− eProg = Lam (Lam (Bind (App eDouble (Var (fS fO)))
69− (\x => Bind (App eDouble (Var fO))
68+ eProg = Lam (Lam (Bind (App eDouble (Var (fS fZ)))
69+ (\x => Bind (App eDouble (Var fZ))
7070 (\y => Bind (App eDouble (Val x))
7171 (\z => App (App eAdd (Val y)) (Val z))))))
7272