TSTP Solution File: LCL140-1 by Moca---0.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Moca---0.1
% Problem  : LCL140-1 : TPTP v8.1.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : moca.sh %s

% Computer : n013.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  : 600s
% DateTime : Sun Jul 17 12:58:25 EDT 2022

% Result   : Unsatisfiable 5.40s 5.50s
% Output   : Proof 5.40s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.13  % Problem  : LCL140-1 : TPTP v8.1.0. Released v1.0.0.
% 0.07/0.13  % Command  : moca.sh %s
% 0.13/0.35  % Computer : n013.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  : 600
% 0.13/0.35  % DateTime : Sun Jul  3 16:53:44 EDT 2022
% 0.13/0.35  % CPUTime  : 
% 5.40/5.50  % SZS status Unsatisfiable
% 5.40/5.50  % SZS output start Proof
% 5.40/5.50  The input problem is unsatisfiable because
% 5.40/5.50  
% 5.40/5.50  [1] the following set of Horn clauses is unsatisfiable:
% 5.40/5.50  
% 5.40/5.50  	implies(truth, X) = X
% 5.40/5.50  	implies(implies(X, Y), implies(implies(Y, Z), implies(X, Z))) = truth
% 5.40/5.50  	implies(implies(X, Y), Y) = implies(implies(Y, X), X)
% 5.40/5.50  	implies(implies(not(X), not(Y)), implies(Y, X)) = truth
% 5.40/5.50  	not(not(x)) = x ==> \bottom
% 5.40/5.50  
% 5.40/5.50  This holds because
% 5.40/5.50  
% 5.40/5.50  [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)):
% 5.40/5.50  
% 5.40/5.50  E:
% 5.40/5.50  	f1(not(not(x))) = true__
% 5.40/5.50  	f1(x) = false__
% 5.40/5.50  	implies(implies(X, Y), Y) = implies(implies(Y, X), X)
% 5.40/5.50  	implies(implies(X, Y), implies(implies(Y, Z), implies(X, Z))) = truth
% 5.40/5.50  	implies(implies(not(X), not(Y)), implies(Y, X)) = truth
% 5.40/5.50  	implies(truth, X) = X
% 5.40/5.50  G:
% 5.40/5.50  	true__ = false__
% 5.40/5.50  
% 5.40/5.50  This holds because
% 5.40/5.50  
% 5.40/5.50  [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS:
% 5.40/5.50  
% 5.40/5.50  	implies(implies(X, Y), Y) = implies(implies(Y, X), X)
% 5.40/5.50  	implies(implies(X0, X0), truth) = implies(implies(X0, truth), implies(X0, truth))
% 5.40/5.50  	f1(not(not(x))) -> true__
% 5.40/5.50  	f1(x) -> false__
% 5.40/5.50  	implies(X0, implies(Y1, implies(not(X0), Y2))) -> truth
% 5.40/5.50  	implies(X0, implies(implies(X0, not(truth)), Y1)) -> truth
% 5.40/5.50  	implies(X0, implies(implies(X0, not(truth)), implies(Y2, not(truth)))) -> truth
% 5.40/5.50  	implies(X0, implies(not(X0), Y1)) -> truth
% 5.40/5.50  	implies(Y0, implies(X1, implies(implies(Y0, Y1), Y1))) -> truth
% 5.40/5.50  	implies(Y0, implies(Y0, Y0)) -> truth
% 5.40/5.50  	implies(Y0, implies(Y2, implies(implies(Y0, not(truth)), X1))) -> truth
% 5.40/5.50  	implies(Y0, implies(Y2, implies(not(Y0), not(truth)))) -> truth
% 5.40/5.50  	implies(Y0, implies(Y2, not(not(Y0)))) -> truth
% 5.40/5.50  	implies(Y0, implies(implies(Y1, Y0), Y0)) -> truth
% 5.40/5.50  	implies(Y0, implies(implies(implies(Y2, implies(Y3, Y0)), X0), X0)) -> truth
% 5.40/5.50  	implies(Y0, implies(implies(implies(implies(Y0, Y2), Y2), X0), X0)) -> truth
% 5.40/5.50  	implies(Y0, truth) -> truth
% 5.40/5.50  	implies(Y1, Y1) -> truth
% 5.40/5.50  	implies(Y1, implies(X1, implies(X2, implies(Y0, Y1)))) -> truth
% 5.40/5.50  	implies(Y1, implies(X1, implies(Y0, Y1))) -> truth
% 5.40/5.50  	implies(Y1, implies(Y0, Y1)) -> truth
% 5.40/5.50  	implies(Y1, implies(implies(Y1, Y2), Y2)) -> truth
% 5.40/5.50  	implies(Y1, implies(implies(implies(Y0, Y1), X1), X1)) -> truth
% 5.40/5.50  	implies(Y1, implies(implies(implies(Y0, Y1), not(truth)), X1)) -> truth
% 5.40/5.50  	implies(Y1, implies(implies(not(truth), not(X0)), Y1)) -> truth
% 5.40/5.50  	implies(Y1, implies(not(Y1), not(truth))) -> truth
% 5.40/5.50  	implies(Y1, implies(not(implies(Y0, Y1)), not(truth))) -> truth
% 5.40/5.50  	implies(Y1, implies(not(not(truth)), Y1)) -> truth
% 5.40/5.50  	implies(Y1, implies(not(not(truth)), implies(Y0, Y1))) -> truth
% 5.40/5.50  	implies(Y1, not(not(Y1))) -> truth
% 5.40/5.50  	implies(Y1, not(not(implies(Y0, Y1)))) -> truth
% 5.40/5.50  	implies(implies(X, Y), implies(implies(Y, Z), implies(X, Z))) -> truth
% 5.40/5.50  	implies(implies(X0, Y1), implies(implies(Y1, implies(X0, Y1)), implies(X0, Y1))) -> truth
% 5.40/5.50  	implies(implies(X0, not(Y1)), implies(Y1, not(X0))) -> truth
% 5.40/5.50  	implies(implies(X0, not(truth)), implies(Y1, not(X0))) -> truth
% 5.40/5.50  	implies(implies(X0, not(truth)), implies(Y2, implies(X0, X1))) -> truth
% 5.40/5.50  	implies(implies(X0, not(truth)), not(X0)) -> truth
% 5.40/5.50  	implies(implies(X0, truth), implies(implies(X0, X0), truth)) -> truth
% 5.40/5.50  	implies(implies(Y0, Y1), implies(Y0, implies(X1, Y1))) -> truth
% 5.40/5.50  	implies(implies(Y0, Y1), implies(Y0, implies(implies(Y1, X1), X1))) -> truth
% 5.40/5.50  	implies(implies(Y0, implies(not(Y2), not(truth))), implies(Y0, Y2)) -> truth
% 5.40/5.50  	implies(implies(Y0, not(X0)), implies(Y0, implies(X0, X1))) -> truth
% 5.40/5.50  	implies(implies(Y0, not(truth)), implies(Y0, Y2)) -> truth
% 5.40/5.50  	implies(implies(Y0, truth), implies(Y0, truth)) -> truth
% 5.40/5.50  	implies(implies(Y0, truth), implies(Y2, implies(Y0, Y2))) -> truth
% 5.40/5.50  	implies(implies(Y1, Y2), implies(implies(not(Y1), not(truth)), Y2)) -> truth
% 5.40/5.50  	implies(implies(Y1, implies(not(Y1), not(truth))), implies(not(Y1), not(truth))) -> Y1
% 5.40/5.50  	implies(implies(Y1, not(implies(Y1, not(truth)))), not(implies(Y1, not(truth)))) -> Y1
% 5.40/5.50  	implies(implies(Y1, not(not(Y1))), not(not(Y1))) -> Y1
% 5.40/5.50  	implies(implies(Y1, not(truth)), not(truth)) -> Y1
% 5.40/5.50  	implies(implies(Y1, truth), truth) -> implies(Y1, Y1)
% 5.40/5.50  	implies(implies(implies(X0, X1), Y2), implies(not(X0), Y2)) -> truth
% 5.40/5.50  	implies(implies(implies(X0, X1), implies(X0, not(truth))), implies(X0, not(truth))) -> implies(X0, X1)
% 5.40/5.50  	implies(implies(implies(X0, X1), not(X0)), not(X0)) -> implies(X0, X1)
% 5.40/5.50  	implies(implies(implies(X0, Y1), not(truth)), implies(implies(Y1, X0), X0)) -> truth
% 5.40/5.50  	implies(implies(implies(X0, implies(Y2, Y1)), Y1), implies(implies(implies(Y2, Y1), X0), X0)) -> truth
% 5.40/5.50  	implies(implies(implies(X0, not(truth)), not(X0)), not(X0)) -> implies(X0, not(truth))
% 5.40/5.50  	implies(implies(implies(X1, X0), implies(not(X0), not(X1))), implies(not(X0), not(X1))) -> implies(X1, X0)
% 5.40/5.50  	implies(implies(implies(X1, X0), implies(not(X0), not(truth))), implies(not(X0), not(truth))) -> implies(X1, X0)
% 5.40/5.50  	implies(implies(implies(X1, X0), not(not(X0))), not(not(X0))) -> implies(X1, X0)
% 5.40/5.50  	implies(implies(implies(X1, X2), implies(implies(X0, X1), X2)), implies(implies(X0, X1), X2)) -> implies(X1, X2)
% 5.40/5.50  	implies(implies(implies(X1, Y0), Y2), implies(Y0, Y2)) -> truth
% 5.40/5.50  	implies(implies(implies(X1, implies(X0, X2)), not(X0)), not(X0)) -> implies(X1, implies(X0, X2))
% 5.40/5.50  	implies(implies(implies(Y0, implies(X0, Y2)), Y2), implies(implies(Y2, X0), X0)) -> truth
% 5.40/5.50  	implies(implies(implies(Y0, implies(X0, not(truth))), not(truth)), X0) -> truth
% 5.40/5.50  	implies(implies(implies(Y1, X0), X0), Y1) -> implies(implies(Y1, implies(X0, Y1)), implies(X0, Y1))
% 5.40/5.50  	implies(implies(implies(Y1, X0), X0), implies(implies(X0, Y1), implies(Y2, Y1))) -> truth
% 5.40/5.50  	implies(implies(implies(implies(Y0, X1), X1), Y2), implies(Y0, Y2)) -> truth
% 5.40/5.50  	implies(implies(not(X), not(Y)), implies(Y, X)) -> truth
% 5.40/5.50  	implies(implies(not(X0), not(X1)), implies(Y2, implies(X1, X0))) -> truth
% 5.40/5.50  	implies(implies(not(Y0), X0), implies(not(X0), Y0)) -> truth
% 5.40/5.50  	implies(implies(not(Y0), not(implies(X0, Y0))), implies(implies(Y0, X0), X0)) -> truth
% 5.40/5.50  	implies(implies(not(Y0), not(truth)), Y0) -> truth
% 5.40/5.50  	implies(implies(not(Y0), not(truth)), implies(X1, Y0)) -> truth
% 5.40/5.50  	implies(implies(not(Y0), not(truth)), implies(implies(Y0, X0), X0)) -> truth
% 5.40/5.50  	implies(implies(not(implies(not(Y1), not(truth))), not(truth)), Y1) -> truth
% 5.40/5.50  	implies(implies(not(not(X0)), not(truth)), implies(X0, X1)) -> truth
% 5.40/5.50  	implies(implies(not(not(truth)), not(truth)), Y1) -> truth
% 5.40/5.50  	implies(implies(not(truth), not(Y1)), truth) -> truth
% 5.40/5.50  	implies(implies(not(truth), not(implies(X0, truth))), truth) -> truth
% 5.40/5.50  	implies(implies(not(truth), not(not(not(truth)))), truth) -> truth
% 5.40/5.50  	implies(implies(not(truth), not(not(truth))), not(not(truth))) -> truth
% 5.40/5.50  	implies(implies(not(truth), not(truth)), implies(not(truth), not(truth))) -> truth
% 5.40/5.50  	implies(not(X0), implies(Y2, implies(X0, X1))) -> truth
% 5.40/5.50  	implies(not(X0), implies(Y2, implies(X0, not(truth)))) -> truth
% 5.40/5.50  	implies(not(X1), implies(X1, X0)) -> truth
% 5.40/5.50  	implies(not(Y0), implies(implies(implies(Y0, Y2), X0), X0)) -> truth
% 5.40/5.50  	implies(not(Y1), implies(Y1, not(truth))) -> truth
% 5.40/5.50  	implies(not(implies(X0, Y1)), implies(implies(Y1, X0), X0)) -> truth
% 5.40/5.50  	implies(not(implies(X0, Y2)), implies(Y1, implies(implies(Y2, X0), X0))) -> truth
% 5.40/5.50  	implies(not(implies(X0, not(truth))), X0) -> truth
% 5.40/5.50  	implies(not(implies(Y1, not(truth))), implies(Y2, Y1)) -> truth
% 5.40/5.50  	implies(not(implies(implies(X1, Y1), Y1)), implies(X1, Y1)) -> truth
% 5.40/5.50  	implies(not(not(X0)), implies(Y2, implies(X1, X0))) -> truth
% 5.40/5.50  	implies(not(not(Y0)), implies(implies(Y0, X0), X0)) -> truth
% 5.40/5.50  	implies(not(not(Y1)), Y1) -> truth
% 5.40/5.50  	implies(not(not(Y1)), implies(Y2, Y1)) -> truth
% 5.40/5.50  	implies(not(not(not(Y1))), implies(Y1, Y2)) -> truth
% 5.40/5.50  	implies(not(not(truth)), truth) -> truth
% 5.40/5.50  	implies(not(truth), Y1) -> truth
% 5.40/5.50  	implies(truth, X) -> X
% 5.40/5.50  	not(not(Y0)) -> Y0
% 5.40/5.50  	not(not(truth)) -> truth
% 5.40/5.50  	true__ -> false__
% 5.40/5.50  with the LPO induced by
% 5.40/5.50  	x > f1 > not > implies > truth > true__ > false__
% 5.40/5.50  
% 5.40/5.50  % SZS output end Proof
% 5.40/5.50  
%------------------------------------------------------------------------------