| st1 .refs ∩ st .refs = ∅, r ∈ st1, is_valid_ref(str, r, st1), st1[r -- _type] .type ≤ ty, ¬ is_valid_ref(str, r, st1 ∪ st) ∨ ¬ (st1 ∪ st)[r -- _type] .type ≤ ty ⊦ r = jvmref |
⊦ ¬ rk ∈ st0 → (st ∪ st0)[rk] = st[rk]
¬ ¬ r -- _type ∈ st, st1 .refs ∩ st .refs = ∅, r ∈ st1, is_valid_ref(str, r, st1), st1[r -- _type] .type ≤ ty, ¬ is_valid_ref(str, r, st1 ∪ st) ∨ ¬ (st1 ∪ st)[r -- _type] .type ≤ ty ⊦ r = jvmref
¬ r -- _type ∈ st, st1 .refs ∩ st .refs = ∅, r ∈ st1, is_valid_ref(str, r, st1), st1[r -- _type] .type ≤ ty, ¬ is_valid_ref(str, r, st1 ∪ st) ∨ ¬ st1[r -- _type] .type ≤ ty ⊦ r = jvmref
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (r -- _type, st, st1)]]