| rs1 ∩ rs0 = ∅, rs2 ∩ rs = ∅, P(mk(rs1, f)), P0(mk(rs2, f)), R[rs0, f, g], R0[rs, f, g], r ∈ rs2, ∀ r0. r0 ∈ rs2 → g(r0) = g(r), ∀ r. r ∈ rs1 → g(r) = a, ∀ r. r ∈ rs2 ∪ rs ↔ r ∈ rs1 ∪ rs0 ⊦ # rs2 = 0, g(r) = a, rs2 = ∅, (a[P] * g(r)[P0] * true)[rs1 ∪ rs0, f, g], r ∈ rs1, r ∈ rs0 |
Used simplifier rules: ⊦ ¬ r ∈ rs → (r ∈ rs ∪ rs0 ↔ r ∈ rs0); (s)%una: ⊦ (rs ∪ rs0) ∪ rs1 = rs ∪ rs0 ∪ rs1; from specification set-union[refset]%unc: ⊦ rs ∪ rs0 = rs0 ∪ rs; from specification set-union[refset]% ⊦ r ∈ rs ∪ rs0 ↔ ¬(¬ r ∈ rs ∧ ¬ r ∈ rs0); (ss) Used terms: r