| contains(str, ty, ty0), ty .jtelemtype = mkclasstype(`java.lang.Object' .class) ⊦ type∃(str, ty0) ∧ (is_classtype(ty0) ∨ is_arraytype(ty0)) ∧ is_arraytype(ty) ∨ contains(str, mkclasstype(`java.lang.Object' .class), ty0) |
contains(str, ty, ty0) ∧ ty .jtelemtype = mkclasstype(`java.lang.Object' .class), ∀ ty0, str, ty1. i→n(ty1 .jtdims) < i→n(ty .jtdims) → ( contains(str, ty1, ty0) ∧ ty1 .jtelemtype = mkclasstype(`java.lang.Object' .class) → type∃(str, ty0) ∧ (is_classtype(ty0) ∨ is_arraytype(ty0)) ∧ is_arraytype(ty1) ∨ contains(str, mkclasstype(`java.lang.Object' .class), ty0)) ⊦ type∃(str, ty0) ∧ (is_classtype(ty0) ∨ is_arraytype(ty0)) ∧ is_arraytype(ty) ∨ contains(str, mkclasstype(`java.lang.Object' .class), ty0)
[[CONCRETESIMPRULES : ([CSIMPLESSPRED : <])], [EXTRATERMS : (i→n(ty .jtdims))]]