∀ {ι : Type u_1} {M : ι → Type u_2} {inst : (i : ι) → Monoid (M i)} {toList : List ((i : ι) × M i)}
  {ne_one : ∀ l ∈ toList, l.snd ≠ 1} {chain_ne : List.IsChain (fun l l' => l.fst ≠ l'.fst) toList}
  {toList_1 : List ((i : ι) × M i)} {ne_one_1 : ∀ l ∈ toList_1, l.snd ≠ 1}
  {chain_ne_1 : List.IsChain (fun l l' => l.fst ≠ l'.fst) toList_1},
  { toList := toList, ne_one := ne_one, chain_ne := chain_ne } =
      { toList := toList_1, ne_one := ne_one_1, chain_ne := chain_ne_1 } →
    toList = toList_1