| st1 .refs ∩ st .refs = ∅, r ∈ st1, type∃(str, st1[r -- _type] .type), is_array(r, st1), ¬ type∃(str, (st1 ∪ st)[r -- _type] .type) ∨ (st1 ∪ st)[r -- _type] .type .jtelemtype = void_type ∨ (st1 ∪ st)[r -- _type] .type .jtelemtype = abstract_type ⊦ st1[r -- _type] .type .jtelemtype = void_type, st1[r -- _type] .type .jtelemtype = abstract_type |
⊦ ¬ rk ∈ st0 → (st ∪ st0)[rk] = st[rk]
¬ ¬ r -- _type ∈ st, st1 .refs ∩ st .refs = ∅, r ∈ st1, type∃(str, st1[r -- _type] .type), is_array(r, st1), ¬ type∃(str, (st1 ∪ st)[r -- _type] .type) ∨ (st1 ∪ st)[r -- _type] .type .jtelemtype = void_type ∨ (st1 ∪ st)[r -- _type] .type .jtelemtype = abstract_type ⊦ st1[r -- _type] .type .jtelemtype = void_type, st1[r -- _type] .type .jtelemtype = abstract_type
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (r -- _type, st, st1)]]