| ⊦ (r ==>_ * R)[rs ++ r, f, g] ↔ (a[r =>_] * R)[rs ++ r, f, g(r; a)], r = null, r ∈ rs |
⊦ (r ==>_ * R)[rs, f, g] ↔ (∃ a. (a[r =>_] * R)[rs, f, g])
⊦ (∃ a. (a[r =>_] * R)[rs ++ r, f, g]) ↔ (a[r =>_] * R)[rs ++ r, f, g(r; a)], r = null, r ∈ rs
Used terms: g, f, rs ++ r, R, r