#+TITLE: Interactive Editing Working

#+begin_src idris
data Vect : Nat -> Type -> Type where
     Nil : Vect Z a
     (::) : a -> Vect k a -> Vect (S k) a
#+end_src

#+IDRIS: %name Vect xs, ys, zs

#+begin_src idris
append : Vect n a -> Vect m a -> Vect (n + m) a
append {n = Z} [] ys = ?foo_1
append {n = (S k)} (x :: xs) ys = ?foo_2
#+end_src

#+begin_src idris
vadd : Num a => Vect n a -> Vect n a -> Vect n a
vadd [] [] = ?bar_1
vadd (x :: xs) (y :: ys) = ?baz_1
#+end_src

#+begin_src idris
suc : (x : Nat) -> (y : Nat) -> x = y -> S x = S y
suc x x Refl = ?quux_1
#+end_src

#+begin_src idris
suc' : x = y -> S x = S y
suc' {x = y} {y = y} Refl = ?quuz_1
#+end_src
