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