| rs1 ∩ rs0 = ∅, a[P](mk(rs1, f(r0; o), g)), r0 ∈ rs1 ⊦ # rs1 = 0, g(r0) = a, o = f(r0), rs1 = ∅, (a[P] * true)[rs1 ∪ rs0, f, g], a[P](mk(rs1, f, g)) |
⊦ a[P](mk(rs, f, g)) ↔ P(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
rs1 ∩ rs0 = ∅, P(mk(rs1, f(r0; o))), r0 ∈ rs1, ∀ r. r ∈ rs1 → g(r) = a ⊦ # rs1 = 0, g(r0) = a, o = f(r0), rs1 = ∅, a[P](mk(rs1, f, g)), (a[P] * true)[rs1 ∪ rs0, f, g]
Used terms: g, f(r0; o), rs1, P, a