Definition move_arg (n i j:nat) (e:Cobham) : Cobham :=
  Comp n e (move_forward i j 
    (map (Proj n) (seq 0 n)) (Proj n 0)).

(* Specifications: *)
Lemma move_arg_inf n i j e : i+j < n -> arity e = ok_arity n -> arity (move_arg n i j e) = ok_arity n.
Lemma rec_bounded_move_arg : forall n i j e, rec_bounded' e -> rec_bounded' (move_arg n i j e).
Lemma move_arg_correct n i j e l : length l = n -> Sem (move_arg n i j e) l = Sem e (move_forward i j l (Sem (Proj n 0) l)).