| class0 ≤ class, same-subclasses(class, str, str0) ⊦ same-subclasses(class0, str, str0) |
⊦ same-subclasses(class, str, str0) ↔ (∀ class0. class∃(str0, class0) ∧ class0 ≤ class → class∃(str, class0)) ∧ (∀ class0. interface∃(str0, class0) ∧ class0 ≤ class → interface∃(str, class0))
class0 ≤ class, same-subclasses(class, str, str0) ⊦ (∀ class1. class∃(str0, class1) ∧ class1 ≤ class0 → class∃(str, class1)) ∧ (∀ class1. interface∃(str0, class1) ∧ class1 ≤ class0 → interface∃(str, class1))
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (str0, str, class0)]]