| ∀ r. (g(r) = a ∧ r ∈ rs ↔ g0(r) = a ∧ r ∈ rs0) ∧ (g(r) = a ∧ r ∈ rs → f(r) = f0(r)), ∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ a[P][rs0, f, g] ∧ (true)[rs1, f, g] ⊦ (a[P] * true)[rs0, f0, g0] |
rs2 ∩ rs1 = ∅, a[P][rs2, f, g], ∀ r. (g(r) = a ∧ r ∈ rs2 ∪ rs1 ↔ g0(r) = a ∧ r ∈ rs0) ∧ (g(r) = a ∧ r ∈ rs2 ∪ rs1 → f(r) = f0(r)) ⊦ (a[P] * true)[rs0, f0, g0]
Used simplifier rules: ⊦ (true)[rs, f, g]; (s)