%------------------------------------------------------------------------------ % File : Moca---0.1 % Problem : BOO012-2 : TPTP v8.1.0. Released v1.0.0. % Transfm : none % Format : tptp:raw % Command : moca.sh %s % Computer : n032.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:23 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.00/0.09 % Problem : BOO012-2 : TPTP v8.1.0. Released v1.0.0. % 0.00/0.09 % Command : moca.sh %s % 0.09/0.28 % Computer : n032.cluster.edu % 0.09/0.28 % Model : x86_64 x86_64 % 0.09/0.28 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.09/0.28 % Memory : 8042.1875MB % 0.09/0.28 % OS : Linux 3.10.0-693.el7.x86_64 % 0.09/0.28 % CPULimit : 300 % 0.09/0.28 % WCLimit : 600 % 0.09/0.28 % DateTime : Wed Jun 1 15:37:59 EDT 2022 % 0.09/0.28 % 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 add(X, Y) = add(Y, X) % 5.40/5.50 multiply(X, Y) = multiply(Y, X) % 5.40/5.50 add(multiply(X, Y), Z) = multiply(add(X, Z), add(Y, Z)) % 5.40/5.50 add(X, multiply(Y, Z)) = multiply(add(X, Y), add(X, Z)) % 5.40/5.50 multiply(add(X, Y), Z) = add(multiply(X, Z), multiply(Y, Z)) % 5.40/5.50 multiply(X, add(Y, Z)) = add(multiply(X, Y), multiply(X, Z)) % 5.40/5.50 add(X, inverse(X)) = multiplicative_identity % 5.40/5.50 add(inverse(X), X) = multiplicative_identity % 5.40/5.50 multiply(X, inverse(X)) = additive_identity % 5.40/5.50 multiply(inverse(X), X) = additive_identity % 5.40/5.50 multiply(X, multiplicative_identity) = X % 5.40/5.50 multiply(multiplicative_identity, X) = X % 5.40/5.50 add(X, additive_identity) = X % 5.40/5.50 add(additive_identity, X) = X % 5.40/5.50 inverse(inverse(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 add(X, Y) = add(Y, X) % 5.40/5.50 add(X, additive_identity) = X % 5.40/5.50 add(X, inverse(X)) = multiplicative_identity % 5.40/5.50 add(X, multiply(Y, Z)) = multiply(add(X, Y), add(X, Z)) % 5.40/5.50 add(additive_identity, X) = X % 5.40/5.50 add(inverse(X), X) = multiplicative_identity % 5.40/5.50 add(multiply(X, Y), Z) = multiply(add(X, Z), add(Y, Z)) % 5.40/5.50 f1(inverse(inverse(x))) = true__ % 5.40/5.50 f1(x) = false__ % 5.40/5.50 multiply(X, Y) = multiply(Y, X) % 5.40/5.50 multiply(X, add(Y, Z)) = add(multiply(X, Y), multiply(X, Z)) % 5.40/5.50 multiply(X, inverse(X)) = additive_identity % 5.40/5.50 multiply(X, multiplicative_identity) = X % 5.40/5.50 multiply(add(X, Y), Z) = add(multiply(X, Z), multiply(Y, Z)) % 5.40/5.50 multiply(inverse(X), X) = additive_identity % 5.40/5.50 multiply(multiplicative_identity, 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 add(X, Y) = add(Y, X) % 5.40/5.50 multiply(X, Y) = multiply(Y, X) % 5.40/5.50 multiply(Y1, multiply(add(Y0, Y1), add(Y0, Y2))) = multiply(add(Y0, Y2), Y1) % 5.40/5.50 multiply(add(Y0, Y0), add(Y0, Y2)) = multiply(Y0, add(multiplicative_identity, Y2)) % 5.40/5.50 multiply(inverse(Y0), add(Y0, Y1)) = multiply(Y1, inverse(Y0)) % 5.40/5.50 multiply(inverse(Y1), add(Y0, Y1)) = multiply(Y0, inverse(Y1)) % 5.40/5.50 add(X, additive_identity) -> X % 5.40/5.50 add(X, inverse(X)) -> multiplicative_identity % 5.40/5.50 add(X, multiply(Y, Z)) -> multiply(add(X, Y), add(X, Z)) % 5.40/5.50 add(Y0, Y0) -> Y0 % 5.40/5.50 add(Y0, inverse(inverse(Y0))) -> Y0 % 5.40/5.50 add(Y0, inverse(inverse(Y0))) -> inverse(inverse(Y0)) % 5.40/5.50 add(Y0, multiplicative_identity) -> multiplicative_identity % 5.40/5.50 add(additive_identity, X) -> X % 5.40/5.50 add(inverse(X), X) -> multiplicative_identity % 5.40/5.50 add(multiplicative_identity, Y1) -> multiplicative_identity % 5.40/5.50 add(multiplicative_identity, inverse(Y0)) -> multiplicative_identity % 5.40/5.50 add(multiply(X, Y), Z) -> multiply(add(X, Z), add(Y, Z)) % 5.40/5.50 add(multiply(X, Y), multiply(X, Z)) -> multiply(X, add(Y, Z)) % 5.40/5.50 add(multiply(X, Z), multiply(Y, Z)) -> multiply(add(X, Y), Z) % 5.40/5.50 f1(inverse(inverse(x))) -> true__ % 5.40/5.50 f1(x) -> false__ % 5.40/5.50 inverse(additive_identity) -> multiplicative_identity % 5.40/5.50 inverse(inverse(Y0)) -> Y0 % 5.40/5.50 inverse(multiplicative_identity) -> additive_identity % 5.40/5.50 multiply(X, inverse(X)) -> additive_identity % 5.40/5.50 multiply(X, multiplicative_identity) -> X % 5.40/5.50 multiply(Y0, Y0) -> Y0 % 5.40/5.50 multiply(Y0, add(Y0, Y0)) -> Y0 % 5.40/5.50 multiply(Y0, add(Y0, Y1)) -> Y0 % 5.40/5.50 multiply(Y0, add(Y0, multiplicative_identity)) -> Y0 % 5.40/5.50 multiply(Y0, add(Y1, Y0)) -> Y0 % 5.40/5.50 multiply(Y0, add(Y1, inverse(Y0))) -> multiply(Y0, Y1) % 5.40/5.50 multiply(Y0, add(inverse(Y0), Y2)) -> multiply(Y0, Y2) % 5.40/5.50 multiply(Y0, inverse(inverse(Y0))) -> Y0 % 5.40/5.50 multiply(Y0, inverse(inverse(inverse(Y0)))) -> additive_identity % 5.40/5.50 multiply(Y0, multiply(add(Y1, Y0), add(Y1, Y2))) -> multiply(Y0, add(Y1, Y2)) % 5.40/5.50 multiply(Y0, multiply(add(Y1, Y2), add(Y1, Y0))) -> multiply(Y0, add(Y1, Y2)) % 5.40/5.50 multiply(Y1, add(multiplicative_identity, Y1)) -> Y1 % 5.40/5.50 multiply(Y1, additive_identity) -> additive_identity % 5.40/5.50 multiply(Y1, inverse(inverse(Y1))) -> inverse(inverse(Y1)) % 5.40/5.50 multiply(Y1, multiply(add(Y0, Y2), add(Y0, Y1))) -> multiply(add(Y0, Y2), Y1) % 5.40/5.50 multiply(add(Y0, Y0), add(Y0, Y2)) -> Y0 % 5.40/5.50 multiply(add(Y0, Y0), add(Y1, Y0)) -> Y0 % 5.40/5.50 multiply(add(Y0, Y1), add(Y0, inverse(Y1))) -> Y0 % 5.40/5.50 multiply(add(Y0, Y1), add(Y0, multiplicative_identity)) -> add(Y0, Y1) % 5.40/5.50 multiply(add(Y0, Y1), add(Y1, Y1)) -> Y1 % 5.40/5.50 multiply(add(Y0, Y1), add(Y1, inverse(Y0))) -> Y1 % 5.40/5.50 multiply(add(Y0, Y2), add(inverse(Y0), Y2)) -> Y2 % 5.40/5.50 multiply(add(Y0, Y2), add(multiplicative_identity, Y2)) -> add(Y0, Y2) % 5.40/5.50 multiply(add(Y0, Y2), inverse(Y0)) -> multiply(Y2, inverse(Y0)) % 5.40/5.50 multiply(add(Y0, Y2), inverse(Y2)) -> multiply(Y0, inverse(Y2)) % 5.40/5.50 multiply(add(Y0, inverse(multiply(Y0, Y1))), add(Y1, inverse(multiply(Y0, Y1)))) -> multiplicative_identity % 5.40/5.50 multiply(add(Y0, multiplicative_identity), add(Y0, Y2)) -> add(Y0, Y2) % 5.40/5.50 multiply(add(Y1, Y2), add(Y1, Y1)) -> Y1 % 5.40/5.50 multiply(add(multiplicative_identity, Y2), add(Y1, Y2)) -> add(Y1, Y2) % 5.40/5.50 multiply(additive_identity, Y0) -> additive_identity % 5.40/5.50 multiply(additive_identity, add(multiplicative_identity, Y1)) -> multiply(additive_identity, Y1) % 5.40/5.50 multiply(additive_identity, additive_identity) -> additive_identity % 5.40/5.50 multiply(inverse(X), X) -> additive_identity % 5.40/5.50 multiply(inverse(X0), add(X0, Y1)) -> multiply(inverse(X0), Y1) % 5.40/5.50 multiply(inverse(X0), add(Y1, X0)) -> multiply(inverse(X0), Y1) % 5.40/5.50 multiply(inverse(Y0), inverse(inverse(inverse(Y0)))) -> inverse(inverse(inverse(Y0))) % 5.40/5.50 multiply(multiplicative_identity, X) -> X % 5.40/5.50 true__ -> false__ % 5.40/5.50 with the LPO induced by % 5.40/5.50 x > f1 > inverse > additive_identity > multiplicative_identity > add > multiply > true__ > false__ % 5.40/5.50 % 5.40/5.50 % SZS output end Proof % 5.40/5.50 %------------------------------------------------------------------------------