| rs1 ∩ rs0 = ∅, a1[r => o][rs1, f, g(r; a1)], R[rs0, f, g] ⊦ (g(r)[r => o] * R)[rs1 ∪ rs0, f, g], g(r)[r => o][rs1, f, g], r ∈ rs0 |
⊦ R[rs, f, g] ↔ R(mk(rs, f, g))
rs1 ∩ rs0 = ∅, R[rs0, f, g], a1[r => o](mk(rs1, f, g(r; a1))) ⊦ g(r)[r => o][rs1, f, g], (g(r)[r => o] * R)[rs1 ∪ rs0, f, g], r ∈ rs0
Used terms: g(r; a1), f, rs1, a1[r => o]