TSTP Solution File: BOO006-1 by Twee---2.4.2
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Twee---2.4.2
% Problem : BOO006-1 : TPTP v8.1.2. Released v1.0.0.
% 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 : n002.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 : Wed Aug 30 18:11:17 EDT 2023
% Result : Unsatisfiable 0.20s 0.58s
% Output : Proof 0.20s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12 % Problem : BOO006-1 : TPTP v8.1.2. Released v1.0.0.
% 0.13/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 : n002.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.35 % CPULimit : 300
% 0.13/0.35 % WCLimit : 300
% 0.13/0.35 % DateTime : Sun Aug 27 08:29:33 EDT 2023
% 0.13/0.35 % CPUTime :
% 0.20/0.58 Command-line arguments: --no-flatten-goal
% 0.20/0.58
% 0.20/0.58 % SZS status Unsatisfiable
% 0.20/0.58
% 0.20/0.59 % SZS output start Proof
% 0.20/0.59 Take the following subset of the input axioms:
% 0.20/0.59 fof(addition_is_well_defined, axiom, ![X, Y, U, V]: (~sum(X, Y, U) | (~sum(X, Y, V) | U=V))).
% 0.20/0.59 fof(additive_identity2, axiom, ![X2]: sum(X2, additive_identity, X2)).
% 0.20/0.59 fof(additive_inverse2, axiom, ![X2]: sum(X2, inverse(X2), multiplicative_identity)).
% 0.20/0.59 fof(closure_of_addition, axiom, ![X2, Y2]: sum(X2, Y2, add(X2, Y2))).
% 0.20/0.59 fof(closure_of_multiplication, axiom, ![X2, Y2]: product(X2, Y2, multiply(X2, Y2))).
% 0.20/0.59 fof(commutativity_of_multiplication, axiom, ![Z, X2, Y2]: (~product(X2, Y2, Z) | product(Y2, X2, Z))).
% 0.20/0.59 fof(distributivity1, axiom, ![V1, V2, V3, V4, X2, Y2, Z2]: (~product(X2, Y2, V1) | (~product(X2, Z2, V2) | (~sum(Y2, Z2, V3) | (~product(X2, V3, V4) | sum(V1, V2, V4)))))).
% 0.20/0.59 fof(distributivity5, axiom, ![X2, Y2, Z2, V1_2, V2_2, V3_2, V4_2]: (~sum(X2, Y2, V1_2) | (~sum(X2, Z2, V2_2) | (~product(Y2, Z2, V3_2) | (~sum(X2, V3_2, V4_2) | product(V1_2, V2_2, V4_2)))))).
% 0.20/0.59 fof(multiplication_is_well_defined, axiom, ![X2, Y2, U2, V5]: (~product(X2, Y2, U2) | (~product(X2, Y2, V5) | U2=V5))).
% 0.20/0.59 fof(multiplicative_identity1, axiom, ![X2]: product(multiplicative_identity, X2, X2)).
% 0.20/0.59 fof(multiplicative_identity2, axiom, ![X2]: product(X2, multiplicative_identity, X2)).
% 0.20/0.59 fof(prove_equations, negated_conjecture, ~product(x, additive_identity, additive_identity)).
% 0.20/0.59
% 0.20/0.59 Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.20/0.59 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.20/0.59 We repeatedly replace C & s=t => u=v by the two clauses:
% 0.20/0.59 fresh(y, y, x1...xn) = u
% 0.20/0.59 C => fresh(s, t, x1...xn) = v
% 0.20/0.59 where fresh is a fresh function symbol and x1..xn are the free
% 0.20/0.59 variables of u and v.
% 0.20/0.59 A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.20/0.59 input problem has no model of domain size 1).
% 0.20/0.59
% 0.20/0.59 The encoding turns the above axioms into the following unit equations and goals:
% 0.20/0.59
% 0.20/0.59 Axiom 1 (additive_identity2): sum(X, additive_identity, X) = true.
% 0.20/0.59 Axiom 2 (multiplicative_identity2): product(X, multiplicative_identity, X) = true.
% 0.20/0.59 Axiom 3 (multiplicative_identity1): product(multiplicative_identity, X, X) = true.
% 0.20/0.59 Axiom 4 (multiplication_is_well_defined): fresh(X, X, Y, Z) = Z.
% 0.20/0.59 Axiom 5 (addition_is_well_defined): fresh3(X, X, Y, Z) = Z.
% 0.20/0.59 Axiom 6 (additive_inverse2): sum(X, inverse(X), multiplicative_identity) = true.
% 0.20/0.59 Axiom 7 (distributivity1): fresh38(X, X, Y, Z, W) = true.
% 0.20/0.59 Axiom 8 (distributivity5): fresh22(X, X, Y, Z, W) = true.
% 0.20/0.59 Axiom 9 (commutativity_of_multiplication): fresh6(X, X, Y, Z, W) = true.
% 0.20/0.59 Axiom 10 (closure_of_addition): sum(X, Y, add(X, Y)) = true.
% 0.20/0.59 Axiom 11 (closure_of_multiplication): product(X, Y, multiply(X, Y)) = true.
% 0.20/0.59 Axiom 12 (addition_is_well_defined): fresh4(X, X, Y, Z, W, V) = W.
% 0.20/0.59 Axiom 13 (multiplication_is_well_defined): fresh2(X, X, Y, Z, W, V) = W.
% 0.20/0.59 Axiom 14 (distributivity5): fresh20(X, X, Y, Z, W, V, U) = product(W, V, U).
% 0.20/0.59 Axiom 15 (distributivity1): fresh36(X, X, Y, Z, W, V, U, T) = sum(Z, V, T).
% 0.20/0.59 Axiom 16 (distributivity5): fresh21(X, X, Y, Z, W, V, U, T) = fresh22(sum(Y, Z, W), true, W, U, T).
% 0.20/0.59 Axiom 17 (commutativity_of_multiplication): fresh6(product(X, Y, Z), true, X, Y, Z) = product(Y, X, Z).
% 0.20/0.59 Axiom 18 (distributivity1): fresh37(X, X, Y, Z, W, V, U, T, S) = fresh38(sum(Z, V, T), true, W, U, S).
% 0.20/0.59 Axiom 19 (addition_is_well_defined): fresh4(sum(X, Y, Z), true, X, Y, W, Z) = fresh3(sum(X, Y, W), true, W, Z).
% 0.20/0.59 Axiom 20 (multiplication_is_well_defined): fresh2(product(X, Y, Z), true, X, Y, W, Z) = fresh(product(X, Y, W), true, W, Z).
% 0.20/0.59 Axiom 21 (distributivity5): fresh19(X, X, Y, Z, W, V, U, T, S) = fresh20(sum(Y, V, U), true, Y, Z, W, U, S).
% 0.20/0.59 Axiom 22 (distributivity1): fresh35(X, X, Y, Z, W, V, U, T, S) = fresh36(product(Y, Z, W), true, Z, W, V, U, T, S).
% 0.20/0.59 Axiom 23 (distributivity1): fresh35(product(X, Y, Z), true, X, W, V, U, T, Y, Z) = fresh37(product(X, U, T), true, X, W, V, U, T, Y, Z).
% 0.20/0.59 Axiom 24 (distributivity5): fresh19(product(X, Y, Z), true, W, X, V, Y, U, Z, T) = fresh21(sum(W, Z, T), true, W, X, V, Y, U, T).
% 0.20/0.59
% 0.20/0.59 Goal 1 (prove_equations): product(x, additive_identity, additive_identity) = true.
% 0.20/0.59 Proof:
% 0.20/0.59 product(x, additive_identity, additive_identity)
% 0.20/0.59 = { by axiom 12 (addition_is_well_defined) R->L }
% 0.20/0.59 product(x, additive_identity, fresh4(true, true, multiply(additive_identity, x), additive_identity, additive_identity, multiply(additive_identity, x)))
% 0.20/0.59 = { by axiom 1 (additive_identity2) R->L }
% 0.20/0.59 product(x, additive_identity, fresh4(sum(multiply(additive_identity, x), additive_identity, multiply(additive_identity, x)), true, multiply(additive_identity, x), additive_identity, additive_identity, multiply(additive_identity, x)))
% 0.20/0.59 = { by axiom 19 (addition_is_well_defined) }
% 0.20/0.59 product(x, additive_identity, fresh3(sum(multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.59 = { by axiom 15 (distributivity1) R->L }
% 0.20/0.59 product(x, additive_identity, fresh3(fresh36(true, true, x, multiply(additive_identity, x), multiplicative_identity, additive_identity, multiplicative_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.59 = { by axiom 11 (closure_of_multiplication) R->L }
% 0.20/0.59 product(x, additive_identity, fresh3(fresh36(product(additive_identity, x, multiply(additive_identity, x)), true, x, multiply(additive_identity, x), multiplicative_identity, additive_identity, multiplicative_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.59 = { by axiom 22 (distributivity1) R->L }
% 0.20/0.59 product(x, additive_identity, fresh3(fresh35(true, true, additive_identity, x, multiply(additive_identity, x), multiplicative_identity, additive_identity, multiplicative_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.59 = { by axiom 2 (multiplicative_identity2) R->L }
% 0.20/0.59 product(x, additive_identity, fresh3(fresh35(product(additive_identity, multiplicative_identity, additive_identity), true, additive_identity, x, multiply(additive_identity, x), multiplicative_identity, additive_identity, multiplicative_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.59 = { by axiom 23 (distributivity1) }
% 0.20/0.59 product(x, additive_identity, fresh3(fresh37(product(additive_identity, multiplicative_identity, additive_identity), true, additive_identity, x, multiply(additive_identity, x), multiplicative_identity, additive_identity, multiplicative_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.59 = { by axiom 2 (multiplicative_identity2) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh37(true, true, additive_identity, x, multiply(additive_identity, x), multiplicative_identity, additive_identity, multiplicative_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 18 (distributivity1) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, multiplicative_identity), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 13 (multiplication_is_well_defined) R->L }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh2(true, true, add(x, multiplicative_identity), multiplicative_identity, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 2 (multiplicative_identity2) R->L }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh2(product(add(x, multiplicative_identity), multiplicative_identity, add(x, multiplicative_identity)), true, add(x, multiplicative_identity), multiplicative_identity, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 20 (multiplication_is_well_defined) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(product(add(x, multiplicative_identity), multiplicative_identity, multiplicative_identity), true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 14 (distributivity5) R->L }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(fresh20(true, true, x, multiplicative_identity, add(x, multiplicative_identity), multiplicative_identity, multiplicative_identity), true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 6 (additive_inverse2) R->L }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(fresh20(sum(x, inverse(x), multiplicative_identity), true, x, multiplicative_identity, add(x, multiplicative_identity), multiplicative_identity, multiplicative_identity), true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 21 (distributivity5) R->L }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(fresh19(true, true, x, multiplicative_identity, add(x, multiplicative_identity), inverse(x), multiplicative_identity, inverse(x), multiplicative_identity), true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 3 (multiplicative_identity1) R->L }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(fresh19(product(multiplicative_identity, inverse(x), inverse(x)), true, x, multiplicative_identity, add(x, multiplicative_identity), inverse(x), multiplicative_identity, inverse(x), multiplicative_identity), true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 24 (distributivity5) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(fresh21(sum(x, inverse(x), multiplicative_identity), true, x, multiplicative_identity, add(x, multiplicative_identity), inverse(x), multiplicative_identity, multiplicative_identity), true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 6 (additive_inverse2) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(fresh21(true, true, x, multiplicative_identity, add(x, multiplicative_identity), inverse(x), multiplicative_identity, multiplicative_identity), true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 16 (distributivity5) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(fresh22(sum(x, multiplicative_identity, add(x, multiplicative_identity)), true, add(x, multiplicative_identity), multiplicative_identity, multiplicative_identity), true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 10 (closure_of_addition) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(fresh22(true, true, add(x, multiplicative_identity), multiplicative_identity, multiplicative_identity), true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 8 (distributivity5) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, fresh(true, true, multiplicative_identity, add(x, multiplicative_identity))), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 4 (multiplication_is_well_defined) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(sum(x, multiplicative_identity, add(x, multiplicative_identity)), true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 10 (closure_of_addition) }
% 0.20/0.60 product(x, additive_identity, fresh3(fresh38(true, true, multiply(additive_identity, x), additive_identity, additive_identity), true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 7 (distributivity1) }
% 0.20/0.60 product(x, additive_identity, fresh3(true, true, additive_identity, multiply(additive_identity, x)))
% 0.20/0.60 = { by axiom 5 (addition_is_well_defined) }
% 0.20/0.60 product(x, additive_identity, multiply(additive_identity, x))
% 0.20/0.60 = { by axiom 13 (multiplication_is_well_defined) R->L }
% 0.20/0.60 product(x, additive_identity, fresh2(true, true, x, additive_identity, multiply(additive_identity, x), multiply(x, additive_identity)))
% 0.20/0.60 = { by axiom 11 (closure_of_multiplication) R->L }
% 0.20/0.60 product(x, additive_identity, fresh2(product(x, additive_identity, multiply(x, additive_identity)), true, x, additive_identity, multiply(additive_identity, x), multiply(x, additive_identity)))
% 0.20/0.60 = { by axiom 20 (multiplication_is_well_defined) }
% 0.20/0.60 product(x, additive_identity, fresh(product(x, additive_identity, multiply(additive_identity, x)), true, multiply(additive_identity, x), multiply(x, additive_identity)))
% 0.20/0.60 = { by axiom 17 (commutativity_of_multiplication) R->L }
% 0.20/0.60 product(x, additive_identity, fresh(fresh6(product(additive_identity, x, multiply(additive_identity, x)), true, additive_identity, x, multiply(additive_identity, x)), true, multiply(additive_identity, x), multiply(x, additive_identity)))
% 0.20/0.60 = { by axiom 11 (closure_of_multiplication) }
% 0.20/0.60 product(x, additive_identity, fresh(fresh6(true, true, additive_identity, x, multiply(additive_identity, x)), true, multiply(additive_identity, x), multiply(x, additive_identity)))
% 0.20/0.60 = { by axiom 9 (commutativity_of_multiplication) }
% 0.20/0.60 product(x, additive_identity, fresh(true, true, multiply(additive_identity, x), multiply(x, additive_identity)))
% 0.20/0.60 = { by axiom 4 (multiplication_is_well_defined) }
% 0.20/0.60 product(x, additive_identity, multiply(x, additive_identity))
% 0.20/0.60 = { by axiom 11 (closure_of_multiplication) }
% 0.20/0.60 true
% 0.20/0.60 % SZS output end Proof
% 0.20/0.60
% 0.20/0.60 RESULT: Unsatisfiable (the axioms are contradictory).
%------------------------------------------------------------------------------