0.07/0.11 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.07/0.12 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.12/0.33 % Computer : n005.cluster.edu 0.12/0.33 % Model : x86_64 x86_64 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.33 % Memory : 8042.1875MB 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.33 % CPULimit : 960 0.12/0.33 % WCLimit : 120 0.12/0.33 % DateTime : Thu Jul 2 06:50:36 EDT 2020 0.12/0.33 % CPUTime : 0.18/0.48 % SZS status Theorem 0.18/0.48 0.18/0.48 % SZS output start Proof 0.18/0.48 Take the following subset of the input axioms: 0.18/0.49 fof(axiom_2a, axiom, ![X2, X9]: ?[Y2]: (?[Y6]: (r4(X2, X9, Y6) & r3(Y6, X2, Y2)) & ?[Y3]: (Y2=Y3 & ?[Y14]: (r4(X2, Y14, Y3) & r2(X9, Y14))))). 0.18/0.49 fof(axiom_4a, axiom, ![X4]: ?[Y9]: (X4=Y9 & ?[Y16]: (r3(X4, Y16, Y9) & r1(Y16)))). 0.18/0.49 fof(axiom_5a, axiom, ![X5]: ?[Y8]: (?[Y17]: (r4(X5, Y17, Y8) & r1(Y17)) & ?[Y18]: (Y18=Y8 & r1(Y18)))). 0.18/0.49 fof(axiom_7a, axiom, ![X7, Y10]: (~r2(X7, Y10) | ![Y20]: (Y10!=Y20 | ~r1(Y20)))). 0.18/0.49 fof(xplusyeqthree, conjecture, ?[Y1, Y2, Y3]: (r3(Y1, Y2, Y3) & ?[Y4]: (Y4=Y3 & ?[Y5]: (?[Y6]: (?[Y7]: (r1(Y7) & r2(Y7, Y6)) & r2(Y6, Y5)) & r2(Y5, Y4))))). 0.18/0.49 0.18/0.49 Now clausify the problem and encode Horn clauses using encoding 3 of 0.18/0.49 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.18/0.49 We repeatedly replace C & s=t => u=v by the two clauses: 0.18/0.49 fresh(y, y, x1...xn) = u 0.18/0.49 C => fresh(s, t, x1...xn) = v 0.18/0.49 where fresh is a fresh function symbol and x1..xn are the free 0.18/0.49 variables of u and v. 0.18/0.49 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.18/0.49 input problem has no model of domain size 1). 0.18/0.49 0.18/0.49 The encoding turns the above axioms into the following unit equations and goals: 0.18/0.49 0.18/0.49 Axiom 1 (axiom_2a_3): r2(X, sK12_axiom_2a_Y14(Y, X)) = true2. 0.18/0.49 Axiom 2 (axiom_5a_3): r1(sK8_axiom_5a_Y18(X)) = true2. 0.18/0.49 Axiom 3 (axiom_4a_2): r3(X, sK1_axiom_4a_Y16(X), sK2_axiom_4a_Y9(X)) = true2. 0.18/0.49 Axiom 4 (axiom_4a): X = sK2_axiom_4a_Y9(X). 0.18/0.49 0.18/0.49 Goal 1 (xplusyeqthree): tuple(r1(X), r2(Y, Z), r2(W, Y), r2(X, W), r3(V, U, Z)) = tuple(true2, true2, true2, true2, true2). 0.18/0.49 The goal is true when: 0.18/0.49 X = sK8_axiom_5a_Y18(?) 0.18/0.49 Y = sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))) 0.18/0.49 Z = sK2_axiom_4a_Y9(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))) 0.18/0.49 W = sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)) 0.18/0.49 V = sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))) 0.18/0.49 U = sK1_axiom_4a_Y16(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))) 0.18/0.49 where "?" stands for an arbitrary term of your choice. 0.18/0.49 0.18/0.49 Proof: 0.18/0.49 tuple(r1(sK8_axiom_5a_Y18(?)), r2(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))), sK2_axiom_4a_Y9(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))))), r2(sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)), sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), r2(sK8_axiom_5a_Y18(?), sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))), r3(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), sK1_axiom_4a_Y16(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))), sK2_axiom_4a_Y9(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))))) 0.18/0.49 = { by axiom 2 (axiom_5a_3) } 0.18/0.49 tuple(true2, r2(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))), sK2_axiom_4a_Y9(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))))), r2(sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)), sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), r2(sK8_axiom_5a_Y18(?), sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))), r3(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), sK1_axiom_4a_Y16(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))), sK2_axiom_4a_Y9(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))))) 0.18/0.49 = { by axiom 4 (axiom_4a) } 0.18/0.49 tuple(true2, r2(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))), sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))), r2(sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)), sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), r2(sK8_axiom_5a_Y18(?), sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))), r3(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), sK1_axiom_4a_Y16(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))), sK2_axiom_4a_Y9(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))))) 0.18/0.49 = { by axiom 1 (axiom_2a_3) } 0.18/0.49 tuple(true2, true2, r2(sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)), sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), r2(sK8_axiom_5a_Y18(?), sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))), r3(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), sK1_axiom_4a_Y16(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))), sK2_axiom_4a_Y9(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))))) 0.18/0.49 = { by axiom 1 (axiom_2a_3) } 0.18/0.49 tuple(true2, true2, true2, r2(sK8_axiom_5a_Y18(?), sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))), r3(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), sK1_axiom_4a_Y16(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))), sK2_axiom_4a_Y9(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))))) 0.18/0.49 = { by axiom 1 (axiom_2a_3) } 0.18/0.49 tuple(true2, true2, true2, true2, r3(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?)))), sK1_axiom_4a_Y16(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))), sK2_axiom_4a_Y9(sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK12_axiom_2a_Y14(?, sK8_axiom_5a_Y18(?))))))) 0.18/0.49 = { by axiom 3 (axiom_4a_2) } 0.18/0.49 tuple(true2, true2, true2, true2, true2) 0.18/0.49 % SZS output end Proof 0.18/0.49 0.18/0.49 RESULT: Theorem (the conjecture is true). 0.18/0.49 EOF