∀ {ι : Type u_1} {M : ι → Type u_2} [inst : (i : ι) → Monoid (M i)]
  (motive : {i j : ι} → Monoid.CoprodI.NeWord M i j → List ((i : ι) × M i) → Prop),
  (∀ (i : ι) (x : M i) (a : x ≠ 1), motive (Monoid.CoprodI.NeWord.singleton x a) [⟨i, x⟩]) →
    (∀ (x x_1 j k : ι) (w₁ : Monoid.CoprodI.NeWord M x j) (_hne : j ≠ k) (w₂ : Monoid.CoprodI.NeWord M k x_1),
        motive w₁ w₁.toList → motive w₂ w₂.toList → motive (w₁.append _hne w₂) (w₁.toList ++ w₂.toList)) →
      ∀ {i j : ι} (_w : Monoid.CoprodI.NeWord M i j), motive _w _w.toList