CEP ライブラリを使用すると、X の後に Y が続くかどうかを判断できる記述プログラムを簡単に作成できます。
val pattern = Pattern.begin("start").where(_.value == "X")
.next("end).where(_.value == "Y")
しかし、X と Y の順序を気にせず、一方が他方に従うだけのプログラムをどのように説明すればよいでしょうか。たとえば、X, Y と Y, X はどちらも興味深いものです。ただし、X,X や Y,Y は面白くないので、3 番目の共有プロパティで一致させることはできません。