0.00/0.04 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.00/0.04 % Command : twee %s --tstp --casc --quiet --conditional-encoding if --smaller --drop-non-horn 0.03/0.24 % Computer : n148.star.cs.uiowa.edu 0.03/0.24 % Model : x86_64 x86_64 0.03/0.24 % CPU : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz 0.03/0.24 % Memory : 32218.625MB 0.03/0.24 % OS : Linux 3.10.0-693.2.2.el7.x86_64 0.03/0.24 % CPULimit : 300 0.03/0.24 % DateTime : Sat Jul 14 04:23:40 CDT 2018 0.03/0.24 % CPUTime : 0.07/0.27 % SZS status Theorem 0.07/0.27 0.07/0.28 % SZS output start Proof 0.07/0.28 Take the following subset of the input axioms: 0.07/0.29 fof(ax2, axiom, 0.07/0.29 ![U]: (sorti2(U) => ![V]: (sorti2(V) => sorti2(op2(U, V))))). 0.07/0.29 fof(ax3, axiom, 0.07/0.29 ?[U]: (![V]: (op1(V, V)=U <= sorti1(V)) & sorti1(U))). 0.07/0.29 fof(ax4, axiom, 0.07/0.29 ~?[U]: (sorti2(U) & ![V]: (sorti2(V) => op2(V, V)=U))). 0.07/0.29 fof(co1, conjecture, 0.07/0.29 (![U]: (sorti2(h(U)) <= sorti1(U)) 0.07/0.29 & ![V]: (sorti2(V) => sorti1(j(V)))) 0.07/0.29 => ~(![W]: 0.07/0.29 (sorti1(W) => ![X]: (op2(h(W), h(X))=h(op1(W, X)) <= sorti1(X))) 0.07/0.29 & (![Y]: 0.07/0.29 (![Z]: (op1(j(Y), j(Z))=j(op2(Y, Z)) <= sorti2(Z)) <= sorti2(Y)) 0.07/0.29 & (![X1]: (X1=h(j(X1)) <= sorti2(X1)) 0.07/0.29 & ![X2]: (sorti1(X2) => j(h(X2))=X2))))). 0.07/0.29 0.07/0.29 Now clausify the problem and encode Horn clauses using encoding 3 of 0.07/0.29 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.07/0.29 We repeatedly replace C & s=t => u=v by the two clauses: 0.07/0.29 $$fresh(y, y, x1...xn) = u 0.07/0.29 C => $$fresh(s, t, x1...xn) = v 0.07/0.29 where $$fresh is a fresh function symbol and x1..xn are the free 0.07/0.29 variables of u and v. 0.07/0.29 A predicate p(X) is encoded as p(X)=$$true (this is sound, because the 0.07/0.29 input problem has no model of domain size 1). 0.07/0.29 0.07/0.29 The encoding turns the above axioms into the following unit equations and goals: 0.07/0.29 0.07/0.29 Axiom 3 (ax2): $$fresh12(X, X, Y, Z) = sorti2(op2(Y, Z)). 0.07/0.29 Axiom 4 (ax2): $$fresh11(X, X, Y, Z) = $$true2. 0.07/0.29 Axiom 5 (ax3_1): $$fresh10(X, X, Y) = sK2_ax3_U. 0.07/0.29 Axiom 6 (ax4_1): $$fresh9(X, X, Y) = $$true2. 0.07/0.29 Axiom 7 (co1): $$fresh8(X, X, Y) = $$true2. 0.07/0.29 Axiom 11 (co1_3): $$fresh5(X, X, Y) = $$true2. 0.07/0.29 Axiom 12 (co1_4): $$fresh4(X, X, Y, Z) = op1(j(Y), j(Z)). 0.07/0.29 Axiom 13 (co1_4): $$fresh3(X, X, Y, Z) = j(op2(Y, Z)). 0.07/0.29 Axiom 14 (co1_5): $$fresh(X, X, Y) = Y. 0.07/0.29 Axiom 15 (ax3_1): $$fresh10(sorti1(X), $$true2, X) = op1(X, X). 0.07/0.29 Axiom 16 (ax3): sorti1(sK2_ax3_U) = $$true2. 0.07/0.29 Axiom 17 (ax2): $$fresh12(sorti2(X), $$true2, Y, X) = $$fresh11(sorti2(Y), $$true2, Y, X). 0.07/0.29 Axiom 18 (ax4_1): $$fresh9(sorti2(X), $$true2, X) = sorti2(sK1_ax4_V(X)). 0.07/0.29 Axiom 20 (co1): $$fresh8(sorti1(X), $$true2, X) = sorti2(h(X)). 0.07/0.29 Axiom 23 (co1_3): $$fresh5(sorti2(X), $$true2, X) = sorti1(j(X)). 0.07/0.29 Axiom 24 (co1_4): $$fresh4(sorti2(X), $$true2, Y, X) = $$fresh3(sorti2(Y), $$true2, Y, X). 0.07/0.29 Axiom 25 (co1_5): $$fresh(sorti2(X), $$true2, X) = h(j(X)). 0.07/0.29 0.07/0.29 Lemma 26: sorti2(h(sK2_ax3_U)) = $$true2. 0.07/0.29 Proof: 0.07/0.29 sorti2(h(sK2_ax3_U)) 0.07/0.29 = { by axiom 20 (co1) } 0.07/0.29 $$fresh8(sorti1(sK2_ax3_U), $$true2, sK2_ax3_U) 0.07/0.29 = { by axiom 16 (ax3) } 0.07/0.29 $$fresh8($$true2, $$true2, sK2_ax3_U) 0.07/0.29 = { by axiom 7 (co1) } 0.07/0.29 $$true2 0.07/0.29 0.07/0.29 Lemma 27: sorti2(sK1_ax4_V(h(sK2_ax3_U))) = $$true2. 0.07/0.29 Proof: 0.07/0.29 sorti2(sK1_ax4_V(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 18 (ax4_1) } 0.07/0.29 $$fresh9(sorti2(h(sK2_ax3_U)), $$true2, h(sK2_ax3_U)) 0.07/0.29 = { by lemma 26 } 0.07/0.29 $$fresh9($$true2, $$true2, h(sK2_ax3_U)) 0.07/0.29 = { by axiom 6 (ax4_1) } 0.07/0.29 $$true2 0.07/0.29 0.07/0.29 Goal 1 (ax4): tuple(op2(sK1_ax4_V(X), sK1_ax4_V(X)), sorti2(X)) = tuple(X, $$true2). 0.07/0.29 The goal is true when: 0.07/0.29 X = h(sK2_ax3_U) 0.07/0.29 0.07/0.29 Proof: 0.07/0.29 tuple(op2(sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 14 (co1_5) } 0.07/0.29 tuple($$fresh($$true2, $$true2, op2(sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 4 (ax2) } 0.07/0.29 tuple($$fresh($$fresh11($$true2, $$true2, sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U))), $$true2, op2(sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by lemma 27 } 0.07/0.29 tuple($$fresh($$fresh11(sorti2(sK1_ax4_V(h(sK2_ax3_U))), $$true2, sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U))), $$true2, op2(sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 17 (ax2) } 0.07/0.29 tuple($$fresh($$fresh12(sorti2(sK1_ax4_V(h(sK2_ax3_U))), $$true2, sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U))), $$true2, op2(sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by lemma 27 } 0.07/0.29 tuple($$fresh($$fresh12($$true2, $$true2, sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U))), $$true2, op2(sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 3 (ax2) } 0.07/0.29 tuple($$fresh(sorti2(op2(sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), $$true2, op2(sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 25 (co1_5) } 0.07/0.29 tuple(h(j(op2(sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U))))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 13 (co1_4) } 0.07/0.29 tuple(h($$fresh3($$true2, $$true2, sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by lemma 27 } 0.07/0.29 tuple(h($$fresh3(sorti2(sK1_ax4_V(h(sK2_ax3_U))), $$true2, sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 24 (co1_4) } 0.07/0.29 tuple(h($$fresh4(sorti2(sK1_ax4_V(h(sK2_ax3_U))), $$true2, sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by lemma 27 } 0.07/0.29 tuple(h($$fresh4($$true2, $$true2, sK1_ax4_V(h(sK2_ax3_U)), sK1_ax4_V(h(sK2_ax3_U)))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 12 (co1_4) } 0.07/0.29 tuple(h(op1(j(sK1_ax4_V(h(sK2_ax3_U))), j(sK1_ax4_V(h(sK2_ax3_U))))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 15 (ax3_1) } 0.07/0.29 tuple(h($$fresh10(sorti1(j(sK1_ax4_V(h(sK2_ax3_U)))), $$true2, j(sK1_ax4_V(h(sK2_ax3_U))))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 23 (co1_3) } 0.07/0.29 tuple(h($$fresh10($$fresh5(sorti2(sK1_ax4_V(h(sK2_ax3_U))), $$true2, sK1_ax4_V(h(sK2_ax3_U))), $$true2, j(sK1_ax4_V(h(sK2_ax3_U))))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by lemma 27 } 0.07/0.29 tuple(h($$fresh10($$fresh5($$true2, $$true2, sK1_ax4_V(h(sK2_ax3_U))), $$true2, j(sK1_ax4_V(h(sK2_ax3_U))))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 11 (co1_3) } 0.07/0.29 tuple(h($$fresh10($$true2, $$true2, j(sK1_ax4_V(h(sK2_ax3_U))))), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by axiom 5 (ax3_1) } 0.07/0.29 tuple(h(sK2_ax3_U), sorti2(h(sK2_ax3_U))) 0.07/0.29 = { by lemma 26 } 0.07/0.29 tuple(h(sK2_ax3_U), $$true2) 0.07/0.29 % SZS output end Proof 0.07/0.29 0.07/0.29 RESULT: Theorem (the conjecture is true). 0.07/0.30 EOF