| unchanged(str, r, st, st0), validrefs(str, r ' + refs1, st[r -- _type] .type, st) ⊦ validrefs(str, r ' + refs1, st0[r -- _type] .type, st0), junkref(str, r, st), unchangedNorec(r0, st, st0), ¬ r ∈ refs1 ∧ ¬ dups(refs1), r0 ≠ r ∧ ¬ r0 ∈ refs1 |
⊦ unchanged(str, refs .first, st, st0) ∧ validrefs(str, refs, ty, st) ∧ r0 ∈ refs → unchangedNorec(r0, st, st0)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, references, a, ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPNAMEDSEQ : list, references, c-08, ⊦ (r ' + refs) .first = r], [CSIMPNAMEDSEQ : list, references, in-06, ⊦ ¬ r ∈ r0 ' + refs ↔ r ≠ r0 ∧ ¬ r ∈ refs])], [EXTRATERMS : (str, r ' + refs1, st, st0, st[r -- _type] .type, r0)]]