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