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