| ⊦ r ≠ jvmref → (validref(str, r, mkarraytype(int_type), addarray(r, int_type, i, st)) ↔ 0 ≤ i) |
⊦ validref(str, r, mkarraytype(ty), addarray(r, ty, i, st)) ↔ r = jvmref ∨ 0 ≤ i ∧ type∃(str, ty) ∧ ty .jtelemtype ≠ abstract_type ∧ ty .jtelemtype ≠ void_type
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ int_type ≠ void_type], [CSIMPSEQ : ⊦ int_type ≠ abstract_type], [CSIMPSEQ : ⊦ int_type .jtelemtype = int_type], [CSIMPSEQ : ⊦ type∃(str, int_type)], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i])]]