0.12/0.13 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.12/0.14 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof 0.14/0.36 % Computer : n005.cluster.edu 0.14/0.36 % Model : x86_64 x86_64 0.14/0.36 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.14/0.36 % Memory : 8042.1875MB 0.14/0.36 % OS : Linux 3.10.0-693.el7.x86_64 0.14/0.36 % CPULimit : 1200 0.14/0.36 % WCLimit : 120 0.14/0.36 % DateTime : Tue Jul 13 15:14:03 EDT 2021 0.14/0.36 % CPUTime : 99.43/12.98 % SZS status Theorem 99.43/12.98 99.43/12.99 % SZS output start Proof 99.43/12.99 Take the following subset of the input axioms: 99.43/12.99 fof(alpha_morphism, axiom, morphism(alpha, a, b)). 99.43/12.99 fof(g_morphism, axiom, morphism(g, b, e)). 99.43/12.99 fof(lemma12, conjecture, ![E]: (?[B1, B2]: (element(B1, b) & (element(B2, b) & apply(g, subtract(b, B1, B2))=E)) <= element(E, e))). 99.43/12.99 fof(lemma8, axiom, ![E]: (element(E, e) => ?[B1, E1, A]: (element(E1, e) & (E1=apply(g, apply(alpha, A)) & (apply(gamma, apply(f, A))=E1 & (element(A, a) & (E1=subtract(e, apply(g, B1), E) & element(B1, b)))))))). 99.43/12.99 fof(morphism, axiom, ![Morphism, Dom, Cod]: (morphism(Morphism, Dom, Cod) => (![El]: (element(El, Dom) => element(apply(Morphism, El), Cod)) & zero(Cod)=apply(Morphism, zero(Dom))))). 99.43/12.99 fof(subtract_cancellation, axiom, ![Dom, El1, El2]: (El2=subtract(Dom, El1, subtract(Dom, El1, El2)) <= (element(El1, Dom) & element(El2, Dom)))). 99.43/12.99 fof(subtract_distribution, axiom, ![Morphism, Dom, Cod]: (![El1, El2]: ((element(El2, Dom) & element(El1, Dom)) => apply(Morphism, subtract(Dom, El1, El2))=subtract(Cod, apply(Morphism, El1), apply(Morphism, El2))) <= morphism(Morphism, Dom, Cod))). 99.43/12.99 99.43/12.99 Now clausify the problem and encode Horn clauses using encoding 3 of 99.43/12.99 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 99.43/12.99 We repeatedly replace C & s=t => u=v by the two clauses: 99.43/12.99 fresh(y, y, x1...xn) = u 99.43/12.99 C => fresh(s, t, x1...xn) = v 99.43/12.99 where fresh is a fresh function symbol and x1..xn are the free 99.43/12.99 variables of u and v. 99.43/12.99 A predicate p(X) is encoded as p(X)=true (this is sound, because the 99.43/12.99 input problem has no model of domain size 1). 99.43/12.99 99.43/12.99 The encoding turns the above axioms into the following unit equations and goals: 99.43/12.99 99.43/12.99 Axiom 1 (lemma12): element(e2, e) = true2. 99.43/12.99 Axiom 2 (lemma8): fresh22(X, X, Y) = e1(Y). 99.43/12.99 Axiom 3 (lemma8_2): fresh20(X, X, Y) = e1(Y). 99.43/12.99 Axiom 4 (lemma8_4): fresh18(X, X, Y) = true2. 99.43/12.99 Axiom 5 (lemma8_5): fresh17(X, X, Y) = true2. 99.43/12.99 Axiom 6 (alpha_morphism): morphism(alpha, a, b) = true2. 99.43/12.99 Axiom 7 (g_morphism): morphism(g, b, e) = true2. 99.43/12.99 Axiom 8 (subtract_cancellation): fresh(X, X, Y, Z, W) = W. 99.43/12.99 Axiom 9 (lemma8_4): fresh18(element(X, e), true2, X) = element(b1(X), b). 99.43/12.99 Axiom 10 (lemma8_5): fresh17(element(X, e), true2, X) = element(a2(X), a). 99.43/12.99 Axiom 11 (morphism_1): fresh14(X, X, Y, Z, W) = true2. 99.43/12.99 Axiom 12 (lemma8): fresh22(element(X, e), true2, X) = apply(g, apply(alpha, a2(X))). 99.43/12.99 Axiom 13 (morphism_1): fresh15(X, X, Y, Z, W, V) = element(apply(Y, V), W). 99.43/12.99 Axiom 14 (subtract_cancellation): fresh8(X, X, Y, Z, W) = subtract(Y, Z, subtract(Y, Z, W)). 99.43/12.99 Axiom 15 (lemma8_2): fresh20(element(X, e), true2, X) = subtract(e, apply(g, b1(X)), X). 99.43/12.99 Axiom 16 (subtract_cancellation): fresh8(element(X, Y), true2, Y, Z, X) = fresh(element(Z, Y), true2, Y, Z, X). 99.43/12.99 Axiom 17 (subtract_distribution): fresh7(X, X, Y, Z, W, V, U) = apply(Y, subtract(Z, V, U)). 99.43/12.99 Axiom 18 (subtract_distribution): fresh71(X, X, Y, Z, W, V, U) = subtract(W, apply(Y, V), apply(Y, U)). 99.43/12.99 Axiom 19 (morphism_1): fresh15(element(X, Y), true2, Z, Y, W, X) = fresh14(morphism(Z, Y, W), true2, Z, W, X). 99.43/12.99 Axiom 20 (subtract_distribution): fresh70(X, X, Y, Z, W, V, U) = fresh71(element(V, Z), true2, Y, Z, W, V, U). 99.43/12.99 Axiom 21 (subtract_distribution): fresh70(element(X, Y), true2, Z, Y, W, V, X) = fresh7(morphism(Z, Y, W), true2, Z, Y, W, V, X). 99.43/12.99 99.43/12.99 Lemma 22: element(b1(e2), b) = true2. 99.43/12.99 Proof: 99.43/12.99 element(b1(e2), b) 99.43/12.99 = { by axiom 9 (lemma8_4) R->L } 99.43/12.99 fresh18(element(e2, e), true2, e2) 99.43/12.99 = { by axiom 1 (lemma12) } 99.43/12.99 fresh18(true2, true2, e2) 99.43/12.99 = { by axiom 4 (lemma8_4) } 99.43/12.99 true2 99.43/12.99 99.43/12.99 Lemma 23: element(apply(alpha, a2(e2)), b) = true2. 99.43/12.99 Proof: 99.43/12.99 element(apply(alpha, a2(e2)), b) 99.43/12.99 = { by axiom 13 (morphism_1) R->L } 99.43/12.99 fresh15(true2, true2, alpha, a, b, a2(e2)) 99.43/12.99 = { by axiom 5 (lemma8_5) R->L } 99.43/12.99 fresh15(fresh17(true2, true2, e2), true2, alpha, a, b, a2(e2)) 99.43/12.99 = { by axiom 1 (lemma12) R->L } 99.43/12.99 fresh15(fresh17(element(e2, e), true2, e2), true2, alpha, a, b, a2(e2)) 99.43/12.99 = { by axiom 10 (lemma8_5) } 99.43/12.99 fresh15(element(a2(e2), a), true2, alpha, a, b, a2(e2)) 99.43/12.99 = { by axiom 19 (morphism_1) } 99.43/12.99 fresh14(morphism(alpha, a, b), true2, alpha, b, a2(e2)) 99.43/12.99 = { by axiom 6 (alpha_morphism) } 99.43/12.99 fresh14(true2, true2, alpha, b, a2(e2)) 99.43/12.99 = { by axiom 11 (morphism_1) } 99.43/12.99 true2 99.43/12.99 99.43/12.99 Goal 1 (lemma12_1): tuple(apply(g, subtract(b, X, Y)), element(X, b), element(Y, b)) = tuple(e2, true2, true2). 99.43/12.99 The goal is true when: 99.43/12.99 X = b1(e2) 99.43/12.99 Y = apply(alpha, a2(e2)) 99.43/12.99 99.43/12.99 Proof: 99.43/12.99 tuple(apply(g, subtract(b, b1(e2), apply(alpha, a2(e2)))), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/12.99 = { by axiom 17 (subtract_distribution) R->L } 99.43/12.99 tuple(fresh7(true2, true2, g, b, e, b1(e2), apply(alpha, a2(e2))), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/12.99 = { by axiom 7 (g_morphism) R->L } 99.43/12.99 tuple(fresh7(morphism(g, b, e), true2, g, b, e, b1(e2), apply(alpha, a2(e2))), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/12.99 = { by axiom 21 (subtract_distribution) R->L } 99.43/12.99 tuple(fresh70(element(apply(alpha, a2(e2)), b), true2, g, b, e, b1(e2), apply(alpha, a2(e2))), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/12.99 = { by lemma 23 } 99.43/12.99 tuple(fresh70(true2, true2, g, b, e, b1(e2), apply(alpha, a2(e2))), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/12.99 = { by axiom 20 (subtract_distribution) } 99.43/12.99 tuple(fresh71(element(b1(e2), b), true2, g, b, e, b1(e2), apply(alpha, a2(e2))), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/12.99 = { by lemma 22 } 99.43/12.99 tuple(fresh71(true2, true2, g, b, e, b1(e2), apply(alpha, a2(e2))), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/12.99 = { by axiom 18 (subtract_distribution) } 99.43/12.99 tuple(subtract(e, apply(g, b1(e2)), apply(g, apply(alpha, a2(e2)))), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/12.99 = { by axiom 12 (lemma8) R->L } 99.43/12.99 tuple(subtract(e, apply(g, b1(e2)), fresh22(element(e2, e), true2, e2)), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 1 (lemma12) } 99.43/13.00 tuple(subtract(e, apply(g, b1(e2)), fresh22(true2, true2, e2)), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 2 (lemma8) } 99.43/13.00 tuple(subtract(e, apply(g, b1(e2)), e1(e2)), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 3 (lemma8_2) R->L } 99.43/13.00 tuple(subtract(e, apply(g, b1(e2)), fresh20(true2, true2, e2)), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 1 (lemma12) R->L } 99.43/13.00 tuple(subtract(e, apply(g, b1(e2)), fresh20(element(e2, e), true2, e2)), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 15 (lemma8_2) } 99.43/13.00 tuple(subtract(e, apply(g, b1(e2)), subtract(e, apply(g, b1(e2)), e2)), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 14 (subtract_cancellation) R->L } 99.43/13.00 tuple(fresh8(true2, true2, e, apply(g, b1(e2)), e2), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 1 (lemma12) R->L } 99.43/13.00 tuple(fresh8(element(e2, e), true2, e, apply(g, b1(e2)), e2), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 16 (subtract_cancellation) } 99.43/13.00 tuple(fresh(element(apply(g, b1(e2)), e), true2, e, apply(g, b1(e2)), e2), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 13 (morphism_1) R->L } 99.43/13.00 tuple(fresh(fresh15(true2, true2, g, b, e, b1(e2)), true2, e, apply(g, b1(e2)), e2), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by lemma 22 R->L } 99.43/13.00 tuple(fresh(fresh15(element(b1(e2), b), true2, g, b, e, b1(e2)), true2, e, apply(g, b1(e2)), e2), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 19 (morphism_1) } 99.43/13.00 tuple(fresh(fresh14(morphism(g, b, e), true2, g, e, b1(e2)), true2, e, apply(g, b1(e2)), e2), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 7 (g_morphism) } 99.43/13.00 tuple(fresh(fresh14(true2, true2, g, e, b1(e2)), true2, e, apply(g, b1(e2)), e2), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 11 (morphism_1) } 99.43/13.00 tuple(fresh(true2, true2, e, apply(g, b1(e2)), e2), element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by axiom 8 (subtract_cancellation) } 99.43/13.00 tuple(e2, element(b1(e2), b), element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by lemma 22 } 99.43/13.00 tuple(e2, true2, element(apply(alpha, a2(e2)), b)) 99.43/13.00 = { by lemma 23 } 99.43/13.00 tuple(e2, true2, true2) 99.43/13.00 % SZS output end Proof 99.43/13.00 99.43/13.00 RESULT: Theorem (the conjecture is true). 99.43/13.02 EOF