To prove that it's optimal you "only" need to construct the pathological case, which I believe should not be hard to do by induction.
I think that pathological case could simply be that the input string is abcdefghij... and the dictionary contains all one-letter strings, plus all strings like ac, abd, abce, ..., bd, bce, bcdf ... and so on.
The base induction case would be xyz as the input and {x,y,z,xz} as the dictionary.