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)).