0.00/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.11/0.12 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof 0.14/0.33 % Computer : n013.cluster.edu 0.14/0.33 % Model : x86_64 x86_64 0.14/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.14/0.33 % Memory : 8042.1875MB 0.14/0.33 % OS : Linux 3.10.0-693.el7.x86_64 0.14/0.33 % CPULimit : 1200 0.14/0.33 % WCLimit : 120 0.14/0.33 % DateTime : Tue Jul 13 10:48:48 EDT 2021 0.14/0.34 % CPUTime : 0.20/0.39 % SZS status Theorem 0.20/0.39 0.20/0.42 % SZS output start Proof 0.20/0.42 Take the following subset of the input axioms: 0.20/0.42 fof(axiom_1, axiom, ![B, C, A]: times(B, times(C, A))=times(times(A, B), C)). 0.20/0.42 fof(axiom_2, axiom, ![B]: (?[C]: (C=times(B, B) & times(B, C)=B) <=> element(B))). 0.20/0.42 fof(conjecture_1, conjecture, ![B, C, A]: ((element(A) & (times(A, B)=C & element(B))) => element(C))). 0.20/0.42 0.20/0.42 Now clausify the problem and encode Horn clauses using encoding 3 of 0.20/0.42 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.20/0.42 We repeatedly replace C & s=t => u=v by the two clauses: 0.20/0.42 fresh(y, y, x1...xn) = u 0.20/0.42 C => fresh(s, t, x1...xn) = v 0.20/0.42 where fresh is a fresh function symbol and x1..xn are the free 0.20/0.42 variables of u and v. 0.20/0.42 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.20/0.42 input problem has no model of domain size 1). 0.20/0.42 0.20/0.42 The encoding turns the above axioms into the following unit equations and goals: 0.20/0.42 0.20/0.42 Axiom 1 (conjecture_1_1): element(b) = true. 0.20/0.42 Axiom 2 (conjecture_1_2): element(a) = true. 0.20/0.42 Axiom 3 (conjecture_1): times(a, b) = c. 0.20/0.42 Axiom 4 (axiom_2_1): fresh(X, X, Y) = Y. 0.20/0.42 Axiom 5 (axiom_2): fresh4(X, X, Y) = true. 0.20/0.42 Axiom 6 (axiom_2_2): fresh2(X, X, Y) = c2(Y). 0.20/0.42 Axiom 7 (axiom_1): times(X, times(Y, Z)) = times(times(Z, X), Y). 0.20/0.42 Axiom 8 (axiom_2_1): fresh(element(X), true, X) = times(X, c2(X)). 0.20/0.42 Axiom 9 (axiom_2): fresh3(X, X, Y, Z) = element(Y). 0.20/0.42 Axiom 10 (axiom_2_2): fresh2(element(X), true, X) = times(X, X). 0.20/0.42 Axiom 11 (axiom_2): fresh3(X, times(Y, Y), Y, X) = fresh4(times(Y, X), Y, Y). 0.20/0.42 0.20/0.42 Lemma 12: times(a, a) = c2(a). 0.20/0.42 Proof: 0.20/0.42 times(a, a) 0.20/0.42 = { by axiom 10 (axiom_2_2) R->L } 0.20/0.42 fresh2(element(a), true, a) 0.20/0.42 = { by axiom 2 (conjecture_1_2) } 0.20/0.42 fresh2(true, true, a) 0.20/0.42 = { by axiom 6 (axiom_2_2) } 0.20/0.42 c2(a) 0.20/0.42 0.20/0.42 Lemma 13: times(b, b) = c2(b). 0.20/0.42 Proof: 0.20/0.42 times(b, b) 0.20/0.42 = { by axiom 10 (axiom_2_2) R->L } 0.20/0.42 fresh2(element(b), true, b) 0.20/0.42 = { by axiom 1 (conjecture_1_1) } 0.20/0.42 fresh2(true, true, b) 0.20/0.42 = { by axiom 6 (axiom_2_2) } 0.20/0.42 c2(b) 0.20/0.42 0.20/0.42 Lemma 14: times(Z, times(W, times(X, Y))) = times(X, times(Y, times(Z, W))). 0.20/0.42 Proof: 0.20/0.42 times(Z, times(W, times(X, Y))) 0.20/0.42 = { by axiom 7 (axiom_1) } 0.20/0.42 times(Z, times(times(Y, W), X)) 0.20/0.42 = { by axiom 7 (axiom_1) } 0.20/0.42 times(times(X, Z), times(Y, W)) 0.20/0.42 = { by axiom 7 (axiom_1) } 0.20/0.42 times(times(W, times(X, Z)), Y) 0.20/0.42 = { by axiom 7 (axiom_1) } 0.20/0.42 times(times(times(Z, W), X), Y) 0.20/0.42 = { by axiom 7 (axiom_1) R->L } 0.20/0.42 times(X, times(Y, times(Z, W))) 0.20/0.42 0.20/0.42 Lemma 15: times(a, times(b, times(X, Y))) = times(X, times(Y, c)). 0.20/0.42 Proof: 0.20/0.42 times(a, times(b, times(X, Y))) 0.20/0.42 = { by lemma 14 } 0.20/0.42 times(X, times(Y, times(a, b))) 0.20/0.42 = { by axiom 3 (conjecture_1) } 0.20/0.42 times(X, times(Y, c)) 0.20/0.42 0.20/0.42 Lemma 16: times(b, c2(b)) = b. 0.20/0.42 Proof: 0.20/0.42 times(b, c2(b)) 0.20/0.42 = { by axiom 8 (axiom_2_1) R->L } 0.20/0.42 fresh(element(b), true, b) 0.20/0.42 = { by axiom 1 (conjecture_1_1) } 0.20/0.42 fresh(true, true, b) 0.20/0.42 = { by axiom 4 (axiom_2_1) } 0.20/0.42 b 0.20/0.42 0.20/0.42 Lemma 17: times(b, times(b, c)) = c. 0.20/0.42 Proof: 0.20/0.42 times(b, times(b, c)) 0.20/0.42 = { by lemma 15 R->L } 0.20/0.42 times(a, times(b, times(b, b))) 0.20/0.42 = { by lemma 13 } 0.20/0.42 times(a, times(b, c2(b))) 0.20/0.42 = { by lemma 16 } 0.20/0.42 times(a, b) 0.20/0.42 = { by axiom 3 (conjecture_1) } 0.20/0.42 c 0.20/0.42 0.20/0.42 Lemma 18: times(c2(b), times(X, b)) = times(b, X). 0.20/0.42 Proof: 0.20/0.42 times(c2(b), times(X, b)) 0.20/0.42 = { by axiom 7 (axiom_1) } 0.20/0.42 times(times(b, c2(b)), X) 0.20/0.42 = { by lemma 16 } 0.20/0.42 times(b, X) 0.20/0.42 0.20/0.42 Lemma 19: times(b, times(c2(b), times(X, Y))) = times(X, times(Y, b)). 0.20/0.42 Proof: 0.20/0.42 times(b, times(c2(b), times(X, Y))) 0.20/0.42 = { by lemma 14 } 0.20/0.42 times(X, times(Y, times(b, c2(b)))) 0.20/0.42 = { by lemma 16 } 0.20/0.42 times(X, times(Y, b)) 0.20/0.42 0.20/0.42 Lemma 20: times(b, times(X, b)) = times(c2(b), X). 0.20/0.42 Proof: 0.20/0.42 times(b, times(X, b)) 0.20/0.42 = { by axiom 7 (axiom_1) } 0.20/0.42 times(times(b, b), X) 0.20/0.42 = { by lemma 13 } 0.20/0.42 times(c2(b), X) 0.20/0.42 0.20/0.42 Lemma 21: times(b, c) = times(c, b). 0.20/0.42 Proof: 0.20/0.42 times(b, c) 0.20/0.42 = { by lemma 17 R->L } 0.20/0.42 times(b, times(b, times(b, c))) 0.20/0.42 = { by lemma 18 R->L } 0.20/0.42 times(b, times(c2(b), times(times(b, c), b))) 0.20/0.42 = { by lemma 19 } 0.20/0.42 times(times(b, c), times(b, b)) 0.20/0.42 = { by lemma 13 } 0.20/0.42 times(times(b, c), c2(b)) 0.20/0.42 = { by axiom 7 (axiom_1) R->L } 0.20/0.42 times(c, times(c2(b), b)) 0.20/0.42 = { by lemma 20 R->L } 0.20/0.42 times(c, times(b, times(b, b))) 0.20/0.42 = { by lemma 13 } 0.20/0.42 times(c, times(b, c2(b))) 0.20/0.42 = { by lemma 16 } 0.20/0.42 times(c, b) 0.20/0.42 0.20/0.42 Lemma 22: times(b, times(X, a)) = times(c, X). 0.20/0.42 Proof: 0.20/0.42 times(b, times(X, a)) 0.20/0.42 = { by axiom 7 (axiom_1) } 0.20/0.42 times(times(a, b), X) 0.20/0.42 = { by axiom 3 (conjecture_1) } 0.20/0.42 times(c, X) 0.20/0.42 0.20/0.42 Lemma 23: times(b, c2(a)) = times(c, a). 0.20/0.42 Proof: 0.20/0.42 times(b, c2(a)) 0.20/0.42 = { by lemma 12 R->L } 0.20/0.42 times(b, times(a, a)) 0.20/0.42 = { by lemma 22 } 0.20/0.42 times(c, a) 0.20/0.42 0.20/0.42 Lemma 24: times(a, times(X, a)) = times(c2(a), X). 0.20/0.42 Proof: 0.20/0.42 times(a, times(X, a)) 0.20/0.42 = { by axiom 7 (axiom_1) } 0.20/0.42 times(times(a, a), X) 0.20/0.42 = { by lemma 12 } 0.20/0.42 times(c2(a), X) 0.20/0.42 0.20/0.42 Lemma 25: times(b, times(X, c)) = times(c, times(b, X)). 0.20/0.42 Proof: 0.20/0.42 times(b, times(X, c)) 0.20/0.42 = { by axiom 3 (conjecture_1) R->L } 0.20/0.42 times(b, times(X, times(a, b))) 0.20/0.42 = { by axiom 7 (axiom_1) } 0.20/0.42 times(b, times(times(b, X), a)) 0.20/0.42 = { by lemma 22 } 0.20/0.42 times(c, times(b, X)) 0.20/0.42 0.20/0.42 Goal 1 (conjecture_1_3): element(c) = true. 0.20/0.42 Proof: 0.20/0.42 element(c) 0.20/0.42 = { by axiom 9 (axiom_2) R->L } 0.20/0.42 fresh3(times(c, c), times(c, c), c, times(c, c)) 0.20/0.43 = { by axiom 11 (axiom_2) } 0.20/0.43 fresh4(times(c, times(c, c)), c, c) 0.20/0.43 = { by lemma 17 R->L } 0.20/0.43 fresh4(times(c, times(c, times(b, times(b, c)))), c, c) 0.20/0.43 = { by lemma 21 } 0.20/0.43 fresh4(times(c, times(c, times(b, times(c, b)))), c, c) 0.20/0.43 = { by lemma 20 } 0.20/0.43 fresh4(times(c, times(c, times(c2(b), c))), c, c) 0.20/0.43 = { by axiom 3 (conjecture_1) R->L } 0.20/0.43 fresh4(times(c, times(c, times(c2(b), times(a, b)))), c, c) 0.20/0.43 = { by lemma 18 } 0.20/0.43 fresh4(times(c, times(c, times(b, a))), c, c) 0.20/0.43 = { by lemma 25 R->L } 0.20/0.43 fresh4(times(c, times(b, times(a, c))), c, c) 0.20/0.43 = { by lemma 25 R->L } 0.20/0.43 fresh4(times(b, times(times(a, c), c)), c, c) 0.20/0.43 = { by axiom 7 (axiom_1) } 0.20/0.43 fresh4(times(times(c, b), times(a, c)), c, c) 0.20/0.43 = { by lemma 15 R->L } 0.20/0.43 fresh4(times(a, times(b, times(times(c, b), a))), c, c) 0.20/0.43 = { by lemma 22 } 0.20/0.43 fresh4(times(a, times(c, times(c, b))), c, c) 0.20/0.43 = { by lemma 21 R->L } 0.20/0.43 fresh4(times(a, times(c, times(b, c))), c, c) 0.20/0.43 = { by lemma 25 R->L } 0.20/0.43 fresh4(times(a, times(b, times(c, c))), c, c) 0.20/0.43 = { by axiom 3 (conjecture_1) R->L } 0.20/0.43 fresh4(times(a, times(b, times(c, times(a, b)))), c, c) 0.20/0.43 = { by lemma 19 R->L } 0.20/0.43 fresh4(times(a, times(b, times(b, times(c2(b), times(c, a))))), c, c) 0.20/0.43 = { by lemma 23 R->L } 0.20/0.43 fresh4(times(a, times(b, times(b, times(c2(b), times(b, c2(a)))))), c, c) 0.20/0.43 = { by lemma 19 } 0.20/0.43 fresh4(times(a, times(b, times(b, times(c2(a), b)))), c, c) 0.20/0.43 = { by lemma 20 } 0.20/0.43 fresh4(times(a, times(b, times(c2(b), c2(a)))), c, c) 0.20/0.43 = { by lemma 12 R->L } 0.20/0.43 fresh4(times(a, times(b, times(c2(b), times(a, a)))), c, c) 0.20/0.43 = { by lemma 19 } 0.20/0.43 fresh4(times(a, times(a, times(a, b))), c, c) 0.20/0.43 = { by axiom 3 (conjecture_1) } 0.20/0.43 fresh4(times(a, times(a, c)), c, c) 0.20/0.43 = { by lemma 15 R->L } 0.20/0.43 fresh4(times(a, times(b, times(a, a))), c, c) 0.20/0.43 = { by lemma 12 } 0.20/0.43 fresh4(times(a, times(b, c2(a))), c, c) 0.20/0.43 = { by lemma 23 } 0.20/0.43 fresh4(times(a, times(c, a)), c, c) 0.20/0.43 = { by lemma 24 } 0.20/0.43 fresh4(times(c2(a), c), c, c) 0.20/0.43 = { by axiom 3 (conjecture_1) R->L } 0.20/0.43 fresh4(times(c2(a), times(a, b)), c, c) 0.20/0.43 = { by lemma 19 R->L } 0.20/0.43 fresh4(times(b, times(c2(b), times(c2(a), a))), c, c) 0.20/0.43 = { by lemma 24 R->L } 0.20/0.43 fresh4(times(b, times(c2(b), times(a, times(a, a)))), c, c) 0.20/0.43 = { by lemma 12 } 0.20/0.43 fresh4(times(b, times(c2(b), times(a, c2(a)))), c, c) 0.20/0.43 = { by axiom 8 (axiom_2_1) R->L } 0.20/0.43 fresh4(times(b, times(c2(b), fresh(element(a), true, a))), c, c) 0.20/0.43 = { by axiom 2 (conjecture_1_2) } 0.20/0.43 fresh4(times(b, times(c2(b), fresh(true, true, a))), c, c) 0.20/0.43 = { by axiom 4 (axiom_2_1) } 0.20/0.43 fresh4(times(b, times(c2(b), a)), c, c) 0.20/0.43 = { by lemma 22 } 0.20/0.43 fresh4(times(c, c2(b)), c, c) 0.20/0.43 = { by lemma 13 R->L } 0.20/0.43 fresh4(times(c, times(b, b)), c, c) 0.20/0.43 = { by lemma 25 R->L } 0.20/0.43 fresh4(times(b, times(b, c)), c, c) 0.20/0.43 = { by lemma 17 } 0.20/0.43 fresh4(c, c, c) 0.20/0.43 = { by axiom 5 (axiom_2) } 0.20/0.43 true 0.20/0.43 % SZS output end Proof 0.20/0.43 0.20/0.43 RESULT: Theorem (the conjecture is true). 0.20/0.43 EOF