| ty0 = mkclasstype(class2), tdname+∃(str, class), is_predefined_class(class), ty ≤ ty3, mkfs(class1, ty3, fieldvar) ' ∈ instfields(class2), type∃(str, ty), type∃(str, ty0), class2 ≤ class, is_classtype(ty0), ∀ class0. tdname∃(str, class0) ∧ class0 ≤ class → is_predefined_class(class0) ⊦ class = `java.lang.Object' .class, interface∃(str, class2) |
class2 ≤ class, tdname+∃(str, class), is_predefined_class(class), ty ≤ ty3, mkfs(class1, ty3, fieldvar) ' ∈ instfields(class2), type∃(str, ty), class+∃(str, class2), ∀ class0. tdname∃(str, class0) ∧ class0 ≤ class → is_predefined_class(class0) ⊦ class = `java.lang.Object' .class, interface∃(str, class2)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : javatype, , test-10, ⊦ is_classtype (mkclasstype(class))], [CSIMPNAMEDSEQ : typefuns, , tdnameex-06, ⊦ ¬ interface∃(str, class) → ( tdname+∃(str, class) ↔ class+∃(str, class))], [CSIMPNAMEDSEQ : typefuns, , typeex-class, ⊦ type∃ (str, mkclasstype(class)) ↔ tdname+∃(str, class)])]]