∀ (s : Substring.Raw) (sep : String) (b i j : String.Pos.Raw) (r : List Substring.Raw),
  s.bsize - (s.next i).byteIdx < s.bsize - i.byteIdx →
    InvImage (fun x1 x2 => x1 < x2)
      (fun x => PSigma.casesOn x fun b i => PSigma.casesOn i fun i j => PSigma.casesOn j fun j r => s.bsize - i.byteIdx)
      ⟨s.next i, ⟨s.next i, ⟨0, s.extract b ((s.next i).unoffsetBy (String.Pos.Raw.next sep j)) :: r⟩⟩⟩ ⟨b, ⟨i, ⟨j, r⟩⟩⟩