0.03/0.11 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.03/0.12 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.11/0.31 % Computer : n025.cluster.edu 0.11/0.31 % Model : x86_64 x86_64 0.11/0.31 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.11/0.31 % Memory : 8042.1875MB 0.11/0.31 % OS : Linux 3.10.0-693.el7.x86_64 0.11/0.31 % CPULimit : 960 0.11/0.31 % WCLimit : 120 0.11/0.31 % DateTime : Thu Jul 2 07:43:03 EDT 2020 0.11/0.31 % CPUTime : 1.42/0.56 % SZS status Theorem 1.42/0.56 1.42/0.56 % SZS output start Proof 1.42/0.56 Take the following subset of the input axioms: 1.42/0.56 fof(axiom_1, axiom, ?[Y24]: ![X19]: ((id(X19, Y24) & r1(X19)) | (~id(X19, Y24) & ~r1(X19)))). 1.42/0.56 fof(axiom_1a, axiom, ![X1, X8]: ?[Y4]: (?[Y7]: (r3(X1, X8, Y7) & r2(Y7, Y4)) & ?[Y5]: (id(Y5, Y4) & ?[Y15]: (r2(X8, Y15) & r3(X1, Y15, Y5))))). 1.42/0.56 fof(axiom_2, axiom, ![X11]: ?[Y21]: ![X12]: ((~id(X12, Y21) & ~r2(X11, X12)) | (id(X12, Y21) & r2(X11, X12)))). 1.42/0.56 fof(axiom_5, axiom, ![X20]: id(X20, X20)). 1.42/0.56 fof(axiom_6, axiom, ![X21, X22]: (id(X22, X21) | ~id(X21, X22))). 1.42/0.56 fof(axiom_7a, axiom, ![X7, Y10]: (![Y20]: (~id(Y20, Y10) | ~r1(Y20)) | ~r2(X7, Y10))). 1.42/0.56 fof(axiom_8, axiom, ![X26, X27]: (~id(X26, X27) | ((~r1(X27) & ~r1(X26)) | (r1(X26) & r1(X27))))). 1.42/0.56 fof(infiniteNumbersid, conjecture, ![X1]: ?[Y2, Y1]: (![Y4]: (~id(Y1, Y4) | ~r1(Y4)) & ?[Y3]: (r3(X1, Y1, Y3) & id(Y3, Y2)))). 1.42/0.56 1.42/0.56 Now clausify the problem and encode Horn clauses using encoding 3 of 1.42/0.56 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 1.42/0.56 We repeatedly replace C & s=t => u=v by the two clauses: 1.42/0.56 fresh(y, y, x1...xn) = u 1.42/0.56 C => fresh(s, t, x1...xn) = v 1.42/0.56 where fresh is a fresh function symbol and x1..xn are the free 1.42/0.56 variables of u and v. 1.42/0.56 A predicate p(X) is encoded as p(X)=true (this is sound, because the 1.42/0.56 input problem has no model of domain size 1). 1.42/0.56 1.42/0.56 The encoding turns the above axioms into the following unit equations and goals: 1.42/0.56 1.42/0.56 Axiom 1 (axiom_1_1): fresh21(X, X, Y) = true2. 1.42/0.56 Axiom 2 (axiom_2): fresh20(X, X, Y, Z) = true2. 1.42/0.56 Axiom 3 (axiom_6): fresh13(X, X, Y, Z) = true2. 1.42/0.56 Axiom 4 (axiom_8_1): fresh8(X, X, Y, Z) = r1(Y). 1.42/0.56 Axiom 5 (axiom_8_1): fresh7(X, X, Y) = true2. 1.42/0.56 Axiom 6 (infiniteNumbersid): fresh4(X, X, Y, Z, W) = id(Z, sK1_infiniteNumbersid_Y4(Z)). 1.42/0.56 Axiom 7 (infiniteNumbersid): fresh3(X, X, Y) = true2. 1.42/0.56 Axiom 8 (infiniteNumbersid_1): fresh2(X, X, Y, Z, W) = r1(sK1_infiniteNumbersid_Y4(Z)). 1.42/0.56 Axiom 9 (infiniteNumbersid_1): fresh(X, X, Y) = true2. 1.42/0.56 Axiom 10 (axiom_8_1): fresh8(r1(X), true2, Y, X) = fresh7(id(Y, X), true2, Y). 1.42/0.56 Axiom 11 (axiom_1_1): fresh21(r1(X), true2, X) = id(X, sK14_axiom_1_Y24). 1.42/0.56 Axiom 12 (axiom_5): id(X, X) = true2. 1.42/0.56 Axiom 13 (axiom_2): fresh20(id(X, sK10_axiom_2_Y21(Y)), true2, Y, X) = r2(Y, X). 1.42/0.56 Axiom 14 (axiom_6): fresh13(id(X, Y), true2, X, Y) = id(Y, X). 1.42/0.56 Axiom 15 (axiom_1a_3): r3(X, Y, sK5_axiom_1a_Y7(X, Y)) = true2. 1.42/0.56 Axiom 16 (infiniteNumbersid): fresh4(r3(sK2_infiniteNumbersid_X1, X, Y), true2, Z, X, Y) = fresh3(id(Y, Z), true2, X). 1.42/0.56 Axiom 17 (infiniteNumbersid_1): fresh2(r3(sK2_infiniteNumbersid_X1, X, Y), true2, Z, X, Y) = fresh(id(Y, Z), true2, X). 1.42/0.56 1.42/0.56 Lemma 18: r1(X) = true2. 1.42/0.56 Proof: 1.42/0.56 r1(X) 1.42/0.56 = { by axiom 4 (axiom_8_1) } 1.42/0.56 fresh8(true2, true2, X, sK1_infiniteNumbersid_Y4(X)) 1.42/0.56 = { by axiom 9 (infiniteNumbersid_1) } 1.42/0.56 fresh8(fresh(true2, true2, X), true2, X, sK1_infiniteNumbersid_Y4(X)) 1.42/0.56 = { by axiom 12 (axiom_5) } 1.42/0.56 fresh8(fresh(id(sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X), sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X)), true2, X), true2, X, sK1_infiniteNumbersid_Y4(X)) 1.42/0.56 = { by axiom 17 (infiniteNumbersid_1) } 1.42/0.56 fresh8(fresh2(r3(sK2_infiniteNumbersid_X1, X, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X)), true2, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X), X, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X)), true2, X, sK1_infiniteNumbersid_Y4(X)) 1.42/0.56 = { by axiom 15 (axiom_1a_3) } 1.42/0.56 fresh8(fresh2(true2, true2, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X), X, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X)), true2, X, sK1_infiniteNumbersid_Y4(X)) 1.42/0.56 = { by axiom 8 (infiniteNumbersid_1) } 1.42/0.56 fresh8(r1(sK1_infiniteNumbersid_Y4(X)), true2, X, sK1_infiniteNumbersid_Y4(X)) 1.42/0.56 = { by axiom 10 (axiom_8_1) } 1.42/0.56 fresh7(id(X, sK1_infiniteNumbersid_Y4(X)), true2, X) 1.42/0.56 = { by axiom 6 (infiniteNumbersid) } 1.42/0.56 fresh7(fresh4(true2, true2, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X), X, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X)), true2, X) 1.42/0.56 = { by axiom 15 (axiom_1a_3) } 1.42/0.56 fresh7(fresh4(r3(sK2_infiniteNumbersid_X1, X, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X)), true2, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X), X, sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X)), true2, X) 1.42/0.56 = { by axiom 16 (infiniteNumbersid) } 1.42/0.56 fresh7(fresh3(id(sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X), sK5_axiom_1a_Y7(sK2_infiniteNumbersid_X1, X)), true2, X), true2, X) 1.42/0.56 = { by axiom 12 (axiom_5) } 1.42/0.56 fresh7(fresh3(true2, true2, X), true2, X) 1.42/0.56 = { by axiom 7 (infiniteNumbersid) } 1.42/0.56 fresh7(true2, true2, X) 1.42/0.56 = { by axiom 5 (axiom_8_1) } 1.42/0.56 true2 1.42/0.56 1.42/0.56 Lemma 19: id(X, sK14_axiom_1_Y24) = true2. 1.42/0.56 Proof: 1.42/0.56 id(X, sK14_axiom_1_Y24) 1.42/0.56 = { by axiom 11 (axiom_1_1) } 1.42/0.56 fresh21(r1(X), true2, X) 1.42/0.56 = { by lemma 18 } 1.42/0.56 fresh21(true2, true2, X) 1.42/0.56 = { by axiom 1 (axiom_1_1) } 1.42/0.57 true2 1.42/0.57 1.42/0.57 Goal 1 (axiom_7a): tuple(id(X, Y), r1(X), r2(Z, Y)) = tuple(true2, true2, true2). 1.42/0.57 The goal is true when: 1.42/0.57 X = ? 1.42/0.57 Y = sK14_axiom_1_Y24 1.42/0.57 Z = ? 1.42/0.57 where "?" stands for an arbitrary term of your choice. 1.42/0.57 1.42/0.57 Proof: 1.42/0.57 tuple(id(?, sK14_axiom_1_Y24), r1(?), r2(?, sK14_axiom_1_Y24)) 1.42/0.57 = { by lemma 19 } 1.42/0.57 tuple(true2, r1(?), r2(?, sK14_axiom_1_Y24)) 1.42/0.57 = { by lemma 18 } 1.42/0.57 tuple(true2, true2, r2(?, sK14_axiom_1_Y24)) 1.42/0.57 = { by axiom 13 (axiom_2) } 1.42/0.57 tuple(true2, true2, fresh20(id(sK14_axiom_1_Y24, sK10_axiom_2_Y21(?)), true2, ?, sK14_axiom_1_Y24)) 1.42/0.57 = { by axiom 14 (axiom_6) } 1.42/0.57 tuple(true2, true2, fresh20(fresh13(id(sK10_axiom_2_Y21(?), sK14_axiom_1_Y24), true2, sK10_axiom_2_Y21(?), sK14_axiom_1_Y24), true2, ?, sK14_axiom_1_Y24)) 1.42/0.57 = { by lemma 19 } 1.42/0.57 tuple(true2, true2, fresh20(fresh13(true2, true2, sK10_axiom_2_Y21(?), sK14_axiom_1_Y24), true2, ?, sK14_axiom_1_Y24)) 1.42/0.57 = { by axiom 3 (axiom_6) } 1.42/0.57 tuple(true2, true2, fresh20(true2, true2, ?, sK14_axiom_1_Y24)) 1.42/0.57 = { by axiom 2 (axiom_2) } 1.42/0.57 tuple(true2, true2, true2) 1.42/0.57 % SZS output end Proof 1.42/0.57 1.42/0.57 RESULT: Theorem (the conjecture is true). 1.42/0.57 EOF