TSTP Solution File: NUM017-2 by Twee---2.4.2
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Twee---2.4.2
% Problem : NUM017-2 : TPTP v8.1.2. Bugfixed v1.2.1.
% Transfm : none
% Format : tptp:raw
% Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% Computer : n001.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Thu Aug 31 11:55:00 EDT 2023
% Result : Unsatisfiable 0.19s 0.78s
% Output : Proof 3.05s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : NUM017-2 : TPTP v8.1.2. Bugfixed v1.2.1.
% 0.00/0.13 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.13/0.34 % Computer : n001.cluster.edu
% 0.13/0.34 % Model : x86_64 x86_64
% 0.13/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34 % Memory : 8042.1875MB
% 0.13/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34 % CPULimit : 300
% 0.13/0.34 % WCLimit : 300
% 0.13/0.34 % DateTime : Fri Aug 25 09:17:58 EDT 2023
% 0.13/0.34 % CPUTime :
% 0.19/0.78 Command-line arguments: --lhs-weight 1 --flip-ordering --normalise-queue-percent 10 --cp-renormalise-threshold 10
% 0.19/0.78
% 0.19/0.78 % SZS status Unsatisfiable
% 3.05/0.79
% 3.05/0.80 % SZS output start Proof
% 3.05/0.80 Take the following subset of the input axioms:
% 3.05/0.80 fof(a_is_prime, hypothesis, prime(a)).
% 3.05/0.80 fof(closure_of_product, axiom, ![A, B]: product(A, B, multiply(A, B))).
% 3.05/0.80 fof(divides_implies_product, axiom, ![A2, B2]: (~divides(A2, B2) | product(A2, second_divided_by_1st(A2, B2), B2))).
% 3.05/0.80 fof(primes_lemma1, axiom, ![C, B2, A2_2]: (~divides(A2_2, B2) | (~product(C, C, B2) | (~prime(A2_2) | divides(A2_2, C))))).
% 3.05/0.81 fof(product_associativity1, axiom, ![D, E, F, B2, C2, A2_2]: (~product(A2_2, B2, C2) | (~product(D, E, B2) | (~product(A2_2, D, F) | product(F, E, C2))))).
% 3.05/0.81 fof(product_commutativity, axiom, ![B2, C2, A2_2]: (~product(A2_2, B2, C2) | product(B2, A2_2, C2))).
% 3.05/0.81 fof(product_divisible_by_operand, axiom, ![B2, C2, A2_2]: (~product(A2_2, B2, C2) | divides(A2_2, C2))).
% 3.05/0.81 fof(product_left_cancellation, axiom, ![B2, C2, D2, A2_2]: (~product(A2_2, B2, C2) | (~product(A2_2, D2, C2) | B2=D2))).
% 3.05/0.81 fof(prove_there_is_no_common_divisor, negated_conjecture, ![A3]: (~divides(A3, c) | ~divides(A3, b))).
% 3.05/0.81 fof(well_defined_product, axiom, ![B2, C2, D2, A2_2]: (~product(A2_2, B2, C2) | (~product(A2_2, B2, D2) | D2=C2))).
% 3.05/0.81
% 3.05/0.81 Now clausify the problem and encode Horn clauses using encoding 3 of
% 3.05/0.81 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 3.05/0.81 We repeatedly replace C & s=t => u=v by the two clauses:
% 3.05/0.81 fresh(y, y, x1...xn) = u
% 3.05/0.81 C => fresh(s, t, x1...xn) = v
% 3.05/0.81 where fresh is a fresh function symbol and x1..xn are the free
% 3.05/0.81 variables of u and v.
% 3.05/0.81 A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 3.05/0.81 input problem has no model of domain size 1).
% 3.05/0.81
% 3.05/0.81 The encoding turns the above axioms into the following unit equations and goals:
% 3.05/0.81
% 3.05/0.81 Axiom 1 (a_is_prime): prime(a) = true2.
% 3.05/0.81 Axiom 2 (well_defined_product): fresh(X, X, Y, Z) = Y.
% 3.05/0.81 Axiom 3 (primes_lemma1): fresh14(X, X, Y, Z) = true2.
% 3.05/0.81 Axiom 4 (divides_implies_product): fresh11(X, X, Y, Z) = true2.
% 3.05/0.81 Axiom 5 (product_divisible_by_operand): fresh7(X, X, Y, Z) = true2.
% 3.05/0.81 Axiom 6 (product_left_cancellation): fresh3(X, X, Y, Z) = Z.
% 3.05/0.81 Axiom 7 (closure_of_product): product(X, Y, multiply(X, Y)) = true2.
% 3.05/0.81 Axiom 8 (product_associativity1): fresh18(X, X, Y, Z, W) = true2.
% 3.05/0.81 Axiom 9 (primes_lemma1): fresh12(X, X, Y, Z, W) = divides(Y, W).
% 3.05/0.81 Axiom 10 (product_commutativity): fresh8(X, X, Y, Z, W) = true2.
% 3.05/0.81 Axiom 11 (divides_implies_product): fresh11(divides(X, Y), true2, X, Y) = product(X, second_divided_by_1st(X, Y), Y).
% 3.05/0.81 Axiom 12 (product_left_cancellation): fresh4(X, X, Y, Z, W, V) = Z.
% 3.05/0.81 Axiom 13 (well_defined_product): fresh2(X, X, Y, Z, W, V) = V.
% 3.05/0.81 Axiom 14 (primes_lemma1): fresh13(X, X, Y, Z, W) = fresh14(product(W, W, Z), true2, Y, W).
% 3.05/0.81 Axiom 15 (primes_lemma1): fresh13(prime(X), true2, X, Y, Z) = fresh12(divides(X, Y), true2, X, Y, Z).
% 3.05/0.81 Axiom 16 (product_associativity1): fresh10(X, X, Y, Z, W, V, U) = product(U, V, W).
% 3.05/0.81 Axiom 17 (product_divisible_by_operand): fresh7(product(X, Y, Z), true2, X, Z) = divides(X, Z).
% 3.05/0.81 Axiom 18 (product_associativity1): fresh17(X, X, Y, Z, W, V, U, T) = fresh18(product(Y, Z, W), true2, W, U, T).
% 3.05/0.81 Axiom 19 (product_commutativity): fresh8(product(X, Y, Z), true2, X, Y, Z) = product(Y, X, Z).
% 3.05/0.81 Axiom 20 (product_left_cancellation): fresh4(product(X, Y, Z), true2, X, W, Z, Y) = fresh3(product(X, W, Z), true2, W, Y).
% 3.05/0.81 Axiom 21 (well_defined_product): fresh2(product(X, Y, Z), true2, X, Y, W, Z) = fresh(product(X, Y, W), true2, W, Z).
% 3.05/0.81 Axiom 22 (product_associativity1): fresh17(product(X, Y, Z), true2, W, Z, V, X, Y, U) = fresh10(product(W, X, U), true2, W, Z, V, Y, U).
% 3.05/0.81
% 3.05/0.81 Lemma 23: product(X, Y, multiply(Y, X)) = true2.
% 3.05/0.81 Proof:
% 3.05/0.81 product(X, Y, multiply(Y, X))
% 3.05/0.81 = { by axiom 19 (product_commutativity) R->L }
% 3.05/0.81 fresh8(product(Y, X, multiply(Y, X)), true2, Y, X, multiply(Y, X))
% 3.05/0.81 = { by axiom 7 (closure_of_product) }
% 3.05/0.81 fresh8(true2, true2, Y, X, multiply(Y, X))
% 3.05/0.81 = { by axiom 10 (product_commutativity) }
% 3.05/0.81 true2
% 3.05/0.81
% 3.05/0.81 Lemma 24: fresh(product(X, Y, Z), true2, Z, multiply(X, Y)) = multiply(X, Y).
% 3.05/0.81 Proof:
% 3.05/0.81 fresh(product(X, Y, Z), true2, Z, multiply(X, Y))
% 3.05/0.81 = { by axiom 21 (well_defined_product) R->L }
% 3.05/0.81 fresh2(product(X, Y, multiply(X, Y)), true2, X, Y, Z, multiply(X, Y))
% 3.05/0.81 = { by axiom 7 (closure_of_product) }
% 3.05/0.81 fresh2(true2, true2, X, Y, Z, multiply(X, Y))
% 3.05/0.81 = { by axiom 13 (well_defined_product) }
% 3.05/0.81 multiply(X, Y)
% 3.05/0.81
% 3.05/0.81 Lemma 25: multiply(Y, X) = multiply(X, Y).
% 3.05/0.81 Proof:
% 3.05/0.81 multiply(Y, X)
% 3.05/0.81 = { by axiom 2 (well_defined_product) R->L }
% 3.05/0.81 fresh(true2, true2, multiply(Y, X), multiply(X, Y))
% 3.05/0.81 = { by lemma 23 R->L }
% 3.05/0.81 fresh(product(X, Y, multiply(Y, X)), true2, multiply(Y, X), multiply(X, Y))
% 3.05/0.81 = { by lemma 24 }
% 3.05/0.81 multiply(X, Y)
% 3.05/0.81
% 3.05/0.81 Lemma 26: divides(X, multiply(X, Y)) = true2.
% 3.05/0.81 Proof:
% 3.05/0.81 divides(X, multiply(X, Y))
% 3.05/0.81 = { by axiom 17 (product_divisible_by_operand) R->L }
% 3.05/0.81 fresh7(product(X, Y, multiply(X, Y)), true2, X, multiply(X, Y))
% 3.05/0.81 = { by axiom 7 (closure_of_product) }
% 3.05/0.81 fresh7(true2, true2, X, multiply(X, Y))
% 3.05/0.81 = { by axiom 5 (product_divisible_by_operand) }
% 3.05/0.81 true2
% 3.05/0.81
% 3.05/0.81 Lemma 27: second_divided_by_1st(X, multiply(X, Y)) = Y.
% 3.05/0.81 Proof:
% 3.05/0.81 second_divided_by_1st(X, multiply(X, Y))
% 3.05/0.81 = { by axiom 12 (product_left_cancellation) R->L }
% 3.05/0.81 fresh4(true2, true2, X, second_divided_by_1st(X, multiply(X, Y)), multiply(X, Y), Y)
% 3.05/0.81 = { by axiom 7 (closure_of_product) R->L }
% 3.05/0.81 fresh4(product(X, Y, multiply(X, Y)), true2, X, second_divided_by_1st(X, multiply(X, Y)), multiply(X, Y), Y)
% 3.05/0.81 = { by axiom 20 (product_left_cancellation) }
% 3.05/0.81 fresh3(product(X, second_divided_by_1st(X, multiply(X, Y)), multiply(X, Y)), true2, second_divided_by_1st(X, multiply(X, Y)), Y)
% 3.05/0.81 = { by axiom 11 (divides_implies_product) R->L }
% 3.05/0.81 fresh3(fresh11(divides(X, multiply(X, Y)), true2, X, multiply(X, Y)), true2, second_divided_by_1st(X, multiply(X, Y)), Y)
% 3.05/0.81 = { by lemma 26 }
% 3.05/0.81 fresh3(fresh11(true2, true2, X, multiply(X, Y)), true2, second_divided_by_1st(X, multiply(X, Y)), Y)
% 3.05/0.81 = { by axiom 4 (divides_implies_product) }
% 3.05/0.81 fresh3(true2, true2, second_divided_by_1st(X, multiply(X, Y)), Y)
% 3.05/0.81 = { by axiom 6 (product_left_cancellation) }
% 3.05/0.81 Y
% 3.05/0.81
% 3.05/0.81 Lemma 28: multiply(X, second_divided_by_1st(a, a)) = X.
% 3.05/0.81 Proof:
% 3.05/0.81 multiply(X, second_divided_by_1st(a, a))
% 3.05/0.81 = { by lemma 27 R->L }
% 3.05/0.81 second_divided_by_1st(a, multiply(a, multiply(X, second_divided_by_1st(a, a))))
% 3.05/0.81 = { by lemma 25 }
% 3.05/0.81 second_divided_by_1st(a, multiply(a, multiply(second_divided_by_1st(a, a), X)))
% 3.05/0.81 = { by lemma 25 }
% 3.05/0.81 second_divided_by_1st(a, multiply(multiply(second_divided_by_1st(a, a), X), a))
% 3.05/0.81 = { by lemma 24 R->L }
% 3.05/0.81 second_divided_by_1st(a, fresh(product(multiply(second_divided_by_1st(a, a), X), a, multiply(X, multiply(second_divided_by_1st(a, a), a))), true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), multiply(multiply(second_divided_by_1st(a, a), X), a)))
% 3.05/0.81 = { by lemma 25 }
% 3.05/0.81 second_divided_by_1st(a, fresh(product(multiply(X, second_divided_by_1st(a, a)), a, multiply(X, multiply(second_divided_by_1st(a, a), a))), true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), multiply(multiply(second_divided_by_1st(a, a), X), a)))
% 3.05/0.81 = { by axiom 16 (product_associativity1) R->L }
% 3.05/0.81 second_divided_by_1st(a, fresh(fresh10(true2, true2, X, multiply(second_divided_by_1st(a, a), a), multiply(X, multiply(second_divided_by_1st(a, a), a)), a, multiply(X, second_divided_by_1st(a, a))), true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), multiply(multiply(second_divided_by_1st(a, a), X), a)))
% 3.05/0.81 = { by axiom 7 (closure_of_product) R->L }
% 3.05/0.81 second_divided_by_1st(a, fresh(fresh10(product(X, second_divided_by_1st(a, a), multiply(X, second_divided_by_1st(a, a))), true2, X, multiply(second_divided_by_1st(a, a), a), multiply(X, multiply(second_divided_by_1st(a, a), a)), a, multiply(X, second_divided_by_1st(a, a))), true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), multiply(multiply(second_divided_by_1st(a, a), X), a)))
% 3.05/0.81 = { by axiom 22 (product_associativity1) R->L }
% 3.05/0.81 second_divided_by_1st(a, fresh(fresh17(product(second_divided_by_1st(a, a), a, multiply(second_divided_by_1st(a, a), a)), true2, X, multiply(second_divided_by_1st(a, a), a), multiply(X, multiply(second_divided_by_1st(a, a), a)), second_divided_by_1st(a, a), a, multiply(X, second_divided_by_1st(a, a))), true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), multiply(multiply(second_divided_by_1st(a, a), X), a)))
% 3.05/0.81 = { by axiom 7 (closure_of_product) }
% 3.05/0.81 second_divided_by_1st(a, fresh(fresh17(true2, true2, X, multiply(second_divided_by_1st(a, a), a), multiply(X, multiply(second_divided_by_1st(a, a), a)), second_divided_by_1st(a, a), a, multiply(X, second_divided_by_1st(a, a))), true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), multiply(multiply(second_divided_by_1st(a, a), X), a)))
% 3.05/0.81 = { by axiom 18 (product_associativity1) }
% 3.05/0.81 second_divided_by_1st(a, fresh(fresh18(product(X, multiply(second_divided_by_1st(a, a), a), multiply(X, multiply(second_divided_by_1st(a, a), a))), true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), a, multiply(X, second_divided_by_1st(a, a))), true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), multiply(multiply(second_divided_by_1st(a, a), X), a)))
% 3.05/0.81 = { by axiom 7 (closure_of_product) }
% 3.05/0.81 second_divided_by_1st(a, fresh(fresh18(true2, true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), a, multiply(X, second_divided_by_1st(a, a))), true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), multiply(multiply(second_divided_by_1st(a, a), X), a)))
% 3.05/0.81 = { by axiom 8 (product_associativity1) }
% 3.05/0.81 second_divided_by_1st(a, fresh(true2, true2, multiply(X, multiply(second_divided_by_1st(a, a), a)), multiply(multiply(second_divided_by_1st(a, a), X), a)))
% 3.05/0.81 = { by axiom 2 (well_defined_product) }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, multiply(second_divided_by_1st(a, a), a)))
% 3.05/0.81 = { by lemma 25 R->L }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, multiply(a, second_divided_by_1st(a, a))))
% 3.05/0.81 = { by lemma 24 R->L }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(product(a, second_divided_by_1st(a, a), a), true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by axiom 11 (divides_implies_product) R->L }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(fresh11(divides(a, a), true2, a, a), true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by axiom 9 (primes_lemma1) R->L }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(fresh11(fresh12(true2, true2, a, multiply(a, a), a), true2, a, a), true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by lemma 26 R->L }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(fresh11(fresh12(divides(a, multiply(a, a)), true2, a, multiply(a, a), a), true2, a, a), true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by axiom 15 (primes_lemma1) R->L }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(fresh11(fresh13(prime(a), true2, a, multiply(a, a), a), true2, a, a), true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by axiom 1 (a_is_prime) }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(fresh11(fresh13(true2, true2, a, multiply(a, a), a), true2, a, a), true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by axiom 14 (primes_lemma1) }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(fresh11(fresh14(product(a, a, multiply(a, a)), true2, a, a), true2, a, a), true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by axiom 7 (closure_of_product) }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(fresh11(fresh14(true2, true2, a, a), true2, a, a), true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by axiom 3 (primes_lemma1) }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(fresh11(true2, true2, a, a), true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by axiom 4 (divides_implies_product) }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, fresh(true2, true2, a, multiply(a, second_divided_by_1st(a, a)))))
% 3.05/0.81 = { by axiom 2 (well_defined_product) }
% 3.05/0.81 second_divided_by_1st(a, multiply(X, a))
% 3.05/0.81 = { by lemma 25 }
% 3.05/0.81 second_divided_by_1st(a, multiply(a, X))
% 3.05/0.81 = { by lemma 27 }
% 3.05/0.81 X
% 3.05/0.81
% 3.05/0.81 Lemma 29: divides(second_divided_by_1st(X, X), Y) = true2.
% 3.05/0.81 Proof:
% 3.05/0.81 divides(second_divided_by_1st(X, X), Y)
% 3.05/0.81 = { by lemma 28 R->L }
% 3.05/0.81 divides(second_divided_by_1st(X, multiply(X, second_divided_by_1st(a, a))), Y)
% 3.05/0.81 = { by lemma 27 }
% 3.05/0.81 divides(second_divided_by_1st(a, a), Y)
% 3.05/0.81 = { by lemma 28 R->L }
% 3.05/0.81 divides(second_divided_by_1st(a, a), multiply(Y, second_divided_by_1st(a, a)))
% 3.05/0.81 = { by axiom 17 (product_divisible_by_operand) R->L }
% 3.05/0.81 fresh7(product(second_divided_by_1st(a, a), Y, multiply(Y, second_divided_by_1st(a, a))), true2, second_divided_by_1st(a, a), multiply(Y, second_divided_by_1st(a, a)))
% 3.05/0.81 = { by lemma 23 }
% 3.05/0.81 fresh7(true2, true2, second_divided_by_1st(a, a), multiply(Y, second_divided_by_1st(a, a)))
% 3.05/0.81 = { by axiom 5 (product_divisible_by_operand) }
% 3.05/0.81 true2
% 3.05/0.81
% 3.05/0.81 Goal 1 (prove_there_is_no_common_divisor): tuple(divides(X, b), divides(X, c)) = tuple(true2, true2).
% 3.05/0.81 The goal is true when:
% 3.05/0.81 X = second_divided_by_1st(X, X)
% 3.05/0.81
% 3.05/0.81 Proof:
% 3.05/0.81 tuple(divides(second_divided_by_1st(X, X), b), divides(second_divided_by_1st(X, X), c))
% 3.05/0.81 = { by lemma 29 }
% 3.05/0.81 tuple(true2, divides(second_divided_by_1st(X, X), c))
% 3.05/0.81 = { by lemma 29 }
% 3.05/0.81 tuple(true2, true2)
% 3.05/0.81 % SZS output end Proof
% 3.05/0.81
% 3.05/0.81 RESULT: Unsatisfiable (the axioms are contradictory).
%------------------------------------------------------------------------------