TSTP Solution File: LCL155-1 by Toma---0.4
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Toma---0.4
% Problem : LCL155-1 : TPTP v8.1.2. Released v1.0.0.
% Transfm : none
% Format : tptp:raw
% Command : toma --casc %s
% Computer : n031.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 08:13:58 EDT 2023
% Result : Unsatisfiable 3.10s 3.40s
% Output : CNFRefutation 3.10s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.13/0.13 % Problem : LCL155-1 : TPTP v8.1.2. Released v1.0.0.
% 0.13/0.14 % Command : toma --casc %s
% 0.13/0.35 % Computer : n031.cluster.edu
% 0.13/0.35 % Model : x86_64 x86_64
% 0.13/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35 % Memory : 8042.1875MB
% 0.13/0.35 % 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 : Fri Aug 25 03:16:51 EDT 2023
% 0.13/0.35 % CPUTime :
% 3.10/3.40 % SZS status Unsatisfiable
% 3.10/3.40 % SZS output start Proof
% 3.10/3.40 original problem:
% 3.10/3.40 axioms:
% 3.10/3.40 implies(truth(), X) = X
% 3.10/3.40 implies(implies(X, Y), implies(implies(Y, Z), implies(X, Z))) = truth()
% 3.10/3.40 implies(implies(X, Y), Y) = implies(implies(Y, X), X)
% 3.10/3.40 implies(implies(not(X), not(Y)), implies(Y, X)) = truth()
% 3.10/3.40 or(X, Y) = implies(not(X), Y)
% 3.10/3.40 or(or(X, Y), Z) = or(X, or(Y, Z))
% 3.10/3.40 or(X, Y) = or(Y, X)
% 3.10/3.40 and(X, Y) = not(or(not(X), not(Y)))
% 3.10/3.40 and(and(X, Y), Z) = and(X, and(Y, Z))
% 3.10/3.40 and(X, Y) = and(Y, X)
% 3.10/3.40 xor(X, Y) = or(and(X, not(Y)), and(not(X), Y))
% 3.10/3.40 xor(X, Y) = xor(Y, X)
% 3.10/3.40 and_star(X, Y) = not(or(not(X), not(Y)))
% 3.10/3.40 and_star(and_star(X, Y), Z) = and_star(X, and_star(Y, Z))
% 3.10/3.40 and_star(X, Y) = and_star(Y, X)
% 3.10/3.40 not(truth()) = falsehood()
% 3.10/3.40 goal:
% 3.10/3.40 xor(x(), x()) != falsehood()
% 3.10/3.40 To show the unsatisfiability of the original goal,
% 3.10/3.40 it suffices to show that xor(x(), x()) = falsehood() (skolemized goal) is valid under the axioms.
% 3.10/3.40 Here is an equational proof:
% 3.10/3.40 0: implies(truth(), X0) = X0.
% 3.10/3.40 Proof: Axiom.
% 3.10/3.40
% 3.10/3.40 1: implies(implies(X0, X1), implies(implies(X1, X2), implies(X0, X2))) = truth().
% 3.10/3.40 Proof: Axiom.
% 3.10/3.40
% 3.10/3.40 3: implies(implies(not(X0), not(X1)), implies(X1, X0)) = truth().
% 3.10/3.40 Proof: Axiom.
% 3.10/3.40
% 3.10/3.40 4: or(X0, X1) = implies(not(X0), X1).
% 3.10/3.40 Proof: Axiom.
% 3.10/3.40
% 3.10/3.40 6: or(X0, X1) = or(X1, X0).
% 3.10/3.40 Proof: Axiom.
% 3.10/3.40
% 3.10/3.40 7: and(X0, X1) = not(or(not(X0), not(X1))).
% 3.10/3.40 Proof: Axiom.
% 3.10/3.40
% 3.10/3.40 10: xor(X0, X1) = or(and(X0, not(X1)), and(not(X0), X1)).
% 3.10/3.40 Proof: Axiom.
% 3.10/3.40
% 3.10/3.40 15: not(truth()) = falsehood().
% 3.10/3.40 Proof: Axiom.
% 3.10/3.40
% 3.10/3.40 17: and(X0, X1) = not(implies(not(not(X0)), not(X1))).
% 3.10/3.40 Proof: Rewrite equation 7,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [4].
% 3.10/3.40
% 3.10/3.40 19: xor(X0, X1) = implies(not(not(implies(not(not(X0)), not(not(X1))))), not(implies(not(not(not(X0))), not(X1)))).
% 3.10/3.40 Proof: Rewrite equation 10,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [17,17,4].
% 3.10/3.40
% 3.10/3.40 22: implies(not(X0), X1) = implies(not(X1), X0).
% 3.10/3.40 Proof: Rewrite equation 6,
% 3.10/3.40 lhs with equations [4]
% 3.10/3.40 rhs with equations [4].
% 3.10/3.40
% 3.10/3.40 31: truth() = implies(X3, implies(implies(X3, X2), implies(truth(), X2))).
% 3.10/3.40 Proof: A critical pair between equations 1 and 0.
% 3.10/3.40
% 3.10/3.40 33: truth() = implies(implies(not(not(X1)), X2), implies(X1, X2)).
% 3.10/3.40 Proof: A critical pair between equations 3 and 22.
% 3.10/3.40
% 3.10/3.40 41: truth() = implies(or(not(X1), X2), implies(X1, X2)).
% 3.10/3.40 Proof: Rewrite equation 33,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [4].
% 3.10/3.40
% 3.10/3.40 42: truth() = implies(X3, implies(implies(X3, X2), X2)).
% 3.10/3.40 Proof: Rewrite equation 31,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [0].
% 3.10/3.40
% 3.10/3.40 45: xor(X0, X1) = or(not(or(not(X0), not(not(X1)))), not(or(not(not(X0)), not(X1)))).
% 3.10/3.40 Proof: Rewrite equation 19,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [4,4,4].
% 3.10/3.40
% 3.10/3.40 54: or(X0, X1) = or(X1, X0).
% 3.10/3.40 Proof: Rewrite equation 22,
% 3.10/3.40 lhs with equations [4]
% 3.10/3.40 rhs with equations [4].
% 3.10/3.40
% 3.10/3.40 57: truth() = implies(implies(truth(), X2), X2).
% 3.10/3.40 Proof: A critical pair between equations 42 and 0.
% 3.10/3.40
% 3.10/3.40 63: truth() = implies(or(falsehood(), X2), implies(truth(), X2)).
% 3.10/3.40 Proof: A critical pair between equations 41 and 15.
% 3.10/3.40
% 3.10/3.40 68: truth() = implies(implies(not(not(truth())), X2), X2).
% 3.10/3.40 Proof: Rewrite equation 63,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [15,4,0].
% 3.10/3.40
% 3.10/3.40 69: truth() = implies(X2, X2).
% 3.10/3.40 Proof: Rewrite equation 57,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [0].
% 3.10/3.40
% 3.10/3.40 75: xor(X0, X1) = implies(not(not(implies(not(not(X0)), not(not(X1))))), not(implies(not(not(not(X0))), not(X1)))).
% 3.10/3.40 Proof: Rewrite equation 45,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [4,4,4].
% 3.10/3.40
% 3.10/3.40 83: implies(not(X0), X1) = implies(not(X1), X0).
% 3.10/3.40 Proof: Rewrite equation 54,
% 3.10/3.40 lhs with equations [4]
% 3.10/3.40 rhs with equations [4].
% 3.10/3.40
% 3.10/3.40 89: truth() = implies(truth(), not(not(truth()))).
% 3.10/3.40 Proof: A critical pair between equations 68 and 69.
% 3.10/3.40
% 3.10/3.40 110: truth() = not(falsehood()).
% 3.10/3.40 Proof: Rewrite equation 89,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [15,0].
% 3.10/3.40
% 3.10/3.40 117: xor(X0, X1) = or(not(or(not(X0), not(not(X1)))), not(or(not(not(X0)), not(X1)))).
% 3.10/3.40 Proof: Rewrite equation 75,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [4,4,4].
% 3.10/3.40
% 3.10/3.40 126: or(X0, X1) = or(X1, X0).
% 3.10/3.40 Proof: Rewrite equation 83,
% 3.10/3.40 lhs with equations [4]
% 3.10/3.40 rhs with equations [4].
% 3.10/3.40
% 3.10/3.40 143: xor(X0, X1) = implies(not(not(implies(not(not(X0)), not(not(X1))))), not(implies(not(not(not(X0))), not(X1)))).
% 3.10/3.40 Proof: Rewrite equation 117,
% 3.10/3.40 lhs with equations []
% 3.10/3.40 rhs with equations [4,4,4].
% 3.10/3.40
% 3.10/3.40 152: implies(not(X0), X1) = implies(not(X1), X0).
% 3.10/3.40 Proof: Rewrite equation 126,
% 3.10/3.40 lhs with equations [4]
% 3.10/3.40 rhs with equations [4].
% 3.10/3.40
% 3.10/3.40 157: xor(x(), x()) = falsehood().
% 3.10/3.40 Proof: Rewrite lhs with equations [143,69,15,110,152,69,15,0]
% 3.10/3.40 rhs with equations [].
% 3.10/3.40
% 3.10/3.40 % SZS output end Proof
%------------------------------------------------------------------------------