%------------------------------------------------------------------------------ % File : Moca---0.1 % Problem : GRP540-1 : TPTP v8.1.0. Bugfixed v2.7.0. % Transfm : none % Format : tptp:raw % Command : moca.sh %s % Computer : n019.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:56:08 EDT 2022 % Result : Unsatisfiable 2.52s 2.61s % Output : Proof 2.52s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.03/0.12 % Problem : GRP540-1 : TPTP v8.1.0. Bugfixed v2.7.0. % 0.03/0.13 % Command : moca.sh %s % 0.13/0.34 % Computer : n019.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 : Tue Jun 14 12:25:09 EDT 2022 % 0.13/0.34 % CPUTime : % 2.52/2.61 % SZS status Unsatisfiable % 2.52/2.61 % SZS output start Proof % 2.52/2.61 The input problem is unsatisfiable because % 2.52/2.61 % 2.52/2.61 [1] the following set of Horn clauses is unsatisfiable: % 2.52/2.61 % 2.52/2.61 divide(divide(A, B), divide(divide(A, C), B)) = C % 2.52/2.61 multiply(A, B) = divide(A, divide(divide(C, C), B)) % 2.52/2.61 inverse(A) = divide(divide(B, B), A) % 2.52/2.61 identity = divide(A, A) % 2.52/2.61 multiply(a, b) = multiply(b, a) ==> \bottom % 2.52/2.61 % 2.52/2.61 This holds because % 2.52/2.61 % 2.52/2.61 [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)): % 2.52/2.61 % 2.52/2.61 E: % 2.52/2.61 divide(divide(A, B), divide(divide(A, C), B)) = C % 2.52/2.61 f1(multiply(a, b)) = true__ % 2.52/2.61 f1(multiply(b, a)) = false__ % 2.52/2.61 identity = divide(A, A) % 2.52/2.61 inverse(A) = divide(divide(B, B), A) % 2.52/2.61 multiply(A, B) = divide(A, divide(divide(C, C), B)) % 2.52/2.61 G: % 2.52/2.61 true__ = false__ % 2.52/2.61 % 2.52/2.61 This holds because % 2.52/2.61 % 2.52/2.61 [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS: % 2.52/2.61 % 2.52/2.61 divide(Y0, X0) = divide(inverse(X0), inverse(Y0)) % 2.52/2.61 divide(Y0, X1) = inverse(divide(X1, Y0)) % 2.52/2.61 divide(Y0, inverse(X0)) = divide(X0, inverse(Y0)) % 2.52/2.61 divide(A, A) -> identity % 2.52/2.61 divide(X0, inverse(divide(Y0, X0))) -> Y0 % 2.52/2.61 divide(X2, divide(divide(divide(X0, X1), Y2), divide(divide(X0, X2), X1))) -> Y2 % 2.52/2.61 divide(Y0, divide(Y0, Y1)) -> Y1 % 2.52/2.61 divide(Y0, divide(divide(Y1, Y3), divide(Y1, Y0))) -> Y3 % 2.52/2.61 divide(Y0, divide(divide(divide(Y0, Y2), Y3), divide(identity, Y2))) -> Y3 % 2.52/2.61 divide(Y0, divide(divide(identity, Y3), divide(divide(Y2, Y0), Y2))) -> Y3 % 2.52/2.61 divide(Y0, divide(identity, divide(divide(Y1, Y0), Y2))) -> divide(Y1, Y2) % 2.52/2.61 divide(Y0, divide(inverse(Y1), inverse(Y0))) -> Y1 % 2.52/2.61 divide(Y0, identity) -> Y0 % 2.52/2.61 divide(Y1, divide(X0, inverse(Y1))) -> inverse(X0) % 2.52/2.61 divide(divide(X0, X1), X0) -> inverse(X1) % 2.52/2.61 divide(divide(Y0, Y1), divide(X1, Y1)) -> divide(Y0, X1) % 2.52/2.61 divide(divide(Y0, divide(divide(Y0, Y2), X1)), X1) -> Y2 % 2.52/2.61 divide(divide(Y0, inverse(X1)), X1) -> Y0 % 2.52/2.61 divide(divide(Y1, X1), inverse(X1)) -> Y1 % 2.52/2.61 divide(identity, Y1) -> inverse(Y1) % 2.52/2.61 divide(inverse(X0), inverse(divide(X0, X1))) -> inverse(X1) % 2.52/2.61 divide(inverse(X0), inverse(divide(X0, inverse(Y1)))) -> Y1 % 2.52/2.61 divide(inverse(X1), divide(X0, X1)) -> inverse(X0) % 2.52/2.61 f1(divide(a, divide(identity, b))) -> true__ % 2.52/2.61 f1(divide(b, inverse(a))) -> false__ % 2.52/2.61 f1(divide(b, inverse(a))) -> true__ % 2.52/2.61 f1(inverse(divide(inverse(b), a))) -> true__ % 2.52/2.61 f1(multiply(a, b)) -> true__ % 2.52/2.61 inverse(divide(X0, divide(Y0, inverse(X0)))) -> Y0 % 2.52/2.61 inverse(divide(Y1, inverse(divide(inverse(Y1), Y0)))) -> Y0 % 2.52/2.61 inverse(divide(inverse(Y1), divide(Y0, Y1))) -> Y0 % 2.52/2.61 inverse(identity) -> identity % 2.52/2.61 inverse(inverse(X1)) -> X1 % 2.52/2.61 multiply(Y0, Y2) -> divide(Y0, inverse(Y2)) % 2.52/2.61 true__ -> false__ % 2.52/2.61 with the LPO induced by % 2.52/2.61 a > b > f1 > multiply > divide > inverse > identity > true__ > false__ % 2.52/2.61 % 2.52/2.61 % SZS output end Proof % 2.52/2.61 %------------------------------------------------------------------------------