| ¬ ¬ 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 |
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 : ([CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : ⊦ rk ∈ st0 → (st ∪ st0)[rk] = st0[rk]])]]