TSTP Solution File: BOO006-2 by Moca---0.1
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Moca---0.1
% Problem : BOO006-2 : TPTP v8.1.0. Released v1.0.0.
% Transfm : none
% Format : tptp:raw
% Command : moca.sh %s
% Computer : n020.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 : Thu Jul 14 23:46:16 EDT 2022
% Result : Unsatisfiable 0.80s 1.01s
% Output : Proof 0.80s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.11 % Problem : BOO006-2 : TPTP v8.1.0. Released v1.0.0.
% 0.03/0.12 % Command : moca.sh %s
% 0.12/0.33 % Computer : n020.cluster.edu
% 0.12/0.33 % Model : x86_64 x86_64
% 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33 % Memory : 8042.1875MB
% 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33 % CPULimit : 300
% 0.12/0.33 % WCLimit : 600
% 0.12/0.33 % DateTime : Wed Jun 1 20:41:53 EDT 2022
% 0.12/0.33 % CPUTime :
% 0.80/1.01 % SZS status Unsatisfiable
% 0.80/1.01 % SZS output start Proof
% 0.80/1.01 The input problem is unsatisfiable because
% 0.80/1.01
% 0.80/1.01 [1] the following set of Horn clauses is unsatisfiable:
% 0.80/1.01
% 0.80/1.01 add(X, Y) = add(Y, X)
% 0.80/1.01 multiply(X, Y) = multiply(Y, X)
% 0.80/1.01 add(multiply(X, Y), Z) = multiply(add(X, Z), add(Y, Z))
% 0.80/1.01 add(X, multiply(Y, Z)) = multiply(add(X, Y), add(X, Z))
% 0.80/1.01 multiply(add(X, Y), Z) = add(multiply(X, Z), multiply(Y, Z))
% 0.80/1.01 multiply(X, add(Y, Z)) = add(multiply(X, Y), multiply(X, Z))
% 0.80/1.01 add(X, inverse(X)) = multiplicative_identity
% 0.80/1.01 add(inverse(X), X) = multiplicative_identity
% 0.80/1.01 multiply(X, inverse(X)) = additive_identity
% 0.80/1.01 multiply(inverse(X), X) = additive_identity
% 0.80/1.01 multiply(X, multiplicative_identity) = X
% 0.80/1.01 multiply(multiplicative_identity, X) = X
% 0.80/1.01 add(X, additive_identity) = X
% 0.80/1.01 add(additive_identity, X) = X
% 0.80/1.01 multiply(a, additive_identity) = additive_identity ==> \bottom
% 0.80/1.01
% 0.80/1.01 This holds because
% 0.80/1.01
% 0.80/1.01 [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)):
% 0.80/1.01
% 0.80/1.01 E:
% 0.80/1.01 add(X, Y) = add(Y, X)
% 0.80/1.01 add(X, additive_identity) = X
% 0.80/1.01 add(X, inverse(X)) = multiplicative_identity
% 0.80/1.01 add(X, multiply(Y, Z)) = multiply(add(X, Y), add(X, Z))
% 0.80/1.01 add(additive_identity, X) = X
% 0.80/1.01 add(inverse(X), X) = multiplicative_identity
% 0.80/1.01 add(multiply(X, Y), Z) = multiply(add(X, Z), add(Y, Z))
% 0.80/1.01 f1(additive_identity) = false__
% 0.80/1.01 f1(multiply(a, additive_identity)) = true__
% 0.80/1.01 multiply(X, Y) = multiply(Y, X)
% 0.80/1.01 multiply(X, add(Y, Z)) = add(multiply(X, Y), multiply(X, Z))
% 0.80/1.01 multiply(X, inverse(X)) = additive_identity
% 0.80/1.01 multiply(X, multiplicative_identity) = X
% 0.80/1.01 multiply(add(X, Y), Z) = add(multiply(X, Z), multiply(Y, Z))
% 0.80/1.01 multiply(inverse(X), X) = additive_identity
% 0.80/1.01 multiply(multiplicative_identity, X) = X
% 0.80/1.01 G:
% 0.80/1.01 true__ = false__
% 0.80/1.01
% 0.80/1.01 This holds because
% 0.80/1.01
% 0.80/1.01 [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS:
% 0.80/1.01
% 0.80/1.01 add(X, Y) = add(Y, X)
% 0.80/1.01 multiply(X, Y) = multiply(Y, X)
% 0.80/1.01 multiply(add(Y0, Y0), add(Y0, Y2)) = multiply(Y0, add(multiplicative_identity, Y2))
% 0.80/1.01 add(X, additive_identity) -> X
% 0.80/1.01 add(X, inverse(X)) -> multiplicative_identity
% 0.80/1.01 add(X, multiply(Y, Z)) -> multiply(add(X, Y), add(X, Z))
% 0.80/1.01 add(Y0, Y0) -> Y0
% 0.80/1.01 add(Y0, multiplicative_identity) -> multiplicative_identity
% 0.80/1.01 add(additive_identity, X) -> X
% 0.80/1.01 add(inverse(X), X) -> multiplicative_identity
% 0.80/1.01 add(multiplicative_identity, Y1) -> multiplicative_identity
% 0.80/1.01 add(multiplicative_identity, inverse(Y0)) -> multiplicative_identity
% 0.80/1.01 add(multiply(X, Y), Z) -> multiply(add(X, Z), add(Y, Z))
% 0.80/1.01 add(multiply(X, Y), multiply(X, Z)) -> multiply(X, add(Y, Z))
% 0.80/1.01 add(multiply(X, Z), multiply(Y, Z)) -> multiply(add(X, Y), Z)
% 0.80/1.01 f1(additive_identity) -> false__
% 0.80/1.01 f1(multiply(a, additive_identity)) -> true__
% 0.80/1.01 f1(multiply(additive_identity, a)) -> true__
% 0.80/1.01 inverse(additive_identity) -> multiplicative_identity
% 0.80/1.01 inverse(multiplicative_identity) -> additive_identity
% 0.80/1.01 multiply(X, inverse(X)) -> additive_identity
% 0.80/1.01 multiply(X, multiplicative_identity) -> X
% 0.80/1.01 multiply(Y0, Y0) -> Y0
% 0.80/1.01 multiply(Y0, add(Y0, Y0)) -> Y0
% 0.80/1.01 multiply(Y0, add(Y0, Y1)) -> Y0
% 0.80/1.01 multiply(Y0, add(Y0, multiplicative_identity)) -> Y0
% 0.80/1.01 multiply(Y0, add(Y1, Y0)) -> Y0
% 0.80/1.01 multiply(Y1, add(multiplicative_identity, Y1)) -> Y1
% 0.80/1.01 multiply(Y1, additive_identity) -> additive_identity
% 0.80/1.01 multiply(Y1, multiply(Y2, add(Y1, Y2))) -> multiply(Y1, Y2)
% 0.80/1.01 multiply(add(Y0, Y0), add(Y0, Y2)) -> Y0
% 0.80/1.01 multiply(add(Y0, Y0), add(Y1, Y0)) -> Y0
% 0.80/1.01 multiply(add(Y0, Y1), add(Y0, multiplicative_identity)) -> add(Y0, Y1)
% 0.80/1.01 multiply(add(Y0, Y2), add(multiplicative_identity, Y2)) -> add(Y0, Y2)
% 0.80/1.01 multiply(add(Y0, inverse(multiply(Y0, Y1))), add(Y1, inverse(multiply(Y0, Y1)))) -> multiplicative_identity
% 0.80/1.01 multiply(add(Y0, multiplicative_identity), add(Y0, Y2)) -> add(Y0, Y2)
% 0.80/1.01 multiply(add(Y1, Y2), add(Y1, Y1)) -> Y1
% 0.80/1.01 multiply(add(multiplicative_identity, Y2), add(Y1, Y2)) -> add(Y1, Y2)
% 0.80/1.01 multiply(additive_identity, Y0) -> additive_identity
% 0.80/1.01 multiply(additive_identity, add(multiplicative_identity, Y1)) -> multiply(additive_identity, Y1)
% 0.80/1.01 multiply(additive_identity, additive_identity) -> additive_identity
% 0.80/1.01 multiply(inverse(X), X) -> additive_identity
% 0.80/1.01 multiply(multiplicative_identity, X) -> X
% 0.80/1.01 true__ -> false__
% 0.80/1.01 with the LPO induced by
% 0.80/1.01 a > f1 > inverse > additive_identity > multiplicative_identity > add > multiply > true__ > false__
% 0.80/1.01
% 0.80/1.01 % SZS output end Proof
% 0.80/1.01
%------------------------------------------------------------------------------