%------------------------------------------------------------------------------ % File : Moca---0.1 % Problem : GRP532-1 : TPTP v8.1.0. Bugfixed v2.7.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 : Sat Jul 16 10:56:04 EDT 2022 % Result : Unsatisfiable 2.14s 2.27s % Output : Proof 2.14s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.11 % Problem : GRP532-1 : TPTP v8.1.0. Bugfixed v2.7.0. % 0.00/0.12 % Command : moca.sh %s % 0.11/0.31 % Computer : n032.cluster.edu % 0.11/0.31 % Model : x86_64 x86_64 % 0.11/0.31 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.11/0.31 % Memory : 8042.1875MB % 0.11/0.31 % OS : Linux 3.10.0-693.el7.x86_64 % 0.11/0.31 % CPULimit : 300 % 0.11/0.31 % WCLimit : 600 % 0.11/0.31 % DateTime : Mon Jun 13 23:49:57 EDT 2022 % 0.11/0.31 % CPUTime : % 2.14/2.27 % SZS status Unsatisfiable % 2.14/2.27 % SZS output start Proof % 2.14/2.27 The input problem is unsatisfiable because % 2.14/2.27 % 2.14/2.27 [1] the following set of Horn clauses is unsatisfiable: % 2.14/2.27 % 2.14/2.27 divide(divide(A, divide(B, C)), divide(A, B)) = C % 2.14/2.27 multiply(A, B) = divide(A, divide(divide(C, C), B)) % 2.14/2.27 inverse(A) = divide(divide(B, B), A) % 2.14/2.27 multiply(a, b) = multiply(b, a) ==> \bottom % 2.14/2.27 % 2.14/2.27 This holds because % 2.14/2.27 % 2.14/2.27 [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)): % 2.14/2.27 % 2.14/2.27 E: % 2.14/2.27 divide(divide(A, divide(B, C)), divide(A, B)) = C % 2.14/2.27 f1(multiply(a, b)) = true__ % 2.14/2.27 f1(multiply(b, a)) = false__ % 2.14/2.27 inverse(A) = divide(divide(B, B), A) % 2.14/2.27 multiply(A, B) = divide(A, divide(divide(C, C), B)) % 2.14/2.27 G: % 2.14/2.27 true__ = false__ % 2.14/2.27 % 2.14/2.27 This holds because % 2.14/2.27 % 2.14/2.27 [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS: % 2.14/2.27 % 2.14/2.27 divide(X1, Y0) = divide(g1, divide(Y0, X1)) % 2.14/2.27 divide(X1, divide(Y1, divide(g1, X1))) = divide(g1, Y1) % 2.14/2.27 divide(X1, divide(g1, Y1)) = divide(Y1, divide(g1, X1)) % 2.14/2.27 divide(divide(Y0, X1), divide(Y0, Y1)) = divide(Y1, X1) % 2.14/2.27 divide(X2, divide(divide(Y1, divide(Y2, X2)), Y1)) -> Y2 % 2.14/2.27 divide(Y0, Y0) -> g1 % 2.14/2.27 divide(Y0, divide(g1, divide(Y1, Y0))) -> Y1 % 2.14/2.27 divide(Y0, g1) -> Y0 % 2.14/2.27 divide(Y1, divide(Y1, Y2)) -> Y2 % 2.14/2.27 divide(divide(A, divide(B, C)), divide(A, B)) -> C % 2.14/2.27 divide(divide(X0, X1), X0) -> divide(g1, X1) % 2.14/2.27 divide(divide(Y0, inverse(Y2)), divide(Y0, divide(X0, X0))) -> Y2 % 2.14/2.27 divide(divide(Y1, X1), divide(g1, X1)) -> Y1 % 2.14/2.27 divide(divide(g1, X1), divide(Y1, X1)) -> divide(g1, Y1) % 2.14/2.27 divide(divide(g1, X1), divide(g1, Y0)) -> divide(g1, divide(X1, Y0)) % 2.14/2.27 divide(divide(g1, divide(divide(g1, Y0), Y1)), Y0) -> Y1 % 2.14/2.27 divide(g1, divide(X1, divide(Y0, divide(divide(Y0, X1), Y2)))) -> Y2 % 2.14/2.27 divide(g1, divide(X1, divide(Y0, divide(g1, X1)))) -> Y0 % 2.14/2.27 divide(g1, divide(X1, divide(g1, divide(divide(g1, X1), Y1)))) -> Y1 % 2.14/2.27 divide(g1, divide(X2, divide(X0, divide(X1, X2)))) -> divide(X0, X1) % 2.14/2.27 divide(g1, divide(divide(g1, X1), Y0)) -> divide(X1, divide(g1, Y0)) % 2.14/2.27 divide(inverse(divide(divide(divide(X0, X1), X0), Y1)), X1) -> Y1 % 2.14/2.27 f1(divide(a, divide(g1, b))) -> true__ % 2.14/2.27 f1(divide(b, divide(g1, a))) -> false__ % 2.14/2.27 f1(divide(g1, divide(divide(g1, b), a))) -> true__ % 2.14/2.27 f1(multiply(a, b)) -> true__ % 2.14/2.27 f1(multiply(b, a)) -> false__ % 2.14/2.27 inverse(Y1) -> divide(g1, Y1) % 2.14/2.27 inverse(divide(X1, inverse(Y0))) -> divide(divide(g1, X1), Y0) % 2.14/2.27 inverse(divide(divide(Y1, Y2), Y1)) -> Y2 % 2.14/2.27 multiply(A, B) -> divide(A, divide(g1, B)) % 2.14/2.27 true__ -> false__ % 2.14/2.27 with the LPO induced by % 2.14/2.27 a > b > multiply > f1 > inverse > divide > g1 > true__ > false__ % 2.14/2.27 % 2.14/2.27 % SZS output end Proof % 2.14/2.27 %------------------------------------------------------------------------------