| st ⊆ st1, type∃(str, st[r -- _type] .type), is_array(r, st), ¬ type∃(str, st1[r -- _type] .type) ∨ st1[r -- _type] .type .jtelemtype = void_type ∨ st1[r -- _type] .type .jtelemtype = abstract_type ⊦ st[r -- _type] .type .jtelemtype = void_type, st[r -- _type] .type .jtelemtype = abstract_type |
⊦ rk ∈ st ∧ st ⊆ st1 → st1[rk] = st[rk]
⊦ ¬ r -- _type ∈ st → ¬ is_array(r, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ rk ∈ st → st[rk] = ∅[rk]], [CSIMPSEQ : ⊦ ∅[rk] = noval])], [EXTRATERMS : (r -- _type, st, st1)]]