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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Moca---0.1
% Problem  : GRP141-1 : TPTP v8.1.0. Bugfixed v1.2.1.
% Transfm  : none
% Format   : tptp:raw
% Command  : moca.sh %s

% Computer : n022.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 : Sat Jul 16 10:53:23 EDT 2022

% Result   : Unsatisfiable 10.09s 10.04s
% Output   : Proof 10.09s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.12  % Problem  : GRP141-1 : TPTP v8.1.0. Bugfixed v1.2.1.
% 0.11/0.13  % Command  : moca.sh %s
% 0.14/0.34  % Computer : n022.cluster.edu
% 0.14/0.34  % Model    : x86_64 x86_64
% 0.14/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.34  % Memory   : 8042.1875MB
% 0.14/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.34  % CPULimit : 300
% 0.14/0.34  % WCLimit  : 600
% 0.14/0.34  % DateTime : Tue Jun 14 02:09:18 EDT 2022
% 0.14/0.34  % CPUTime  : 
% 10.09/10.04  % SZS status Unsatisfiable
% 10.09/10.04  % SZS output start Proof
% 10.09/10.04  The input problem is unsatisfiable because
% 10.09/10.04  
% 10.09/10.04  [1] the following set of Horn clauses is unsatisfiable:
% 10.09/10.04  
% 10.09/10.04  	multiply(identity, X) = X
% 10.09/10.04  	multiply(inverse(X), X) = identity
% 10.09/10.04  	multiply(multiply(X, Y), Z) = multiply(X, multiply(Y, Z))
% 10.09/10.04  	greatest_lower_bound(X, Y) = greatest_lower_bound(Y, X)
% 10.09/10.04  	least_upper_bound(X, Y) = least_upper_bound(Y, X)
% 10.09/10.04  	greatest_lower_bound(X, greatest_lower_bound(Y, Z)) = greatest_lower_bound(greatest_lower_bound(X, Y), Z)
% 10.09/10.04  	least_upper_bound(X, least_upper_bound(Y, Z)) = least_upper_bound(least_upper_bound(X, Y), Z)
% 10.09/10.04  	least_upper_bound(X, X) = X
% 10.09/10.04  	greatest_lower_bound(X, X) = X
% 10.09/10.04  	least_upper_bound(X, greatest_lower_bound(X, Y)) = X
% 10.09/10.04  	greatest_lower_bound(X, least_upper_bound(X, Y)) = X
% 10.09/10.04  	multiply(X, least_upper_bound(Y, Z)) = least_upper_bound(multiply(X, Y), multiply(X, Z))
% 10.09/10.04  	multiply(X, greatest_lower_bound(Y, Z)) = greatest_lower_bound(multiply(X, Y), multiply(X, Z))
% 10.09/10.04  	multiply(least_upper_bound(Y, Z), X) = least_upper_bound(multiply(Y, X), multiply(Z, X))
% 10.09/10.04  	multiply(greatest_lower_bound(Y, Z), X) = greatest_lower_bound(multiply(Y, X), multiply(Z, X))
% 10.09/10.04  	least_upper_bound(a, c) = a
% 10.09/10.04  	least_upper_bound(b, c) = b
% 10.09/10.04  	greatest_lower_bound(greatest_lower_bound(a, b), c) = c ==> \bottom
% 10.09/10.04  
% 10.09/10.04  This holds because
% 10.09/10.04  
% 10.09/10.04  [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)):
% 10.09/10.04  
% 10.09/10.04  E:
% 10.09/10.04  	f1(c) = false__
% 10.09/10.04  	f1(greatest_lower_bound(greatest_lower_bound(a, b), c)) = true__
% 10.09/10.04  	greatest_lower_bound(X, X) = X
% 10.09/10.04  	greatest_lower_bound(X, Y) = greatest_lower_bound(Y, X)
% 10.09/10.04  	greatest_lower_bound(X, greatest_lower_bound(Y, Z)) = greatest_lower_bound(greatest_lower_bound(X, Y), Z)
% 10.09/10.04  	greatest_lower_bound(X, least_upper_bound(X, Y)) = X
% 10.09/10.04  	least_upper_bound(X, X) = X
% 10.09/10.04  	least_upper_bound(X, Y) = least_upper_bound(Y, X)
% 10.09/10.04  	least_upper_bound(X, greatest_lower_bound(X, Y)) = X
% 10.09/10.04  	least_upper_bound(X, least_upper_bound(Y, Z)) = least_upper_bound(least_upper_bound(X, Y), Z)
% 10.09/10.04  	least_upper_bound(a, c) = a
% 10.09/10.04  	least_upper_bound(b, c) = b
% 10.09/10.04  	multiply(X, greatest_lower_bound(Y, Z)) = greatest_lower_bound(multiply(X, Y), multiply(X, Z))
% 10.09/10.04  	multiply(X, least_upper_bound(Y, Z)) = least_upper_bound(multiply(X, Y), multiply(X, Z))
% 10.09/10.04  	multiply(greatest_lower_bound(Y, Z), X) = greatest_lower_bound(multiply(Y, X), multiply(Z, X))
% 10.09/10.04  	multiply(identity, X) = X
% 10.09/10.04  	multiply(inverse(X), X) = identity
% 10.09/10.04  	multiply(least_upper_bound(Y, Z), X) = least_upper_bound(multiply(Y, X), multiply(Z, X))
% 10.09/10.04  	multiply(multiply(X, Y), Z) = multiply(X, multiply(Y, Z))
% 10.09/10.04  G:
% 10.09/10.04  	true__ = false__
% 10.09/10.04  
% 10.09/10.04  This holds because
% 10.09/10.04  
% 10.09/10.04  [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS:
% 10.09/10.04  
% 10.09/10.04  	greatest_lower_bound(X, Y) = greatest_lower_bound(Y, X)
% 10.09/10.04  	greatest_lower_bound(Y0, Y1) = greatest_lower_bound(Y1, greatest_lower_bound(least_upper_bound(X1, Y1), Y0))
% 10.09/10.04  	greatest_lower_bound(Y0, Y1) = greatest_lower_bound(Y1, greatest_lower_bound(least_upper_bound(Y1, X1), Y0))
% 10.09/10.04  	greatest_lower_bound(Y1, greatest_lower_bound(Y0, Y2)) = greatest_lower_bound(Y0, greatest_lower_bound(Y1, Y2))
% 10.09/10.04  	greatest_lower_bound(Y2, greatest_lower_bound(Y0, Y1)) = greatest_lower_bound(Y0, greatest_lower_bound(Y1, Y2))
% 10.09/10.04  	least_upper_bound(X, Y) = least_upper_bound(Y, X)
% 10.09/10.04  	least_upper_bound(Y1, multiply(Y0, Y1)) = multiply(least_upper_bound(Y0, identity), Y1)
% 10.09/10.04  	least_upper_bound(Y1, multiply(Y2, Y1)) = multiply(least_upper_bound(identity, Y2), Y1)
% 10.09/10.04  	least_upper_bound(c, least_upper_bound(Y0, b)) = least_upper_bound(b, Y0)
% 10.09/10.04  	f1(c) -> false__
% 10.09/10.04  	f1(greatest_lower_bound(c, greatest_lower_bound(a, b))) -> true__
% 10.09/10.04  	f1(greatest_lower_bound(greatest_lower_bound(a, b), c)) -> true__
% 10.09/10.04  	greatest_lower_bound(X, X) -> X
% 10.09/10.04  	greatest_lower_bound(X, least_upper_bound(X, Y)) -> X
% 10.09/10.04  	greatest_lower_bound(Y0, greatest_lower_bound(Y1, Y0)) -> greatest_lower_bound(Y0, Y1)
% 10.09/10.04  	greatest_lower_bound(Y0, greatest_lower_bound(Y1, greatest_lower_bound(Y0, Y1))) -> greatest_lower_bound(Y0, Y1)
% 10.09/10.04  	greatest_lower_bound(Y0, least_upper_bound(Y1, Y0)) -> Y0
% 10.09/10.04  	greatest_lower_bound(Y0, multiply(least_upper_bound(X1, identity), Y0)) -> Y0
% 10.09/10.04  	greatest_lower_bound(Y0, multiply(least_upper_bound(identity, X1), Y0)) -> Y0
% 10.09/10.04  	greatest_lower_bound(Y1, greatest_lower_bound(Y0, least_upper_bound(Y1, X1))) -> greatest_lower_bound(Y0, Y1)
% 10.09/10.04  	greatest_lower_bound(Y1, greatest_lower_bound(Y1, Y2)) -> greatest_lower_bound(Y1, Y2)
% 10.09/10.04  	greatest_lower_bound(Y1, greatest_lower_bound(least_upper_bound(Y1, Y2), Y0)) -> greatest_lower_bound(Y1, Y0)
% 10.09/10.04  	greatest_lower_bound(Y1, multiply(greatest_lower_bound(X1, identity), Y1)) -> multiply(greatest_lower_bound(X1, identity), Y1)
% 10.09/10.04  	greatest_lower_bound(Y1, multiply(greatest_lower_bound(identity, X1), Y1)) -> multiply(greatest_lower_bound(identity, X1), Y1)
% 10.09/10.04  	greatest_lower_bound(a, c) -> c
% 10.09/10.04  	greatest_lower_bound(a, greatest_lower_bound(X0, c)) -> greatest_lower_bound(X0, c)
% 10.09/10.04  	greatest_lower_bound(a, greatest_lower_bound(c, X0)) -> greatest_lower_bound(c, X0)
% 10.09/10.04  	greatest_lower_bound(a, greatest_lower_bound(least_upper_bound(false__, a), greatest_lower_bound(X0, c))) -> greatest_lower_bound(X0, c)
% 10.09/10.04  	greatest_lower_bound(a, greatest_lower_bound(least_upper_bound(false__, a), greatest_lower_bound(c, X0))) -> greatest_lower_bound(c, X0)
% 10.09/10.04  	greatest_lower_bound(b, least_upper_bound(c, least_upper_bound(Y1, b))) -> b
% 10.09/10.04  	greatest_lower_bound(c, b) -> c
% 10.09/10.04  	greatest_lower_bound(c, greatest_lower_bound(Y0, b)) -> greatest_lower_bound(c, Y0)
% 10.09/10.04  	greatest_lower_bound(c, greatest_lower_bound(b, Y2)) -> greatest_lower_bound(c, Y2)
% 10.09/10.04  	greatest_lower_bound(c, least_upper_bound(Y0, b)) -> c
% 10.09/10.04  	greatest_lower_bound(c, least_upper_bound(b, X0)) -> c
% 10.09/10.04  	greatest_lower_bound(greatest_lower_bound(X, Y), Z) -> greatest_lower_bound(X, greatest_lower_bound(Y, Z))
% 10.09/10.04  	greatest_lower_bound(identity, greatest_lower_bound(least_upper_bound(false__, identity), inverse(least_upper_bound(Y1, identity)))) -> inverse(least_upper_bound(Y1, identity))
% 10.09/10.04  	greatest_lower_bound(identity, greatest_lower_bound(least_upper_bound(false__, identity), inverse(least_upper_bound(identity, Y1)))) -> inverse(least_upper_bound(identity, Y1))
% 10.09/10.04  	greatest_lower_bound(least_upper_bound(X0, b), least_upper_bound(b, X0)) -> least_upper_bound(X0, b)
% 10.09/10.04  	greatest_lower_bound(least_upper_bound(X0, c), least_upper_bound(a, X0)) -> least_upper_bound(X0, c)
% 10.09/10.04  	greatest_lower_bound(least_upper_bound(X0, c), least_upper_bound(b, X0)) -> least_upper_bound(X0, c)
% 10.09/10.04  	greatest_lower_bound(least_upper_bound(a, X0), least_upper_bound(c, X0)) -> least_upper_bound(c, X0)
% 10.09/10.04  	greatest_lower_bound(least_upper_bound(c, X0), least_upper_bound(b, X0)) -> least_upper_bound(c, X0)
% 10.09/10.04  	greatest_lower_bound(least_upper_bound(false__, a), c) -> c
% 10.09/10.04  	greatest_lower_bound(multiply(X, Y), multiply(X, Z)) -> multiply(X, greatest_lower_bound(Y, Z))
% 10.09/10.04  	greatest_lower_bound(multiply(Y, X), multiply(Z, X)) -> multiply(greatest_lower_bound(Y, Z), X)
% 10.09/10.04  	inverse(identity) -> identity
% 10.09/10.04  	inverse(inverse(Y0)) -> Y0
% 10.09/10.04  	inverse(inverse(identity)) -> identity
% 10.09/10.04  	least_upper_bound(X, X) -> X
% 10.09/10.04  	least_upper_bound(X, greatest_lower_bound(X, Y)) -> X
% 10.09/10.04  	least_upper_bound(Y0, greatest_lower_bound(X1, greatest_lower_bound(X2, Y0))) -> Y0
% 10.09/10.04  	least_upper_bound(Y0, greatest_lower_bound(X1, greatest_lower_bound(Y0, X2))) -> Y0
% 10.09/10.04  	least_upper_bound(Y0, greatest_lower_bound(Y1, Y0)) -> Y0
% 10.09/10.04  	least_upper_bound(Y0, least_upper_bound(Y1, Y0)) -> least_upper_bound(Y0, Y1)
% 10.09/10.04  	least_upper_bound(Y0, least_upper_bound(Y1, least_upper_bound(Y0, Y1))) -> least_upper_bound(Y0, Y1)
% 10.09/10.04  	least_upper_bound(Y1, least_upper_bound(Y1, Y2)) -> least_upper_bound(Y1, Y2)
% 10.09/10.04  	least_upper_bound(Y1, multiply(greatest_lower_bound(X1, identity), Y1)) -> Y1
% 10.09/10.04  	least_upper_bound(Y1, multiply(greatest_lower_bound(identity, X1), Y1)) -> Y1
% 10.09/10.04  	least_upper_bound(Y1, multiply(least_upper_bound(X1, identity), Y1)) -> multiply(least_upper_bound(X1, identity), Y1)
% 10.09/10.04  	least_upper_bound(Y1, multiply(least_upper_bound(identity, X1), Y1)) -> multiply(least_upper_bound(identity, X1), Y1)
% 10.09/10.04  	least_upper_bound(Y2, least_upper_bound(X1, greatest_lower_bound(Y1, Y2))) -> least_upper_bound(Y2, X1)
% 10.09/10.04  	least_upper_bound(a, c) -> a
% 10.09/10.04  	least_upper_bound(a, greatest_lower_bound(Y0, c)) -> a
% 10.09/10.04  	least_upper_bound(a, greatest_lower_bound(c, X1)) -> a
% 10.09/10.04  	least_upper_bound(a, least_upper_bound(Y0, c)) -> least_upper_bound(a, Y0)
% 10.09/10.04  	least_upper_bound(a, least_upper_bound(c, Y2)) -> least_upper_bound(a, Y2)
% 10.09/10.04  	least_upper_bound(b, c) -> b
% 10.09/10.04  	least_upper_bound(b, greatest_lower_bound(Y0, c)) -> b
% 10.09/10.04  	least_upper_bound(b, greatest_lower_bound(c, X1)) -> b
% 10.09/10.04  	least_upper_bound(b, least_upper_bound(Y0, c)) -> least_upper_bound(b, Y0)
% 10.09/10.04  	least_upper_bound(b, least_upper_bound(c, Y2)) -> least_upper_bound(b, Y2)
% 10.09/10.04  	least_upper_bound(c, b) -> b
% 10.09/10.04  	least_upper_bound(c, least_upper_bound(Y0, b)) -> least_upper_bound(Y0, b)
% 10.09/10.04  	least_upper_bound(c, least_upper_bound(b, Y2)) -> least_upper_bound(b, Y2)
% 10.09/10.04  	least_upper_bound(greatest_lower_bound(X0, b), greatest_lower_bound(c, X0)) -> greatest_lower_bound(X0, b)
% 10.09/10.04  	least_upper_bound(greatest_lower_bound(X1, X2), greatest_lower_bound(X1, greatest_lower_bound(X2, Y1))) -> greatest_lower_bound(X1, X2)
% 10.09/10.04  	least_upper_bound(greatest_lower_bound(X1, X2), greatest_lower_bound(X1, greatest_lower_bound(Y1, X2))) -> greatest_lower_bound(X1, X2)
% 10.09/10.04  	least_upper_bound(greatest_lower_bound(Y0, c), b) -> b
% 10.09/10.04  	least_upper_bound(greatest_lower_bound(c, X0), greatest_lower_bound(b, X0)) -> greatest_lower_bound(b, X0)
% 10.09/10.04  	least_upper_bound(greatest_lower_bound(c, Y0), b) -> b
% 10.09/10.04  	least_upper_bound(identity, inverse(X0)) -> multiply(least_upper_bound(identity, X0), inverse(X0))
% 10.09/10.04  	least_upper_bound(identity, inverse(Y1)) -> multiply(least_upper_bound(Y1, identity), inverse(Y1))
% 10.09/10.04  	least_upper_bound(identity, inverse(greatest_lower_bound(Y1, identity))) -> inverse(greatest_lower_bound(Y1, identity))
% 10.09/10.04  	least_upper_bound(identity, inverse(greatest_lower_bound(identity, Y1))) -> inverse(greatest_lower_bound(identity, Y1))
% 10.09/10.04  	least_upper_bound(identity, inverse(identity)) -> identity
% 10.09/10.04  	least_upper_bound(least_upper_bound(X, Y), Z) -> least_upper_bound(X, least_upper_bound(Y, Z))
% 10.09/10.04  	least_upper_bound(multiply(X, Y), multiply(X, Z)) -> multiply(X, least_upper_bound(Y, Z))
% 10.09/10.04  	least_upper_bound(multiply(Y, X), multiply(Z, X)) -> multiply(least_upper_bound(Y, Z), X)
% 10.09/10.04  	multiply(X0, multiply(inverse(X0), Y1)) -> Y1
% 10.09/10.04  	multiply(Y0, inverse(Y0)) -> identity
% 10.09/10.04  	multiply(Y0, multiply(Y1, inverse(multiply(Y0, Y1)))) -> identity
% 10.09/10.04  	multiply(Y1, identity) -> Y1
% 10.09/10.04  	multiply(identity, X) -> X
% 10.09/10.04  	multiply(inverse(X), X) -> identity
% 10.09/10.04  	multiply(inverse(Y1), multiply(Y1, Y2)) -> Y2
% 10.09/10.04  	multiply(inverse(identity), Y1) -> Y1
% 10.09/10.04  	multiply(inverse(inverse(X0)), X1) -> multiply(X0, X1)
% 10.09/10.04  	multiply(inverse(inverse(Y1)), identity) -> Y1
% 10.09/10.04  	multiply(least_upper_bound(identity, inverse(Y0)), Y0) -> least_upper_bound(Y0, identity)
% 10.09/10.04  	multiply(least_upper_bound(identity, inverse(identity)), Y0) -> Y0
% 10.09/10.04  	multiply(multiply(X, Y), Z) -> multiply(X, multiply(Y, Z))
% 10.09/10.04  	true__ -> false__
% 10.09/10.04  with the LPO induced by
% 10.09/10.04  	f1 > b > c > a > inverse > identity > least_upper_bound > greatest_lower_bound > multiply > true__ > false__
% 10.09/10.04  
% 10.09/10.04  % SZS output end Proof
% 10.09/10.04  
%------------------------------------------------------------------------------