| class∃(str0, st[r -- _type] .type .jtelemtype .class) ∨ interface∃(str0, st[r -- _type] .type .jtelemtype .class), has_classtype(st[r -- _type] .type), is_array(r, st), ∀ class0. class∃(str0, class0) ∧ class0 ≤ st[r -- _type] .type .jtelemtype .class → class∃(str, class0), ∀ class0. interface∃(str0, class0) ∧ class0 ≤ st[r -- _type] .type .jtelemtype .class → interface∃(str, class0) ⊦ st[r -- _type] .type .jtelemtype = abstract_type, st[r -- _type] .type .jtelemtype = void_type, is_predefined_class(st[r -- _type] .type .jtelemtype .class), interface∃(str, st[r -- _type] .type .jtelemtype .class), class∃(str, st[r -- _type] .type .jtelemtype .class) |
class∃(str0, st[r -- _type] .type .jtelemtype .class), has_classtype(st[r -- _type] .type), is_array(r, st), ∀ class0. class∃(str0, class0) ∧ class0 ≤ st[r -- _type] .type .jtelemtype .class → class∃(str, class0), ∀ class0. interface∃(str0, class0) ∧ class0 ≤ st[r -- _type] .type .jtelemtype .class → interface∃(str, class0) ⊦ st[r -- _type] .type .jtelemtype = abstract_type, st[r -- _type] .type .jtelemtype = void_type, is_predefined_class(st[r -- _type] .type .jtelemtype .class), interface∃(str, st[r -- _type] .type .jtelemtype .class), class∃(str, st[r -- _type] .type .jtelemtype .class)
interface∃(str0, st[r -- _type] .type .jtelemtype .class), has_classtype(st[r -- _type] .type), is_array(r, st), ∀ class0. class∃(str0, class0) ∧ class0 ≤ st[r -- _type] .type .jtelemtype .class → class∃(str, class0), ∀ class0. interface∃(str0, class0) ∧ class0 ≤ st[r -- _type] .type .jtelemtype .class → interface∃(str, class0) ⊦ st[r -- _type] .type .jtelemtype = abstract_type, st[r -- _type] .type .jtelemtype = void_type, is_predefined_class(st[r -- _type] .type .jtelemtype .class), interface∃(str, st[r -- _type] .type .jtelemtype .class), class∃(str, st[r -- _type] .type .jtelemtype .class)
[[CONCRETESIMPRULES : ()]]