Used simplifier rules: gen: ⊦ ;%sel-1: ⊦ (a + x).first = a;%sel-2: ⊦ (a + x).rest = x;%f: ⊦ a + x = a + y ↔ x = y;