TSTP Solution File: LCL077-2 by Moca---0.1

View Problem - Process Solution

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

% Computer : n026.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:57:48 EDT 2022

% Result   : Unsatisfiable 8.90s 8.86s
% Output   : Proof 8.90s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : LCL077-2 : TPTP v8.1.0. Released v1.0.0.
% 0.07/0.13  % Command  : moca.sh %s
% 0.13/0.34  % Computer : n026.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.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 600
% 0.13/0.34  % DateTime : Mon Jul  4 11:15:52 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 8.90/8.86  % SZS status Unsatisfiable
% 8.90/8.86  % SZS output start Proof
% 8.90/8.86  The input problem is unsatisfiable because
% 8.90/8.86  
% 8.90/8.86  [1] the following set of Horn clauses is unsatisfiable:
% 8.90/8.86  
% 8.90/8.86  	is_a_theorem(implies(X, Y)) & is_a_theorem(X) ==> is_a_theorem(Y)
% 8.90/8.86  	is_a_theorem(implies(X, implies(Y, X)))
% 8.90/8.86  	is_a_theorem(implies(implies(X, implies(Y, Z)), implies(implies(X, Y), implies(X, Z))))
% 8.90/8.86  	is_a_theorem(implies(implies(not(X), not(Y)), implies(Y, X)))
% 8.90/8.86  	is_a_theorem(implies(X1, X2)) & is_a_theorem(implies(X2, X3)) ==> is_a_theorem(implies(X1, X3))
% 8.90/8.86  	is_a_theorem(implies(not(not(a)), a)) ==> \bottom
% 8.90/8.86  
% 8.90/8.86  This holds because
% 8.90/8.86  
% 8.90/8.86  [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)):
% 8.90/8.86  
% 8.90/8.86  E:
% 8.90/8.86  	f1(true__, Y) = is_a_theorem(Y)
% 8.90/8.86  	f2(is_a_theorem(X), X, Y) = true__
% 8.90/8.86  	f2(true__, X, Y) = f1(is_a_theorem(implies(X, Y)), Y)
% 8.90/8.86  	f3(true__, X1, X3) = is_a_theorem(implies(X1, X3))
% 8.90/8.86  	f4(is_a_theorem(implies(X2, X3)), X1, X2, X3) = true__
% 8.90/8.86  	f4(true__, X1, X2, X3) = f3(is_a_theorem(implies(X1, X2)), X1, X3)
% 8.90/8.86  	f5(is_a_theorem(implies(not(not(a)), a))) = true__
% 8.90/8.86  	f5(true__) = false__
% 8.90/8.86  	is_a_theorem(implies(X, implies(Y, X))) = true__
% 8.90/8.86  	is_a_theorem(implies(implies(X, implies(Y, Z)), implies(implies(X, Y), implies(X, Z)))) = true__
% 8.90/8.86  	is_a_theorem(implies(implies(not(X), not(Y)), implies(Y, X))) = true__
% 8.90/8.86  G:
% 8.90/8.86  	true__ = false__
% 8.90/8.86  
% 8.90/8.86  This holds because
% 8.90/8.86  
% 8.90/8.86  [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS:
% 8.90/8.86  
% 8.90/8.86  
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, X0), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, X0)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, X1)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, X0))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, X1))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, X2))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, X0)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, X1)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, X2)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, X3)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, implies(X4, X0))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, implies(X4, X1))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, implies(X4, X2))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, implies(X4, X3))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, implies(X4, X4))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, implies(X4, implies(X5, X0)))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, implies(X4, implies(X5, X2)))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, implies(X4, implies(X5, X3)))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(X3, implies(X4, implies(X5, X4)))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(not(X3), implies(X3, X4))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(X2, implies(not(not(X3)), implies(X4, X3))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(implies(not(X2), not(X3)), implies(X3, X2)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(not(X2), implies(X2, X3)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(not(X2), implies(X3, implies(X2, X4))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(not(X2), not(X2)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(not(not(X2)), implies(X3, X2)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(not(not(X2)), implies(X3, implies(X4, X2))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(X1, implies(not(not(not(X2))), implies(X2, X3)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(implies(not(X1), not(X2)), implies(X2, X1))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(not(X1), implies(X1, X2))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(not(X1), implies(X2, implies(X1, X3)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(not(not(X1)), implies(X2, X1))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(not(not(X1)), implies(X2, implies(X3, X1)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(not(not(not(X1))), implies(X1, X2))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(X0, implies(not(not(not(not(X1)))), implies(X2, X1))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(X0, X1), implies(X0, X0)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(X0, X1), implies(X2, implies(X0, X0))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(X0, X1), implies(X2, implies(X3, implies(X0, X0)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(X0, implies(X1, X2)), implies(implies(X0, X1), implies(X0, X2))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(implies(X0, X0), X1), X1), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(implies(X0, X0), X1), implies(X2, X1)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(implies(X0, X0), not(X1)), implies(X1, X2)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(implies(X0, X1), X0), implies(implies(X0, X1), X1)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(not(X0), not(X1)), implies(X1, X0)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(not(X0), not(X1)), implies(X2, implies(X1, X0))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(not(X0), not(X1)), implies(X2, implies(X3, implies(X1, X0)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(not(not(X0)), not(not(X1))), implies(X0, X1)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(implies(not(not(X0)), not(not(X1))), implies(X2, implies(X0, X1))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(X0), implies(X0, X1)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(X0), implies(X1, implies(X0, X2))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(X0), implies(X1, implies(X2, implies(X0, X3)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(X0), implies(X1, implies(X2, implies(X3, implies(X0, X4))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(X0), not(X0)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(implies(X0, X0)), X1), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(X0)), X0), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(X0)), implies(X1, X0)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(X0)), implies(X1, implies(X2, X0))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(X0)), implies(X1, implies(X2, implies(X3, X0)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(X0)), implies(X1, implies(X2, implies(X3, implies(X4, X0))))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(not(X0))), implies(X0, X1)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(not(X0))), implies(X1, implies(X0, X2))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(not(X0))), implies(X1, implies(X2, implies(X0, X3)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(not(not(X0)))), implies(X1, X0)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(not(not(X0)))), implies(X1, implies(X2, X0))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(not(not(X0)))), implies(X1, implies(X2, implies(X3, X0)))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(not(not(not(X0))))), implies(X0, X1)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(not(not(not(X0))))), implies(X1, implies(X0, X2))), Y1)), Y1) -> true__
% 8.90/8.86  	f1(f1(true__, implies(implies(not(not(not(not(not(not(X0)))))), implies(X1, X0)), Y1)), Y1) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(X2, implies(X3, implies(not(Y0), not(Y0)))))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(X2, implies(not(Y0), not(Y0))))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(X2, implies(not(not(Y0)), implies(Y1, Y0))))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(Y0, implies(Y1, Y0)))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(Y0, implies(Y1, implies(Y2, Y0))))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(Y0, implies(Y1, implies(Y2, implies(Y3, Y0)))))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(implies(not(Y0), not(Y1)), implies(Y1, Y0)))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(not(Y0), implies(Y0, Y1)))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(not(Y0), implies(Y1, implies(Y0, Y2))))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(not(not(Y0)), implies(Y1, Y0)))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(not(not(Y0)), implies(Y1, implies(Y2, Y0))))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(not(not(not(Y0))), implies(Y0, Y1)))) -> true__
% 8.90/8.86  	f1(true__, implies(X1, implies(not(not(not(not(Y0)))), implies(Y1, Y0)))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, Y0)) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y1, Y0))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(X1, X1)))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(X1, Y0)))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(X1, implies(X2, X1))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(X1, implies(X2, Y0))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(X1, implies(X2, implies(X3, X1)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(X1, implies(X2, implies(X3, Y0)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(X1, implies(X2, implies(X3, implies(X4, X1))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, X1))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, X1)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, X2)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, X1))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, X2))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, X3))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, Y0))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, implies(X4, X1)))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, implies(X4, X2)))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, implies(X4, X3)))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, implies(X4, X4)))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, implies(X4, Y0)))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(not(X2), implies(X2, X3))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(X1, implies(not(not(X2)), implies(X3, X2))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(Y4, implies(X1, implies(not(X2), implies(X2, X3)))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(Y4, implies(not(X1), implies(X2, implies(X1, X3)))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(implies(not(X1), not(X2)), implies(X2, X1)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(not(X1), implies(X1, X2)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(not(X1), implies(X2, implies(X1, X3))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(not(not(X1)), implies(X2, X1)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(not(not(X1)), implies(X2, implies(X3, X1))))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(Y3, implies(not(not(not(X1))), implies(X1, X2)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(implies(not(X1), not(X2)), implies(X2, X1))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(not(X1), implies(X1, X2))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(not(X1), implies(X2, implies(X1, X3)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(not(not(X1)), implies(X2, implies(X3, X1)))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(not(not(not(X1))), implies(X1, X2))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y0, implies(Y2, implies(not(not(not(not(X1)))), implies(X2, X1))))) -> true__
% 8.90/8.86  	f1(true__, implies(Y2, implies(Y1, Y1))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(X0, X1), implies(Y2, implies(X0, X0)))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(X0, X1), implies(Y2, implies(Y3, implies(X0, X0))))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(X0, X1), implies(Y2, implies(Y3, implies(X2, implies(X3, implies(X0, X0))))))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(X0, implies(X1, X2)), implies(Y2, implies(implies(X0, X1), implies(X0, X2))))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(Y0, Y1), implies(Y0, Y0))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(Y0, implies(Y1, Y2)), implies(implies(Y0, Y1), implies(Y0, Y2)))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(implies(X0, X0), Y1), implies(Y2, Y1))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(implies(X0, X0), Y1), implies(Y2, implies(Y3, Y1)))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(implies(X0, X0), implies(implies(Y1, Y1), Y2)), Y2)) -> true__
% 8.90/8.86  	f1(true__, implies(implies(implies(X0, X0), not(Y1)), implies(Y1, Y2))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(implies(X0, X0), not(Y1)), implies(Y2, implies(Y1, Y3)))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(implies(X0, X0), not(not(Y1))), implies(Y2, Y1))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(implies(X0, X1), X0), implies(Y2, implies(implies(X0, X1), X1)))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(implies(X1, X2), X1), implies(implies(X1, X2), X2))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(implies(Y1, Y1), X1), X1)) -> true__
% 8.90/8.86  	f1(true__, implies(implies(not(X0), not(X1)), implies(Y2, implies(X1, X0)))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(not(X0), not(X1)), implies(Y2, implies(Y3, implies(X1, X0))))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(not(X0), not(X1)), implies(Y2, implies(Y3, implies(X2, implies(X1, X0)))))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(not(Y0), not(Y1)), implies(Y1, Y0))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(not(not(X0)), not(not(X1))), implies(Y2, implies(X0, X1)))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(not(not(X0)), not(not(X1))), implies(Y2, implies(Y3, implies(X0, X1))))) -> true__
% 8.90/8.86  	f1(true__, implies(implies(not(not(Y2)), not(not(Y1))), implies(Y2, Y1))) -> true__
% 8.90/8.86  	f1(true__, implies(not(X0), implies(Y2, implies(X0, X1)))) -> true__
% 8.90/8.86  	f1(true__, implies(not(X0), implies(Y2, implies(X1, implies(X0, X2))))) -> true__
% 8.90/8.86  	f1(true__, implies(not(X0), implies(Y2, implies(Y3, implies(X1, implies(X0, X2)))))) -> true__
% 8.90/8.86  	f1(true__, implies(not(X0), implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X0, X3))))))) -> true__
% 8.90/8.86  	f1(true__, implies(not(X0), implies(Y2, implies(Y3, implies(Y4, implies(X1, implies(X2, implies(X0, X3)))))))) -> true__
% 8.90/8.86  	f1(true__, implies(not(Y0), not(Y0))) -> true__
% 8.90/8.86  	f1(true__, implies(not(Y2), implies(Y2, Y1))) -> true__
% 8.90/8.86  	f1(true__, implies(not(implies(Y1, Y1)), Y2)) -> true__
% 8.90/8.86  	f1(true__, implies(not(not(X0)), implies(Y2, implies(X1, X0)))) -> true__
% 8.90/8.86  	f1(true__, implies(not(not(X0)), implies(Y2, implies(Y3, implies(X1, X0))))) -> true__
% 8.90/8.86  	f1(true__, implies(not(not(X0)), implies(Y2, implies(Y3, implies(X1, implies(X2, X0)))))) -> true__
% 8.90/8.86  	f1(true__, implies(not(not(X0)), implies(Y2, implies(Y3, implies(X1, implies(X2, implies(X3, X0))))))) -> true__
% 8.90/8.86  	f1(true__, implies(not(not(Y1)), implies(Y2, Y1))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(Y2)), Y2)) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(implies(implies(Y1, Y1), Y2))), Y2)) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(X0))), implies(Y2, implies(X0, X1)))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(X0))), implies(Y2, implies(Y3, implies(X0, X1))))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(X0))), implies(Y2, implies(Y3, implies(X1, implies(X0, X2)))))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(X0))), implies(Y2, implies(Y3, implies(Y4, implies(X1, implies(X0, X2))))))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(Y2))), implies(Y2, Y1))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(implies(Y1, Y1)))), Y2)) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(X0)))), implies(Y2, implies(X1, X0)))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(X0)))), implies(Y2, implies(Y3, implies(X1, X0))))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(X0)))), implies(Y2, implies(Y3, implies(X1, implies(X2, X0)))))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(Y1)))), implies(Y2, Y1))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(not(X0))))), implies(Y2, implies(X0, X1)))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(not(X0))))), implies(Y2, implies(Y3, implies(X0, X1))))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(not(Y2))))), implies(Y2, Y1))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(not(not(X0)))))), implies(Y2, implies(X1, X0)))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(not(not(X0)))))), implies(Y2, implies(Y3, implies(X1, X0))))) -> true__
% 8.90/8.87  	f1(true__, implies(not(not(not(not(not(not(Y1)))))), implies(Y2, Y1))) -> true__
% 8.90/8.87  	f2(f1(true__, Y0), Y0, Y1) -> true__
% 8.90/8.87  	f2(is_a_theorem(X), X, Y) -> true__
% 8.90/8.87  	f2(true__, X, Y) -> f1(is_a_theorem(implies(X, Y)), Y)
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, X1)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, Y0)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, X1))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, X2))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, Y0))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, X1)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, X2)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, X3)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, Y0)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, implies(X4, X1))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, implies(X4, X2))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, implies(X4, X3))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, implies(X4, X4))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, implies(X4, Y0))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, implies(X4, implies(X5, X3)))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, implies(X4, implies(X5, X4)))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(X3, implies(X4, implies(X5, Y0)))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(X2, implies(not(X3), implies(X3, X4))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(implies(not(X2), not(X3)), implies(X3, X2)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(not(X2), implies(X2, X3)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(not(X2), implies(X3, implies(X2, X4))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(not(X2), not(X2)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(not(not(X2)), implies(X3, X2)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(X1, implies(not(not(not(X2))), implies(X2, X3)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(implies(not(X1), not(X2)), implies(X2, X1))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(not(X1), implies(X1, X2))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(not(X1), implies(X2, implies(X1, X3)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(not(not(X1)), implies(X2, X1))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(not(not(X1)), implies(X2, implies(X3, X1)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(not(not(not(X1))), implies(X1, X2))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y0)), Y2, implies(not(not(not(not(X1)))), implies(X2, X1))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, Y1)), Y2, Y1) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(X0, X1))), Y2, implies(X0, X0)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(X0, X1))), Y2, implies(X2, implies(X0, X0))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(X0, implies(X1, X2)))), Y2, implies(implies(X0, X1), implies(X0, X2))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(implies(X0, X0), X1))), Y2, implies(X2, X1)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(implies(X0, X0), Y1))), Y2, Y1) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(implies(X0, X0), not(X1)))), Y2, implies(X1, X2)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(implies(X0, X1), X0))), Y2, implies(implies(X0, X1), X1)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(not(X0), not(X1)))), Y2, implies(X1, X0)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(not(X0), not(X1)))), Y2, implies(X2, implies(X1, X0))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(not(X0), not(X1)))), Y2, implies(X2, implies(X3, implies(X1, X0)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, implies(not(not(X0)), not(not(X1))))), Y2, implies(X0, X1)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(X0))), Y2, implies(X0, X1)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(X0))), Y2, implies(X1, implies(X0, X2))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(X0))), Y2, implies(X1, implies(X2, implies(X0, X3)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(X0))), Y2, implies(X1, implies(X2, implies(X3, implies(X0, X4))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(X0))), Y2, not(X0)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(implies(X0, X0)))), Y2, Y1) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(X0)))), Y2, implies(X1, X0)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(X0)))), Y2, implies(X1, implies(X2, X0))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(X0)))), Y2, implies(X1, implies(X2, implies(X3, X0)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(X0)))), Y2, implies(X1, implies(X2, implies(X3, implies(X4, X0))))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(Y1)))), Y2, Y1) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(not(X0))))), Y2, implies(X0, X1)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(not(X0))))), Y2, implies(X1, implies(X0, X2))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(not(X0))))), Y2, implies(X1, implies(X2, implies(X0, X3)))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(not(not(X0)))))), Y2, implies(X1, X0)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(not(not(X0)))))), Y2, implies(X1, implies(X2, X0))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(not(not(not(X0))))))), Y2, implies(X0, X1)) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(not(not(not(X0))))))), Y2, implies(X1, implies(X0, X2))) -> true__
% 8.90/8.87  	f3(f1(true__, implies(Y2, not(not(not(not(not(not(X0)))))))), Y2, implies(X1, X0)) -> true__
% 8.90/8.87  	f3(true__, X1, X3) -> is_a_theorem(implies(X1, X3))
% 8.90/8.87  	f4(f1(true__, implies(Y0, Y1)), Y2, Y0, Y1) -> true__
% 8.90/8.87  	f4(is_a_theorem(implies(X2, X3)), X1, X2, X3) -> true__
% 8.90/8.87  	f4(true__, X1, X2, X3) -> f3(is_a_theorem(implies(X1, X2)), X1, X3)
% 8.90/8.87  	f5(f1(true__, implies(not(not(a)), a))) -> true__
% 8.90/8.87  	f5(is_a_theorem(implies(not(not(a)), a))) -> true__
% 8.90/8.87  	f5(true__) -> false__
% 8.90/8.87  	false__ -> true__
% 8.90/8.87  	is_a_theorem(Y) -> f1(true__, Y)
% 8.90/8.87  	is_a_theorem(implies(X, implies(Y, X))) -> true__
% 8.90/8.87  	is_a_theorem(implies(implies(X, implies(Y, Z)), implies(implies(X, Y), implies(X, Z)))) -> true__
% 8.90/8.87  	is_a_theorem(implies(implies(not(X), not(Y)), implies(Y, X))) -> true__
% 8.90/8.87  with the LPO induced by
% 8.90/8.87  	a > f5 > f4 > f3 > f2 > is_a_theorem > f1 > implies > not > false__ > true__
% 8.90/8.87  
% 8.90/8.87  % SZS output end Proof
% 8.90/8.87  
%------------------------------------------------------------------------------