| dups ((class = `java.lang.Error' .class ⊃ `java.lang.Error' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.Exception' .class ⊃ `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.NoClassDefFoundError' .class ⊃ `java.lang.NoClassDefFoundError' .class ' + `java.lang.Error' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ExceptionInInitializerError' .class ⊃ `java.lang.ExceptionInInitializerError' .class ' + `java.lang.Error' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.RuntimeException' .class ⊃ `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.NullPointerException' .class ⊃ `java.lang.NullPointerException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ArithmeticException' .class ⊃ `java.lang.ArithmeticException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ClassCastException' .class ⊃ `java.lang.ClassCastException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ArrayStoreException' .class ⊃ `java.lang.ArrayStoreException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.NegativeArraySizeException' .class ⊃ `java.lang.NegativeArraySizeException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.IndexOutOfBoundsException' .class ⊃ `java.lang.IndexOutOfBoundsException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ArrayIndexOutOfBoundsException' .class ⊃ `java.lang.ArrayIndexOutOfBoundsException' .class ' + `java.lang.IndexOutOfBoundsException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; [] ) ) ) ) ) ) ) ) ) ) ) )) ⊦ class = `java.lang.Throwable' .class, class = `java.lang.Object' .class, class = `*Array*' .class |
class ≠ `java.lang.Error' .class, dups ((class = `java.lang.Exception' .class ⊃ `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.NoClassDefFoundError' .class ⊃ `java.lang.NoClassDefFoundError' .class ' + `java.lang.Error' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ExceptionInInitializerError' .class ⊃ `java.lang.ExceptionInInitializerError' .class ' + `java.lang.Error' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.RuntimeException' .class ⊃ `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.NullPointerException' .class ⊃ `java.lang.NullPointerException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ArithmeticException' .class ⊃ `java.lang.ArithmeticException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ClassCastException' .class ⊃ `java.lang.ClassCastException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ArrayStoreException' .class ⊃ `java.lang.ArrayStoreException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.NegativeArraySizeException' .class ⊃ `java.lang.NegativeArraySizeException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.IndexOutOfBoundsException' .class ⊃ `java.lang.IndexOutOfBoundsException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; (class = `java.lang.ArrayIndexOutOfBoundsException' .class ⊃ `java.lang.ArrayIndexOutOfBoundsException' .class ' + `java.lang.IndexOutOfBoundsException' .class ' + `java.lang.RuntimeException' .class ' + `java.lang.Exception' .class ' + `java.lang.Throwable' .class ' + `java.lang.Object' .class ' ; [] ) ) ) ) ) ) ) ) ) ) )) ⊦ class = `java.lang.Throwable' .class, class = `java.lang.Object' .class, class = `*Array*' .class
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : classname, , inj, ⊦ stringvar .class = stringvar0 .class ↔ stringvar = stringvar0], [CSIMPNAMEDSEQ : list-dup, classnames, rec, ⊦ dups(class ' + classes) ↔ ¬ ¬ ( class ∈ classes ∨ dups(classes))], [CSIMPNAMEDSEQ : list, classnames, in-append, ⊦ class ∈ classes + classes0 ↔ ¬ ¬ ( class ∈ classes ∨ class ∈ classes0)], [CSIMPNAMEDSEQ : list, classnames, in-17, ⊦ class ∈ class0 ' ↔ class = class0], [CSIMPNAMEDSEQ : list, classnames, a, ⊦ (classes + classes0) + classes1 = classes + classes0 + classes1], [CSIMPNAMEDSEQ : list-dup, classnames, c, ⊦ ¬ dups(class ')])]]