| str ≠ `java.lang.Object' ⊦ validrefnotnull(str0, r, mkclasstype(str .class), st) → (is_valid_ref(str0, r, st) ↔ is_obj(str0, r, st)) |
⊦ validrefnotnull(str, r, ty, st) → r ≠ jvmref
validrefnotnull(str0, r, mkclasstype(str .class), st), is_array(str0, r, st) ⊦ str = `java.lang.Object', r = jvmref
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_array(str, r, st) → ( is_valid_ref(str, r, st) ↔ is_obj(str, r, st))], [CSIMPSEQ : ⊦ is_array(str, r, st) → ¬ is_obj(str, r, st)], [CSIMPSEQ : ⊦ ¬ is_obj(str, r, st) → ( is_valid_ref(str, r, st) ↔ is_array(str, r, st))])]]