0.11/0.13 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.11/0.13 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.14/0.35 % Computer : n026.cluster.edu 0.14/0.35 % Model : x86_64 x86_64 0.14/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.14/0.35 % Memory : 8042.1875MB 0.14/0.35 % OS : Linux 3.10.0-693.el7.x86_64 0.14/0.35 % CPULimit : 960 0.14/0.35 % WCLimit : 120 0.14/0.35 % DateTime : Thu Jul 2 08:41:39 EDT 2020 0.14/0.35 % CPUTime : 32.00/4.39 % SZS status Theorem 32.00/4.39 32.00/4.39 % SZS output start Proof 32.00/4.39 Take the following subset of the input axioms: 32.00/4.39 fof(thm_2Ebool_2EEQ__CLAUSES, axiom, ![V0t_2E0]: ((s(tyop_2Emin_2Ebool, V0t_2E0)=s(tyop_2Emin_2Ebool, c_2Ebool_2ET_2E0) <=> p(s(tyop_2Emin_2Ebool, V0t_2E0))) & ((~p(s(tyop_2Emin_2Ebool, V0t_2E0)) <=> s(tyop_2Emin_2Ebool, V0t_2E0)=s(tyop_2Emin_2Ebool, c_2Ebool_2EF_2E0)) & ((s(tyop_2Emin_2Ebool, V0t_2E0)=s(tyop_2Emin_2Ebool, c_2Ebool_2EF_2E0) <=> ~p(s(tyop_2Emin_2Ebool, V0t_2E0))) & (s(tyop_2Emin_2Ebool, c_2Ebool_2ET_2E0)=s(tyop_2Emin_2Ebool, V0t_2E0) <=> p(s(tyop_2Emin_2Ebool, V0t_2E0))))))). 32.00/4.39 fof(thm_2Ebool_2ETRUTH, axiom, p(s(tyop_2Emin_2Ebool, c_2Ebool_2ET_2E0))). 32.00/4.39 fof(thm_2Einteger_2EINT__DIVIDES__NEG, axiom, ![V1q_2E0, V0p_2E0]: (s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, V0p_2E0))), s(tyop_2Einteger_2Eint, V1q_2E0)))=s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, V0p_2E0), s(tyop_2Einteger_2Eint, V1q_2E0))) & s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, V0p_2E0), s(tyop_2Einteger_2Eint, V1q_2E0)))=s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, V0p_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, V1q_2E0))))))). 32.00/4.39 fof(thm_2Einteger_2EINT__DIVIDES__RADD, axiom, ![V1q_2E0, V0p_2E0, V2r_2E0]: (p(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, V0p_2E0), s(tyop_2Einteger_2Eint, V1q_2E0)))) => s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, V0p_2E0), s(tyop_2Einteger_2Eint, V2r_2E0)))=s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, V0p_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__add_2E2(s(tyop_2Einteger_2Eint, V2r_2E0), s(tyop_2Einteger_2Eint, V1q_2E0))))))). 32.00/4.39 fof(thm_2Einteger_2EINT__DIVIDES__RSUB, conjecture, ![V1q_2E0, V0p_2E0, V2r_2E0]: (p(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, V0p_2E0), s(tyop_2Einteger_2Eint, V1q_2E0)))) => s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, V0p_2E0), s(tyop_2Einteger_2Eint, V2r_2E0)))=s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, V0p_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__sub_2E2(s(tyop_2Einteger_2Eint, V2r_2E0), s(tyop_2Einteger_2Eint, V1q_2E0))))))). 32.00/4.39 fof(thm_2Einteger_2Eint__sub, axiom, ![V0x_2E0, V1y_2E0]: s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__add_2E2(s(tyop_2Einteger_2Eint, V0x_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, V1y_2E0)))))=s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__sub_2E2(s(tyop_2Einteger_2Eint, V0x_2E0), s(tyop_2Einteger_2Eint, V1y_2E0)))). 32.00/4.39 32.00/4.39 Now clausify the problem and encode Horn clauses using encoding 3 of 32.00/4.39 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 32.00/4.39 We repeatedly replace C & s=t => u=v by the two clauses: 32.00/4.39 fresh(y, y, x1...xn) = u 32.00/4.39 C => fresh(s, t, x1...xn) = v 32.00/4.39 where fresh is a fresh function symbol and x1..xn are the free 32.00/4.39 variables of u and v. 32.00/4.39 A predicate p(X) is encoded as p(X)=true (this is sound, because the 32.00/4.39 input problem has no model of domain size 1). 32.00/4.39 32.00/4.39 The encoding turns the above axioms into the following unit equations and goals: 32.00/4.39 32.00/4.39 Axiom 1 (thm_2Ebool_2EEQ__CLAUSES_7): fresh58(X, X, Y) = s(tyop_2Emin_2Ebool, Y). 32.00/4.39 Axiom 2 (thm_2Einteger_2EINT__DIVIDES__RADD): fresh41(X, X, Y, Z, W) = s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, Y), s(tyop_2Einteger_2Eint, W))). 32.00/4.39 Axiom 3 (thm_2Ebool_2EEQ__CLAUSES_7): fresh58(p(s(tyop_2Emin_2Ebool, X)), true2, X) = s(tyop_2Emin_2Ebool, c_2Ebool_2ET_2E0). 32.00/4.39 Axiom 4 (thm_2Einteger_2Eint__sub): s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__add_2E2(s(tyop_2Einteger_2Eint, X), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, Y))))) = s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__sub_2E2(s(tyop_2Einteger_2Eint, X), s(tyop_2Einteger_2Eint, Y))). 32.00/4.39 Axiom 5 (thm_2Einteger_2EINT__DIVIDES__NEG_1): s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, X), s(tyop_2Einteger_2Eint, Y))) = s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, X), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, Y))))). 32.00/4.39 Axiom 6 (thm_2Ebool_2ETRUTH): p(s(tyop_2Emin_2Ebool, c_2Ebool_2ET_2E0)) = true2. 32.00/4.39 Axiom 7 (thm_2Einteger_2EINT__DIVIDES__RADD): fresh41(p(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, X), s(tyop_2Einteger_2Eint, Y)))), true2, X, Y, Z) = s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, X), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__add_2E2(s(tyop_2Einteger_2Eint, Z), s(tyop_2Einteger_2Eint, Y))))). 32.00/4.39 Axiom 8 (thm_2Einteger_2EINT__DIVIDES__RSUB): p(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)))) = true2. 32.00/4.39 32.00/4.39 Goal 1 (thm_2Einteger_2EINT__DIVIDES__RSUB_1): s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0))) = s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__sub_2E2(s(tyop_2Einteger_2Eint, sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0), s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0))))). 32.00/4.39 Proof: 32.00/4.39 s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0))) 32.00/4.39 = { by axiom 2 (thm_2Einteger_2EINT__DIVIDES__RADD) } 32.00/4.39 fresh41(?, ?, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0, ?, sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0) 32.00/4.39 = { by axiom 2 (thm_2Einteger_2EINT__DIVIDES__RADD) } 32.00/4.39 s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0))) 32.00/4.39 = { by axiom 2 (thm_2Einteger_2EINT__DIVIDES__RADD) } 32.00/4.39 fresh41(true2, true2, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)), sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0) 32.00/4.39 = { by axiom 6 (thm_2Ebool_2ETRUTH) } 32.00/4.39 fresh41(p(s(tyop_2Emin_2Ebool, c_2Ebool_2ET_2E0)), true2, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)), sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0) 32.00/4.39 = { by axiom 3 (thm_2Ebool_2EEQ__CLAUSES_7) } 32.00/4.39 fresh41(p(fresh58(p(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)))), true2, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)))), true2, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)), sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0) 32.00/4.39 = { by axiom 8 (thm_2Einteger_2EINT__DIVIDES__RSUB) } 32.00/4.39 fresh41(p(fresh58(true2, true2, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)))), true2, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)), sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0) 32.00/4.39 = { by axiom 1 (thm_2Ebool_2EEQ__CLAUSES_7) } 32.00/4.39 fresh41(p(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)))), true2, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)), sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0) 32.00/4.39 = { by axiom 5 (thm_2Einteger_2EINT__DIVIDES__NEG_1) } 32.00/4.39 fresh41(p(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)))))), true2, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0)), sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0) 32.00/4.39 = { by axiom 7 (thm_2Einteger_2EINT__DIVIDES__RADD) } 32.00/4.39 s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__add_2E2(s(tyop_2Einteger_2Eint, sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0))))))) 32.00/4.39 = { by axiom 4 (thm_2Einteger_2Eint__sub) } 32.00/4.39 s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__divides_2E2(s(tyop_2Einteger_2Eint, sK6_thm_2Einteger_2EINT__DIVIDES__RSUB_V0p_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__sub_2E2(s(tyop_2Einteger_2Eint, sK4_thm_2Einteger_2EINT__DIVIDES__RSUB_V2r_2E0), s(tyop_2Einteger_2Eint, sK5_thm_2Einteger_2EINT__DIVIDES__RSUB_V1q_2E0))))) 32.00/4.39 % SZS output end Proof 32.00/4.39 32.00/4.39 RESULT: Theorem (the conjecture is true). 32.00/4.41 EOF