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