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