Ltac shatterer := simpl; intuition;
  match goal with
    | [ w : _ |- _ ] => rewrite (shatter_word w); simpl
  end; f_equal; auto.

Theorem split1_iter : forall n1 n2 n3 Heq w, split1 n1 n2 (split1 (n1 + n2) n3 w) = split1 n1 (n2 + n3) (match Heq in _ = N return word N with | refl_equal => w end).