| st[r1 -- _type] = typeval(ty0), is_arraytype(st[r0 -- _type] .type), st[r0 -- _type] .type = mkclasstype(`java.lang.Object' .class) ∨ is_arraytype(st[r0 -- _type] .type) ∧ ty ≤ st[r0 -- _type] .type .type, junkrefs(str, r ' + refs0, st[r -- _type] .type, st[r0 -- i ', refval(r1)]), ty0 ≤ ty ⊦ r0 = jvmref, r1 = jvmref, junkref(str, r, st), junkref(str, r1, st), mkarraytype(ty0) ≤ st[r0 -- _type] .type |
⊦ mkarraytype(ty) ≤ ty0 ↔ ty0 = mkclasstype(`java.lang.Object' .class) ∨ is_arraytype(ty0) ∧ ty ≤ ty0 .type
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ ty ≤ ty0 ∧ ty0 ≤ ty1 → ty ≤ ty1])], [EXTRATERMS : (st[r0 -- _type] .type, ty0)]]