0.08/0.10 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.08/0.10 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof 0.10/0.30 % Computer : n025.cluster.edu 0.10/0.30 % Model : x86_64 x86_64 0.10/0.30 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.10/0.30 % Memory : 8042.1875MB 0.10/0.30 % OS : Linux 3.10.0-693.el7.x86_64 0.10/0.30 % CPULimit : 1200 0.10/0.30 % WCLimit : 120 0.10/0.30 % DateTime : Tue Jul 13 17:08:57 EDT 2021 0.10/0.30 % CPUTime : 9.82/1.55 % SZS status Theorem 9.82/1.55 9.82/1.56 % SZS output start Proof 9.82/1.56 Take the following subset of the input axioms: 9.82/1.56 fof(cross_product_defn, axiom, ![X, Y, U, V]: ((member(V, Y) & member(U, X)) <=> member(ordered_pair(U, V), cross_product(X, Y)))). 9.82/1.56 fof(first_second, axiom, ![X, Y]: ((X=first(ordered_pair(X, Y)) & Y=second(ordered_pair(X, Y))) <= (member(Y, universal_class) & member(X, universal_class)))). 9.82/1.56 fof(infinity, axiom, ?[X]: (inductive(X) & (![Y]: (inductive(Y) => subclass(X, Y)) & member(X, universal_class)))). 9.82/1.56 fof(ordered_pair_defn, axiom, ![X, Y]: ordered_pair(X, Y)=unordered_pair(singleton(X), unordered_pair(X, singleton(Y)))). 9.82/1.56 fof(singleton_identified_by_element2, conjecture, ![X, Y]: (Y=X <= (singleton(Y)=singleton(X) & member(Y, universal_class)))). 9.82/1.56 9.82/1.56 Now clausify the problem and encode Horn clauses using encoding 3 of 9.82/1.56 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 9.82/1.56 We repeatedly replace C & s=t => u=v by the two clauses: 9.82/1.56 fresh(y, y, x1...xn) = u 9.82/1.56 C => fresh(s, t, x1...xn) = v 9.82/1.56 where fresh is a fresh function symbol and x1..xn are the free 9.82/1.56 variables of u and v. 9.82/1.56 A predicate p(X) is encoded as p(X)=true (this is sound, because the 9.82/1.56 input problem has no model of domain size 1). 9.82/1.56 9.82/1.56 The encoding turns the above axioms into the following unit equations and goals: 9.82/1.56 9.82/1.56 Axiom 1 (singleton_identified_by_element2): singleton(y) = singleton(x). 9.82/1.56 Axiom 2 (infinity): member(x3, universal_class) = true2. 9.82/1.56 Axiom 3 (singleton_identified_by_element2_1): member(y, universal_class) = true2. 9.82/1.56 Axiom 4 (cross_product_defn_2): fresh62(X, X, Y, Z) = true2. 9.82/1.56 Axiom 5 (first_second_1): fresh55(X, X, Y, Z) = second(ordered_pair(Y, Z)). 9.82/1.56 Axiom 6 (first_second_1): fresh7(X, X, Y, Z) = Z. 9.82/1.56 Axiom 7 (cross_product_defn): fresh64(X, X, Y, Z, W, V) = true2. 9.82/1.56 Axiom 8 (first_second_1): fresh55(member(X, universal_class), true2, Y, X) = fresh7(member(Y, universal_class), true2, Y, X). 9.82/1.56 Axiom 9 (ordered_pair_defn): ordered_pair(X, Y) = unordered_pair(singleton(X), unordered_pair(X, singleton(Y))). 9.82/1.56 Axiom 10 (cross_product_defn): fresh65(X, X, Y, Z, W, V) = member(ordered_pair(Y, Z), cross_product(W, V)). 9.82/1.56 Axiom 11 (cross_product_defn): fresh65(member(X, Y), true2, Z, X, W, Y) = fresh64(member(Z, W), true2, Z, X, W, Y). 9.82/1.56 Axiom 12 (cross_product_defn_2): fresh62(member(ordered_pair(X, Y), cross_product(Z, W)), true2, Y, W) = member(Y, W). 9.82/1.56 9.82/1.56 Lemma 13: ordered_pair(X, y) = ordered_pair(X, x). 9.82/1.56 Proof: 9.82/1.56 ordered_pair(X, y) 9.82/1.56 = { by axiom 9 (ordered_pair_defn) } 9.82/1.56 unordered_pair(singleton(X), unordered_pair(X, singleton(y))) 9.82/1.56 = { by axiom 1 (singleton_identified_by_element2) } 9.82/1.56 unordered_pair(singleton(X), unordered_pair(X, singleton(x))) 9.82/1.56 = { by axiom 9 (ordered_pair_defn) R->L } 9.82/1.56 ordered_pair(X, x) 9.82/1.56 9.82/1.56 Lemma 14: fresh55(member(X, universal_class), true2, x3, X) = X. 9.82/1.56 Proof: 9.82/1.56 fresh55(member(X, universal_class), true2, x3, X) 9.82/1.56 = { by axiom 8 (first_second_1) } 9.82/1.56 fresh7(member(x3, universal_class), true2, x3, X) 9.82/1.56 = { by axiom 2 (infinity) } 9.82/1.56 fresh7(true2, true2, x3, X) 9.82/1.56 = { by axiom 6 (first_second_1) } 9.82/1.56 X 9.82/1.56 9.82/1.56 Goal 1 (singleton_identified_by_element2_2): y = x. 9.82/1.56 Proof: 9.82/1.56 y 9.82/1.56 = { by lemma 14 R->L } 9.82/1.56 fresh55(member(y, universal_class), true2, x3, y) 9.82/1.56 = { by axiom 3 (singleton_identified_by_element2_1) } 9.82/1.56 fresh55(true2, true2, x3, y) 9.82/1.56 = { by axiom 5 (first_second_1) } 9.82/1.56 second(ordered_pair(x3, y)) 9.82/1.56 = { by lemma 13 } 9.82/1.56 second(ordered_pair(x3, x)) 9.82/1.56 = { by axiom 5 (first_second_1) R->L } 9.82/1.56 fresh55(true2, true2, x3, x) 9.82/1.56 = { by axiom 4 (cross_product_defn_2) R->L } 9.82/1.56 fresh55(fresh62(true2, true2, x, universal_class), true2, x3, x) 9.82/1.56 = { by axiom 7 (cross_product_defn) R->L } 9.82/1.56 fresh55(fresh62(fresh64(true2, true2, x3, y, universal_class, universal_class), true2, x, universal_class), true2, x3, x) 9.82/1.56 = { by axiom 2 (infinity) R->L } 9.82/1.56 fresh55(fresh62(fresh64(member(x3, universal_class), true2, x3, y, universal_class, universal_class), true2, x, universal_class), true2, x3, x) 9.82/1.56 = { by axiom 11 (cross_product_defn) R->L } 9.82/1.56 fresh55(fresh62(fresh65(member(y, universal_class), true2, x3, y, universal_class, universal_class), true2, x, universal_class), true2, x3, x) 9.82/1.56 = { by axiom 3 (singleton_identified_by_element2_1) } 9.82/1.57 fresh55(fresh62(fresh65(true2, true2, x3, y, universal_class, universal_class), true2, x, universal_class), true2, x3, x) 9.82/1.57 = { by axiom 10 (cross_product_defn) } 9.82/1.57 fresh55(fresh62(member(ordered_pair(x3, y), cross_product(universal_class, universal_class)), true2, x, universal_class), true2, x3, x) 9.82/1.57 = { by lemma 13 } 9.82/1.57 fresh55(fresh62(member(ordered_pair(x3, x), cross_product(universal_class, universal_class)), true2, x, universal_class), true2, x3, x) 9.82/1.57 = { by axiom 12 (cross_product_defn_2) } 9.82/1.57 fresh55(member(x, universal_class), true2, x3, x) 9.82/1.57 = { by lemma 14 } 9.82/1.57 x 9.82/1.57 % SZS output end Proof 9.82/1.57 9.82/1.57 RESULT: Theorem (the conjecture is true). 9.96/1.57 EOF