TSTP Solution File: RNG003-1 by Twee---2.4.2
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Twee---2.4.2
% Problem : RNG003-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 : Thu Aug 31 13:58:42 EDT 2023
% Result : Unsatisfiable 0.22s 0.50s
% Output : Proof 0.22s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.13 % Problem : RNG003-1 : TPTP v8.1.2. Released v1.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.35 % Computer : n002.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 : 300
% 0.14/0.35 % WCLimit : 300
% 0.14/0.35 % DateTime : Sun Aug 27 02:00:48 EDT 2023
% 0.14/0.35 % CPUTime :
% 0.22/0.50 Command-line arguments: --flatten
% 0.22/0.50
% 0.22/0.50 % SZS status Unsatisfiable
% 0.22/0.50
% 0.22/0.52 % SZS output start Proof
% 0.22/0.52 Take the following subset of the input axioms:
% 0.22/0.52 fof(a_plus_c_is_d, hypothesis, sum(a, c, d)).
% 0.22/0.52 fof(addition_is_well_defined, axiom, ![X, Y, U, V]: (~sum(X, Y, U) | (~sum(X, Y, V) | U=V))).
% 0.22/0.52 fof(additive_identity2, axiom, ![X2]: sum(X2, additive_identity, X2)).
% 0.22/0.52 fof(associativity_of_addition2, axiom, ![Z, W, V2, X2, Y2, U2]: (~sum(X2, Y2, U2) | (~sum(Y2, Z, V2) | (~sum(X2, V2, W) | sum(U2, Z, W))))).
% 0.22/0.52 fof(b_plus_c_is_d, hypothesis, sum(b, c, d)).
% 0.22/0.52 fof(closure_of_addition, axiom, ![X2, Y2]: sum(X2, Y2, add(X2, Y2))).
% 0.22/0.52 fof(commutativity_of_addition, axiom, ![X2, Y2, Z2]: (~sum(X2, Y2, Z2) | sum(Y2, X2, Z2))).
% 0.22/0.52 fof(left_inverse, axiom, ![X2]: sum(additive_inverse(X2), X2, additive_identity)).
% 0.22/0.52 fof(prove_a_equals_b, negated_conjecture, a!=b).
% 0.22/0.52 fof(right_inverse, axiom, ![X2]: sum(X2, additive_inverse(X2), additive_identity)).
% 0.22/0.52
% 0.22/0.52 Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.22/0.52 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.22/0.52 We repeatedly replace C & s=t => u=v by the two clauses:
% 0.22/0.52 fresh(y, y, x1...xn) = u
% 0.22/0.52 C => fresh(s, t, x1...xn) = v
% 0.22/0.52 where fresh is a fresh function symbol and x1..xn are the free
% 0.22/0.52 variables of u and v.
% 0.22/0.52 A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.22/0.52 input problem has no model of domain size 1).
% 0.22/0.52
% 0.22/0.52 The encoding turns the above axioms into the following unit equations and goals:
% 0.22/0.52
% 0.22/0.52 Axiom 1 (additive_identity2): sum(X, additive_identity, X) = true.
% 0.22/0.52 Axiom 2 (a_plus_c_is_d): sum(a, c, d) = true.
% 0.22/0.52 Axiom 3 (b_plus_c_is_d): sum(b, c, d) = true.
% 0.22/0.52 Axiom 4 (addition_is_well_defined): fresh3(X, X, Y, Z) = Z.
% 0.22/0.52 Axiom 5 (right_inverse): sum(X, additive_inverse(X), additive_identity) = true.
% 0.22/0.52 Axiom 6 (left_inverse): sum(additive_inverse(X), X, additive_identity) = true.
% 0.22/0.52 Axiom 7 (associativity_of_addition2): fresh31(X, X, Y, Z, W) = true.
% 0.22/0.52 Axiom 8 (commutativity_of_addition): fresh5(X, X, Y, Z, W) = true.
% 0.22/0.52 Axiom 9 (closure_of_addition): sum(X, Y, add(X, Y)) = true.
% 0.22/0.52 Axiom 10 (addition_is_well_defined): fresh4(X, X, Y, Z, W, V) = W.
% 0.22/0.52 Axiom 11 (associativity_of_addition2): fresh8(X, X, Y, Z, W, V, U) = sum(W, V, U).
% 0.22/0.52 Axiom 12 (associativity_of_addition2): fresh30(X, X, Y, Z, W, V, U, T) = fresh31(sum(Y, Z, W), true, W, V, T).
% 0.22/0.52 Axiom 13 (commutativity_of_addition): fresh5(sum(X, Y, Z), true, X, Y, Z) = sum(Y, X, Z).
% 0.22/0.52 Axiom 14 (addition_is_well_defined): fresh4(sum(X, Y, Z), true, X, Y, W, Z) = fresh3(sum(X, Y, W), true, W, Z).
% 0.22/0.52 Axiom 15 (associativity_of_addition2): fresh30(sum(X, Y, Z), true, W, X, V, Y, Z, U) = fresh8(sum(W, Z, U), true, W, X, V, Y, U).
% 0.22/0.52
% 0.22/0.52 Lemma 16: fresh4(sum(X, Y, Z), sum(a, c, d), X, Y, W, Z) = fresh3(sum(X, Y, W), sum(a, c, d), W, Z).
% 0.22/0.52 Proof:
% 0.22/0.52 fresh4(sum(X, Y, Z), sum(a, c, d), X, Y, W, Z)
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) }
% 0.22/0.52 fresh4(sum(X, Y, Z), true, X, Y, W, Z)
% 0.22/0.52 = { by axiom 14 (addition_is_well_defined) }
% 0.22/0.52 fresh3(sum(X, Y, W), true, W, Z)
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) R->L }
% 0.22/0.52 fresh3(sum(X, Y, W), sum(a, c, d), W, Z)
% 0.22/0.52
% 0.22/0.52 Lemma 17: sum(X, Y, add(X, Y)) = sum(a, c, d).
% 0.22/0.52 Proof:
% 0.22/0.52 sum(X, Y, add(X, Y))
% 0.22/0.52 = { by axiom 9 (closure_of_addition) }
% 0.22/0.52 true
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) R->L }
% 0.22/0.52 sum(a, c, d)
% 0.22/0.52
% 0.22/0.52 Lemma 18: fresh3(sum(X, Y, Z), sum(a, c, d), Z, add(X, Y)) = Z.
% 0.22/0.52 Proof:
% 0.22/0.52 fresh3(sum(X, Y, Z), sum(a, c, d), Z, add(X, Y))
% 0.22/0.52 = { by lemma 16 R->L }
% 0.22/0.52 fresh4(sum(X, Y, add(X, Y)), sum(a, c, d), X, Y, Z, add(X, Y))
% 0.22/0.52 = { by lemma 17 }
% 0.22/0.52 fresh4(sum(a, c, d), sum(a, c, d), X, Y, Z, add(X, Y))
% 0.22/0.52 = { by axiom 10 (addition_is_well_defined) }
% 0.22/0.52 Z
% 0.22/0.52
% 0.22/0.52 Lemma 19: sum(X, Y, add(Y, X)) = sum(a, c, d).
% 0.22/0.52 Proof:
% 0.22/0.52 sum(X, Y, add(Y, X))
% 0.22/0.52 = { by axiom 13 (commutativity_of_addition) R->L }
% 0.22/0.52 fresh5(sum(Y, X, add(Y, X)), true, Y, X, add(Y, X))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) R->L }
% 0.22/0.52 fresh5(sum(Y, X, add(Y, X)), sum(a, c, d), Y, X, add(Y, X))
% 0.22/0.52 = { by lemma 17 }
% 0.22/0.52 fresh5(sum(a, c, d), sum(a, c, d), Y, X, add(Y, X))
% 0.22/0.52 = { by axiom 8 (commutativity_of_addition) }
% 0.22/0.52 true
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) R->L }
% 0.22/0.52 sum(a, c, d)
% 0.22/0.52
% 0.22/0.52 Lemma 20: add(X, Y) = add(Y, X).
% 0.22/0.52 Proof:
% 0.22/0.52 add(X, Y)
% 0.22/0.52 = { by lemma 18 R->L }
% 0.22/0.52 fresh3(sum(Y, X, add(X, Y)), sum(a, c, d), add(X, Y), add(Y, X))
% 0.22/0.52 = { by lemma 19 }
% 0.22/0.52 fresh3(sum(a, c, d), sum(a, c, d), add(X, Y), add(Y, X))
% 0.22/0.52 = { by axiom 4 (addition_is_well_defined) }
% 0.22/0.52 add(Y, X)
% 0.22/0.52
% 0.22/0.52 Lemma 21: add(X, add(Y, additive_inverse(X))) = Y.
% 0.22/0.52 Proof:
% 0.22/0.52 add(X, add(Y, additive_inverse(X)))
% 0.22/0.52 = { by lemma 20 R->L }
% 0.22/0.52 add(add(Y, additive_inverse(X)), X)
% 0.22/0.52 = { by axiom 4 (addition_is_well_defined) R->L }
% 0.22/0.52 fresh3(sum(a, c, d), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) }
% 0.22/0.52 fresh3(true, sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 7 (associativity_of_addition2) R->L }
% 0.22/0.52 fresh3(fresh31(sum(a, c, d), sum(a, c, d), add(Y, additive_inverse(X)), X, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by lemma 17 R->L }
% 0.22/0.52 fresh3(fresh31(sum(Y, additive_inverse(X), add(Y, additive_inverse(X))), sum(a, c, d), add(Y, additive_inverse(X)), X, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) }
% 0.22/0.52 fresh3(fresh31(sum(Y, additive_inverse(X), add(Y, additive_inverse(X))), true, add(Y, additive_inverse(X)), X, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 12 (associativity_of_addition2) R->L }
% 0.22/0.52 fresh3(fresh30(sum(a, c, d), sum(a, c, d), Y, additive_inverse(X), add(Y, additive_inverse(X)), X, additive_identity, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) }
% 0.22/0.52 fresh3(fresh30(true, sum(a, c, d), Y, additive_inverse(X), add(Y, additive_inverse(X)), X, additive_identity, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 6 (left_inverse) R->L }
% 0.22/0.52 fresh3(fresh30(sum(additive_inverse(X), X, additive_identity), sum(a, c, d), Y, additive_inverse(X), add(Y, additive_inverse(X)), X, additive_identity, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) }
% 0.22/0.52 fresh3(fresh30(sum(additive_inverse(X), X, additive_identity), true, Y, additive_inverse(X), add(Y, additive_inverse(X)), X, additive_identity, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 15 (associativity_of_addition2) }
% 0.22/0.52 fresh3(fresh8(sum(Y, additive_identity, Y), true, Y, additive_inverse(X), add(Y, additive_inverse(X)), X, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) R->L }
% 0.22/0.52 fresh3(fresh8(sum(Y, additive_identity, Y), sum(a, c, d), Y, additive_inverse(X), add(Y, additive_inverse(X)), X, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 1 (additive_identity2) }
% 0.22/0.52 fresh3(fresh8(true, sum(a, c, d), Y, additive_inverse(X), add(Y, additive_inverse(X)), X, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) R->L }
% 0.22/0.52 fresh3(fresh8(sum(a, c, d), sum(a, c, d), Y, additive_inverse(X), add(Y, additive_inverse(X)), X, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by axiom 11 (associativity_of_addition2) }
% 0.22/0.52 fresh3(sum(add(Y, additive_inverse(X)), X, Y), sum(a, c, d), Y, add(add(Y, additive_inverse(X)), X))
% 0.22/0.52 = { by lemma 18 }
% 0.22/0.52 Y
% 0.22/0.52
% 0.22/0.52 Lemma 22: add(additive_inverse(X), add(X, Y)) = Y.
% 0.22/0.52 Proof:
% 0.22/0.52 add(additive_inverse(X), add(X, Y))
% 0.22/0.52 = { by lemma 20 R->L }
% 0.22/0.52 add(additive_inverse(X), add(Y, X))
% 0.22/0.52 = { by axiom 4 (addition_is_well_defined) R->L }
% 0.22/0.52 add(additive_inverse(X), add(Y, fresh3(sum(a, c, d), sum(a, c, d), add(X, additive_identity), X)))
% 0.22/0.52 = { by lemma 17 R->L }
% 0.22/0.52 add(additive_inverse(X), add(Y, fresh3(sum(X, additive_identity, add(X, additive_identity)), sum(a, c, d), add(X, additive_identity), X)))
% 0.22/0.52 = { by lemma 16 R->L }
% 0.22/0.52 add(additive_inverse(X), add(Y, fresh4(sum(X, additive_identity, X), sum(a, c, d), X, additive_identity, add(X, additive_identity), X)))
% 0.22/0.52 = { by axiom 1 (additive_identity2) }
% 0.22/0.52 add(additive_inverse(X), add(Y, fresh4(true, sum(a, c, d), X, additive_identity, add(X, additive_identity), X)))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) R->L }
% 0.22/0.52 add(additive_inverse(X), add(Y, fresh4(sum(a, c, d), sum(a, c, d), X, additive_identity, add(X, additive_identity), X)))
% 0.22/0.52 = { by axiom 10 (addition_is_well_defined) }
% 0.22/0.52 add(additive_inverse(X), add(Y, add(X, additive_identity)))
% 0.22/0.52 = { by axiom 4 (addition_is_well_defined) R->L }
% 0.22/0.52 add(additive_inverse(X), add(Y, add(X, fresh3(sum(a, c, d), sum(a, c, d), add(additive_inverse(additive_inverse(X)), additive_inverse(X)), additive_identity))))
% 0.22/0.52 = { by lemma 19 R->L }
% 0.22/0.52 add(additive_inverse(X), add(Y, add(X, fresh3(sum(additive_inverse(X), additive_inverse(additive_inverse(X)), add(additive_inverse(additive_inverse(X)), additive_inverse(X))), sum(a, c, d), add(additive_inverse(additive_inverse(X)), additive_inverse(X)), additive_identity))))
% 0.22/0.52 = { by lemma 16 R->L }
% 0.22/0.52 add(additive_inverse(X), add(Y, add(X, fresh4(sum(additive_inverse(X), additive_inverse(additive_inverse(X)), additive_identity), sum(a, c, d), additive_inverse(X), additive_inverse(additive_inverse(X)), add(additive_inverse(additive_inverse(X)), additive_inverse(X)), additive_identity))))
% 0.22/0.52 = { by axiom 5 (right_inverse) }
% 0.22/0.52 add(additive_inverse(X), add(Y, add(X, fresh4(true, sum(a, c, d), additive_inverse(X), additive_inverse(additive_inverse(X)), add(additive_inverse(additive_inverse(X)), additive_inverse(X)), additive_identity))))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) R->L }
% 0.22/0.52 add(additive_inverse(X), add(Y, add(X, fresh4(sum(a, c, d), sum(a, c, d), additive_inverse(X), additive_inverse(additive_inverse(X)), add(additive_inverse(additive_inverse(X)), additive_inverse(X)), additive_identity))))
% 0.22/0.52 = { by axiom 10 (addition_is_well_defined) }
% 0.22/0.52 add(additive_inverse(X), add(Y, add(X, add(additive_inverse(additive_inverse(X)), additive_inverse(X)))))
% 0.22/0.52 = { by lemma 21 }
% 0.22/0.52 add(additive_inverse(X), add(Y, additive_inverse(additive_inverse(X))))
% 0.22/0.52 = { by lemma 21 }
% 0.22/0.52 Y
% 0.22/0.52
% 0.22/0.52 Goal 1 (prove_a_equals_b): a = b.
% 0.22/0.52 Proof:
% 0.22/0.52 a
% 0.22/0.52 = { by lemma 22 R->L }
% 0.22/0.52 add(additive_inverse(c), add(c, a))
% 0.22/0.52 = { by axiom 10 (addition_is_well_defined) R->L }
% 0.22/0.52 add(additive_inverse(c), fresh4(sum(a, c, d), sum(a, c, d), a, c, add(c, a), d))
% 0.22/0.52 = { by lemma 16 }
% 0.22/0.52 add(additive_inverse(c), fresh3(sum(a, c, add(c, a)), sum(a, c, d), add(c, a), d))
% 0.22/0.52 = { by lemma 19 }
% 0.22/0.52 add(additive_inverse(c), fresh3(sum(a, c, d), sum(a, c, d), add(c, a), d))
% 0.22/0.52 = { by axiom 4 (addition_is_well_defined) }
% 0.22/0.52 add(additive_inverse(c), d)
% 0.22/0.52 = { by axiom 4 (addition_is_well_defined) R->L }
% 0.22/0.52 add(additive_inverse(c), fresh3(sum(a, c, d), sum(a, c, d), add(c, b), d))
% 0.22/0.52 = { by lemma 19 R->L }
% 0.22/0.52 add(additive_inverse(c), fresh3(sum(b, c, add(c, b)), sum(a, c, d), add(c, b), d))
% 0.22/0.52 = { by lemma 16 R->L }
% 0.22/0.52 add(additive_inverse(c), fresh4(sum(b, c, d), sum(a, c, d), b, c, add(c, b), d))
% 0.22/0.52 = { by axiom 3 (b_plus_c_is_d) }
% 0.22/0.52 add(additive_inverse(c), fresh4(true, sum(a, c, d), b, c, add(c, b), d))
% 0.22/0.52 = { by axiom 2 (a_plus_c_is_d) R->L }
% 0.22/0.52 add(additive_inverse(c), fresh4(sum(a, c, d), sum(a, c, d), b, c, add(c, b), d))
% 0.22/0.52 = { by axiom 10 (addition_is_well_defined) }
% 0.22/0.52 add(additive_inverse(c), add(c, b))
% 0.22/0.52 = { by lemma 22 }
% 0.22/0.52 b
% 0.22/0.52 % SZS output end Proof
% 0.22/0.52
% 0.22/0.52 RESULT: Unsatisfiable (the axioms are contradictory).
%------------------------------------------------------------------------------