| ¬ (r ≠ jvmref ∧ (¬ is_valid_ref(str, r, st) ∨ ¬ st[r -- _type] .type ≤ mkarraytype(byte_type))), validrefs(str, r ' + refs, mkarraytype(byte_type), st) ⊦ refs = [] ∧ okbytearray(r, st), r = jvmref |
validrefs(str, r ' + refs, mkarraytype(byte_type), st), is_array(r, st), okbytearray(r, st) ⊦ r = jvmref, refs = []
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkarraytype(ty) = mkarraytype(ty0) ↔ ty = ty0], [CSIMPSEQ : ⊦ typeval(ty) .type = ty], [CSIMPSEQ : ⊦ okbytearray(r, st) → st[r -- _type] = typeval(mkarraytype(byte_type))], [CSIMPSEQ : ⊦ ¬ okbytearray(r, st) ∧ st[r -- _type] .type = mkarraytype(byte_type) ∧ r ≠ jvmref → ¬ is_array(r, st)], [CSIMPSEQ : ⊦ st[r -- _type] .type = mkarraytype(byte_type) ∧ r ≠ jvmref → ( is_array(str, r, st) ↔ is_array(r, st))], [CSIMPSEQ : ⊦ st[r -- _type] .type = mkarraytype(ty) ∧ r ≠ jvmref → ( is_valid_ref(str, r, st) ↔ is_array(str, r, st))], [CSIMPSEQ : ⊦ ty ≤ mkarraytype(byte_type) ↔ ty = mkarraytype(byte_type)])]]