| ⊦ ty .jtelemtype = mkclasstype(`java.lang.Object' .class) → ( contains(str, ty, ty0) ↔ type∃(str, ty0) ∧ ty0 ≤ mkclasstype(`java.lang.Object' .class) ∧ is_arraytype(ty) ∨ contains(str, mkclasstype(`java.lang.Object' .class), ty0)) |
ty .jtelemtype = mkclasstype(`java.lang.Object' .class) ⊦ contains(str, ty, ty0) ↔ type∃(str, ty0) ∧ (is_classtype(ty0) ∨ is_arraytype(ty0)) ∧ is_arraytype(ty) ∨ contains(str, mkclasstype(`java.lang.Object' .class), ty0)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ type∃(str, ty) → ( ty ≤ mkclasstype (`java.lang.Object' .class) ↔ is_classtype(ty) ∨ is_arraytype(ty))])]]