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