| ⊦ recursive-property (λ r0, r1, H0, H1, map0, map1. r0 ∈ map1 ∧ map1[r0] = r1, λ succ0, succ1, H0, H1, map0, map1. succ1 = apply(succ0, map1)) |
∀ m. (∀ n. n < m → recursive-node-property(n, φn) ∧ recursive-edges-property(n, φe)) → (∀ r0, r1, H1, map1. [H0 := H1; map0 := map1; copy_node#(r0; r1, map1, H1): m ] φn(r0, r1, H0, H1, map0, map1)) ∧ (∀ succ0, succ1, H1, map1. [H0 := H1; map0 := map1; copy_edges#(succ0; succ1, map1, H1): m ] φe(succ0, succ1, H0, H1, map0, map1)) ⊦ recursive-property(φn, φe)
[Concretesimprules(()), Extraterms((λ succ0, succ1, H0, H1, map0, map1. succ1 = apply(succ0, map1) λ r0, r1, H0, H1, map0, map1. r0 ∈ map1 ∧ map1[r0] = r1))]