%------------------------------------------------------------------------------ % File : Moca---0.1 % Problem : GRP525-1 : TPTP v8.1.0. Released v2.6.0. % Transfm : none % Format : tptp:raw % Command : moca.sh %s % Computer : n006.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:01 EDT 2022 % Result : Unsatisfiable 1.98s 2.12s % Output : Proof 1.98s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.12 % Problem : GRP525-1 : TPTP v8.1.0. Released v2.6.0. % 0.12/0.13 % Command : moca.sh %s % 0.12/0.34 % Computer : n006.cluster.edu % 0.12/0.34 % Model : x86_64 x86_64 % 0.12/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.12/0.34 % Memory : 8042.1875MB % 0.12/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.12/0.34 % CPULimit : 300 % 0.12/0.34 % WCLimit : 600 % 0.12/0.34 % DateTime : Mon Jun 13 08:46:27 EDT 2022 % 0.12/0.35 % CPUTime : % 1.98/2.12 % SZS status Unsatisfiable % 1.98/2.12 % SZS output start Proof % 1.98/2.12 The input problem is unsatisfiable because % 1.98/2.12 % 1.98/2.12 [1] the following set of Horn clauses is unsatisfiable: % 1.98/2.12 % 1.98/2.12 divide(A, divide(divide(A, B), divide(C, B))) = C % 1.98/2.12 multiply(A, B) = divide(A, divide(divide(C, C), B)) % 1.98/2.12 inverse(A) = divide(divide(B, B), A) % 1.98/2.12 multiply(inverse(a1), a1) = multiply(inverse(b1), b1) ==> \bottom % 1.98/2.12 % 1.98/2.12 This holds because % 1.98/2.12 % 1.98/2.12 [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)): % 1.98/2.12 % 1.98/2.12 E: % 1.98/2.12 divide(A, divide(divide(A, B), divide(C, B))) = C % 1.98/2.12 f1(multiply(inverse(a1), a1)) = true__ % 1.98/2.12 f1(multiply(inverse(b1), b1)) = false__ % 1.98/2.12 inverse(A) = divide(divide(B, B), A) % 1.98/2.12 multiply(A, B) = divide(A, divide(divide(C, C), B)) % 1.98/2.12 G: % 1.98/2.12 true__ = false__ % 1.98/2.12 % 1.98/2.12 This holds because % 1.98/2.12 % 1.98/2.12 [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS: % 1.98/2.12 % 1.98/2.12 % 1.98/2.12 divide(A, divide(divide(A, B), divide(C, B))) -> C % 1.98/2.12 divide(X1, X1) -> g1 % 1.98/2.12 divide(Y0, divide(divide(Y0, Y1), inverse(Y1))) -> g1 % 1.98/2.12 divide(Y0, g1) -> Y0 % 1.98/2.12 divide(Y0, inverse(divide(X1, inverse(inverse(X1))))) -> Y0 % 1.98/2.12 divide(Y0, inverse(inverse(Y0))) -> g1 % 1.98/2.12 divide(Y1, inverse(divide(Y2, Y1))) -> Y2 % 1.98/2.12 divide(divide(B, B), A) -> inverse(A) % 1.98/2.12 divide(divide(X1, inverse(inverse(X1))), Y1) -> inverse(Y1) % 1.98/2.12 divide(divide(Y0, divide(X2, X1)), X1) -> divide(Y0, X2) % 1.98/2.12 divide(g1, Y1) -> inverse(Y1) % 1.98/2.12 divide(inverse(divide(X0, X0)), Y1) -> inverse(Y1) % 1.98/2.12 divide(inverse(divide(X1, Y1)), inverse(X1)) -> Y1 % 1.98/2.12 divide(inverse(divide(g1, Y1)), g1) -> Y1 % 1.98/2.12 divide(inverse(inverse(Y1)), g1) -> Y1 % 1.98/2.12 divide(inverse(inverse(Y1)), inverse(divide(X1, X1))) -> Y1 % 1.98/2.12 divide(inverse(inverse(divide(X0, X0))), Y1) -> inverse(Y1) % 1.98/2.12 f1(divide(X1, inverse(inverse(X1)))) -> false__ % 1.98/2.12 f1(divide(X1, inverse(inverse(X1)))) -> true__ % 1.98/2.12 f1(divide(inverse(a1), inverse(a1))) -> true__ % 1.98/2.12 f1(g1) -> false__ % 1.98/2.12 f1(g1) -> true__ % 1.98/2.12 f1(multiply(inverse(a1), a1)) -> true__ % 1.98/2.12 f1(multiply(inverse(b1), b1)) -> false__ % 1.98/2.12 inverse(divide(g1, divide(Y1, g1))) -> Y1 % 1.98/2.12 inverse(divide(inverse(Y0), g1)) -> Y0 % 1.98/2.12 inverse(divide(inverse(Y1), divide(Y2, Y1))) -> Y2 % 1.98/2.12 inverse(divide(inverse(inverse(divide(X1, Y1))), X1)) -> Y1 % 1.98/2.12 inverse(g1) -> g1 % 1.98/2.12 inverse(inverse(divide(X1, divide(Y0, Y0)))) -> X1 % 1.98/2.12 inverse(inverse(divide(X1, inverse(divide(Y0, Y0))))) -> X1 % 1.98/2.12 multiply(A, B) -> divide(A, inverse(B)) % 1.98/2.12 true__ -> false__ % 1.98/2.12 with the LPO induced by % 1.98/2.12 a1 > b1 > multiply > divide > g1 > f1 > inverse > true__ > false__ % 1.98/2.12 % 1.98/2.12 % SZS output end Proof % 1.98/2.12 %------------------------------------------------------------------------------