| ((r => o * P))(mk(rs, f)[r, o]), r ∈ rs ⊦ # rs = 0, rs = ∅, ∃ o. ((r => o * P))(mk(rs, f)), P(mk(rs, f) -- r) ∧ r ∈ mk(rs, f) ∧ mk(rs, f)[r] = f(r) |
((r => o * P))(mk(rs, f)[r, o]), r ∈ rs ⊦ # rs = 0, rs = ∅, P(mk(rs, f) -- r), ∃ o. ((r => o * P))(mk(rs, f))
Used simplifier rules: in-mk: ⊦ r ∈ mk(rs, f) ↔ r ∈ rs;%at-mk: ⊦ r ∈ rs → mk(rs, f)[r] = f(r);