TSTP Solution File: LCL158-1 by Toma---0.4

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Toma---0.4
% Problem  : LCL158-1 : TPTP v8.1.2. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : toma --casc %s

% Computer : n016.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:59 EDT 2023

% Result   : Unsatisfiable 1.40s 1.80s
% Output   : CNFRefutation 1.40s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.14  % Problem    : LCL158-1 : TPTP v8.1.2. Released v1.0.0.
% 0.14/0.14  % Command    : toma --casc %s
% 0.15/0.35  % Computer : n016.cluster.edu
% 0.15/0.35  % Model    : x86_64 x86_64
% 0.15/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.35  % Memory   : 8042.1875MB
% 0.15/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.21/0.35  % CPULimit   : 300
% 0.21/0.35  % WCLimit    : 300
% 0.21/0.35  % DateTime   : Thu Aug 24 18:46:09 EDT 2023
% 0.21/0.35  % CPUTime    : 
% 1.40/1.80  % SZS status Unsatisfiable
% 1.40/1.80  % SZS output start Proof
% 1.40/1.80  original problem:
% 1.40/1.80  axioms:
% 1.40/1.80  implies(truth(), X) = X
% 1.40/1.80  implies(implies(X, Y), implies(implies(Y, Z), implies(X, Z))) = truth()
% 1.40/1.80  implies(implies(X, Y), Y) = implies(implies(Y, X), X)
% 1.40/1.80  implies(implies(not(X), not(Y)), implies(Y, X)) = truth()
% 1.40/1.80  or(X, Y) = implies(not(X), Y)
% 1.40/1.80  or(or(X, Y), Z) = or(X, or(Y, Z))
% 1.40/1.80  or(X, Y) = or(Y, X)
% 1.40/1.80  and(X, Y) = not(or(not(X), not(Y)))
% 1.40/1.80  and(and(X, Y), Z) = and(X, and(Y, Z))
% 1.40/1.80  and(X, Y) = and(Y, X)
% 1.40/1.80  xor(X, Y) = or(and(X, not(Y)), and(not(X), Y))
% 1.40/1.80  xor(X, Y) = xor(Y, X)
% 1.40/1.80  and_star(X, Y) = not(or(not(X), not(Y)))
% 1.40/1.80  and_star(and_star(X, Y), Z) = and_star(X, and_star(Y, Z))
% 1.40/1.80  and_star(X, Y) = and_star(Y, X)
% 1.40/1.80  not(truth()) = falsehood()
% 1.40/1.80  goal:
% 1.40/1.80  and_star(xor(truth(), x()), x()) != falsehood()
% 1.40/1.80  To show the unsatisfiability of the original goal,
% 1.40/1.80  it suffices to show that and_star(xor(truth(), x()), x()) = falsehood() (skolemized goal) is valid under the axioms.
% 1.40/1.80  Here is an equational proof:
% 1.40/1.80  0: implies(truth(), X0) = X0.
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  1: implies(implies(X0, X1), implies(implies(X1, X2), implies(X0, X2))) = truth().
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  2: implies(implies(X0, X1), X1) = implies(implies(X1, X0), X0).
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  3: implies(implies(not(X0), not(X1)), implies(X1, X0)) = truth().
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  4: or(X0, X1) = implies(not(X0), X1).
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  6: or(X0, X1) = or(X1, X0).
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  7: and(X0, X1) = not(or(not(X0), not(X1))).
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  10: xor(X0, X1) = or(and(X0, not(X1)), and(not(X0), X1)).
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  12: and_star(X0, X1) = not(or(not(X0), not(X1))).
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  15: not(truth()) = falsehood().
% 1.40/1.80  Proof: Axiom.
% 1.40/1.80  
% 1.40/1.80  17: and(X0, X1) = not(implies(not(not(X0)), not(X1))).
% 1.40/1.80  Proof: Rewrite equation 7,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  19: xor(X0, X1) = implies(not(not(implies(not(not(X0)), not(not(X1))))), not(implies(not(not(not(X0))), not(X1)))).
% 1.40/1.80  Proof: Rewrite equation 10,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [17,17,4].
% 1.40/1.80  
% 1.40/1.80  20: and_star(X0, X1) = not(implies(not(not(X0)), not(X1))).
% 1.40/1.80  Proof: Rewrite equation 12,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  21: implies(not(X0), X1) = implies(not(X1), X0).
% 1.40/1.80  Proof: Rewrite equation 6,
% 1.40/1.80                 lhs with equations [4]
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  25: implies(not(X0), truth()) = implies(falsehood(), X0).
% 1.40/1.80  Proof: A critical pair between equations 21 and 15.
% 1.40/1.80  
% 1.40/1.80  26: implies(implies(X2, truth()), truth()) = implies(X2, X2).
% 1.40/1.80  Proof: A critical pair between equations 2 and 0.
% 1.40/1.80  
% 1.40/1.80  33: truth() = implies(X3, implies(implies(X3, X2), implies(truth(), X2))).
% 1.40/1.80  Proof: A critical pair between equations 1 and 0.
% 1.40/1.80  
% 1.40/1.80  35: truth() = implies(implies(not(not(X1)), X2), implies(X1, X2)).
% 1.40/1.80  Proof: A critical pair between equations 3 and 21.
% 1.40/1.80  
% 1.40/1.80  38: truth() = implies(or(not(X1), X2), implies(X1, X2)).
% 1.40/1.80  Proof: Rewrite equation 35,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  39: truth() = implies(X3, implies(implies(X3, X2), X2)).
% 1.40/1.80  Proof: Rewrite equation 33,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [0].
% 1.40/1.80  
% 1.40/1.80  42: and_star(X0, X1) = not(or(not(X0), not(X1))).
% 1.40/1.80  Proof: Rewrite equation 20,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  43: xor(X0, X1) = or(not(or(not(X0), not(not(X1)))), not(or(not(not(X0)), not(X1)))).
% 1.40/1.80  Proof: Rewrite equation 19,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4,4,4].
% 1.40/1.80  
% 1.40/1.80  48: or(X0, truth()) = or(truth(), X0).
% 1.40/1.80  Proof: Rewrite equation 25,
% 1.40/1.80                 lhs with equations [4]
% 1.40/1.80                 rhs with equations [15,4].
% 1.40/1.80  
% 1.40/1.80  52: or(X0, X1) = or(X1, X0).
% 1.40/1.80  Proof: Rewrite equation 21,
% 1.40/1.80                 lhs with equations [4]
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  53: truth() = implies(X4, implies(X4, X4)).
% 1.40/1.80  Proof: A critical pair between equations 39 and 26.
% 1.40/1.80  
% 1.40/1.80  55: truth() = implies(implies(truth(), X2), X2).
% 1.40/1.80  Proof: A critical pair between equations 39 and 0.
% 1.40/1.80  
% 1.40/1.80  57: truth() = implies(or(not(truth()), X3), X3).
% 1.40/1.80  Proof: A critical pair between equations 38 and 0.
% 1.40/1.80  
% 1.40/1.80  66: truth() = implies(implies(not(falsehood()), X3), X3).
% 1.40/1.80  Proof: Rewrite equation 57,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [15,4].
% 1.40/1.80  
% 1.40/1.80  68: truth() = implies(X2, X2).
% 1.40/1.80  Proof: Rewrite equation 55,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [0].
% 1.40/1.80  
% 1.40/1.80  69: truth() = implies(X4, truth()).
% 1.40/1.80  Proof: Rewrite equation 53,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [68].
% 1.40/1.80  
% 1.40/1.80  74: xor(X0, X1) = implies(not(not(implies(not(not(X0)), not(not(X1))))), not(implies(not(not(not(X0))), not(X1)))).
% 1.40/1.80  Proof: Rewrite equation 43,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4,4,4].
% 1.40/1.80  
% 1.40/1.80  75: and_star(X0, X1) = not(implies(not(not(X0)), not(X1))).
% 1.40/1.80  Proof: Rewrite equation 42,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  78: truth() = implies(implies(not(not(X1)), X2), implies(X1, X2)).
% 1.40/1.80  Proof: Rewrite equation 38,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  80: implies(not(X0), X1) = implies(not(X1), X0).
% 1.40/1.80  Proof: Rewrite equation 52,
% 1.40/1.80                 lhs with equations [4]
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  84: truth() = implies(falsehood(), X0).
% 1.40/1.80  Proof: Rewrite equation 48,
% 1.40/1.80                 lhs with equations [4,69]
% 1.40/1.80                 rhs with equations [4,15].
% 1.40/1.80  
% 1.40/1.80  85: truth() = implies(truth(), not(falsehood())).
% 1.40/1.80  Proof: A critical pair between equations 66 and 68.
% 1.40/1.80  
% 1.40/1.80  91: truth() = implies(truth(), implies(X1, not(not(X1)))).
% 1.40/1.80  Proof: A critical pair between equations 78 and 68.
% 1.40/1.80  
% 1.40/1.80  102: truth() = implies(X1, not(not(X1))).
% 1.40/1.80  Proof: Rewrite equation 91,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [0].
% 1.40/1.80  
% 1.40/1.80  107: truth() = not(not(truth())).
% 1.40/1.80  Proof: Rewrite equation 85,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [15,0].
% 1.40/1.80  
% 1.40/1.80  108: truth() = or(truth(), X0).
% 1.40/1.80  Proof: Rewrite equation 84,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [15,4].
% 1.40/1.80  
% 1.40/1.80  112: and_star(X0, X1) = not(or(not(X0), not(X1))).
% 1.40/1.80  Proof: Rewrite equation 75,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  113: xor(X0, X1) = or(not(or(not(X0), not(not(X1)))), not(or(not(not(X0)), not(X1)))).
% 1.40/1.80  Proof: Rewrite equation 74,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4,4,4].
% 1.40/1.80  
% 1.40/1.80  121: or(X0, X1) = or(X1, X0).
% 1.40/1.80  Proof: Rewrite equation 80,
% 1.40/1.80                 lhs with equations [4]
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  141: xor(X0, X1) = implies(not(not(implies(not(not(X0)), not(not(X1))))), not(implies(not(not(not(X0))), not(X1)))).
% 1.40/1.80  Proof: Rewrite equation 113,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4,4,4].
% 1.40/1.80  
% 1.40/1.80  142: and_star(X0, X1) = not(implies(not(not(X0)), not(X1))).
% 1.40/1.80  Proof: Rewrite equation 112,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  146: truth() = implies(falsehood(), X0).
% 1.40/1.80  Proof: Rewrite equation 108,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [4,15].
% 1.40/1.80  
% 1.40/1.80  147: truth() = not(falsehood()).
% 1.40/1.80  Proof: Rewrite equation 107,
% 1.40/1.80                 lhs with equations []
% 1.40/1.80                 rhs with equations [15].
% 1.40/1.80  
% 1.40/1.80  153: implies(not(X0), X1) = implies(not(X1), X0).
% 1.40/1.80  Proof: Rewrite equation 121,
% 1.40/1.80                 lhs with equations [4]
% 1.40/1.80                 rhs with equations [4].
% 1.40/1.80  
% 1.40/1.80  157: and_star(xor(truth(), x()), x()) = falsehood().
% 1.40/1.80  Proof: Rewrite lhs with equations [141,15,147,0,15,147,15,146,15,153,147,0,142,153,102,15]
% 1.40/1.80                 rhs with equations [].
% 1.40/1.80  
% 1.40/1.80  % SZS output end Proof
%------------------------------------------------------------------------------