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