

All three lists must be the same length (or at least, must be able to be the same length eventually) -- otherwise the predicate fails.
It makes sense from a logical point of view.
This is quite unlike in Clojure for example, where a map operation on several lists ends when one of the lists runs out.
Maybe a maplist/4 that stops as soon as the end of any list is reached (called prefix_maplist/4 maybe) might be considered as shortening or extending lists at their end is expensive.
Here is a maplist/4 example and a fun exercise to implement foldl/4 with maplist/4
Examples for the Prolog predicate maplist/4