| ¬ ¬ r -- _type ∈ st, st1 .refs ∩ st .refs = ∅, r ∈ st1, class+∃(str, st1[r -- _type] .type .class), is_obj(r, st1) ⊦ is_abstract(st1[r -- _type] .type .class), class+∃(str, (st1 ∪ st)[r -- _type] .type .class) ∧ ¬ is_abstract((st1 ∪ st)[r -- _type] .type .class) |
st1 .refs ∩ st .refs = ∅, r -- _type ∈ st, r ∈ st1, class+∃(str, st1[r -- _type] .type .class), is_obj(r, st1), r ∈ st ⊦ is_abstract(st1[r -- _type] .type .class), class+∃(str, st[r -- _type] .type .class) ∧ ¬ is_abstract(st[r -- _type] .type .class)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : ⊦ rk ∈ st0 → (st ∪ st0)[rk] = st0[rk]])]]