%------------------------------------------------------------------------------ % File : Moca---0.1 % Problem : RNG008-4 : TPTP v8.1.0. Released v1.0.0. % Transfm : none % Format : tptp:raw % Command : moca.sh %s % Computer : n026.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 : Mon Jul 18 20:36:09 EDT 2022 % Result : Unsatisfiable 54.75s 54.70s % Output : Proof 54.75s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.12/0.12 % Problem : RNG008-4 : TPTP v8.1.0. Released v1.0.0. % 0.12/0.13 % Command : moca.sh %s % 0.13/0.34 % Computer : n026.cluster.edu % 0.13/0.34 % Model : x86_64 x86_64 % 0.13/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.13/0.34 % Memory : 8042.1875MB % 0.13/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.13/0.34 % CPULimit : 300 % 0.13/0.34 % WCLimit : 600 % 0.13/0.34 % DateTime : Mon May 30 12:37:10 EDT 2022 % 0.13/0.34 % CPUTime : % 54.75/54.70 % SZS status Unsatisfiable % 54.75/54.70 % SZS output start Proof % 54.75/54.70 The input problem is unsatisfiable because % 54.75/54.70 % 54.75/54.70 [1] the following set of Horn clauses is unsatisfiable: % 54.75/54.70 % 54.75/54.70 add(additive_identity, X) = X % 54.75/54.70 add(additive_inverse(X), X) = additive_identity % 54.75/54.70 multiply(X, add(Y, Z)) = add(multiply(X, Y), multiply(X, Z)) % 54.75/54.70 multiply(add(X, Y), Z) = add(multiply(X, Z), multiply(Y, Z)) % 54.75/54.70 additive_inverse(additive_identity) = additive_identity % 54.75/54.70 additive_inverse(additive_inverse(X)) = X % 54.75/54.70 multiply(X, additive_identity) = additive_identity % 54.75/54.70 multiply(additive_identity, X) = additive_identity % 54.75/54.70 additive_inverse(add(X, Y)) = add(additive_inverse(X), additive_inverse(Y)) % 54.75/54.70 multiply(X, additive_inverse(Y)) = additive_inverse(multiply(X, Y)) % 54.75/54.70 multiply(additive_inverse(X), Y) = additive_inverse(multiply(X, Y)) % 54.75/54.70 add(add(X, Y), Z) = add(X, add(Y, Z)) % 54.75/54.70 add(X, Y) = add(Y, X) % 54.75/54.70 multiply(multiply(X, Y), Z) = multiply(X, multiply(Y, Z)) % 54.75/54.70 multiply(X, X) = X % 54.75/54.70 multiply(a, b) = c % 54.75/54.70 multiply(b, a) = c ==> \bottom % 54.75/54.70 % 54.75/54.70 This holds because % 54.75/54.70 % 54.75/54.70 [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)): % 54.75/54.70 % 54.75/54.70 E: % 54.75/54.70 add(X, Y) = add(Y, X) % 54.75/54.70 add(add(X, Y), Z) = add(X, add(Y, Z)) % 54.75/54.70 add(additive_identity, X) = X % 54.75/54.70 add(additive_inverse(X), X) = additive_identity % 54.75/54.70 additive_inverse(add(X, Y)) = add(additive_inverse(X), additive_inverse(Y)) % 54.75/54.70 additive_inverse(additive_identity) = additive_identity % 54.75/54.70 additive_inverse(additive_inverse(X)) = X % 54.75/54.70 f1(c) = false__ % 54.75/54.70 f1(multiply(b, a)) = true__ % 54.75/54.70 multiply(X, X) = X % 54.75/54.70 multiply(X, add(Y, Z)) = add(multiply(X, Y), multiply(X, Z)) % 54.75/54.70 multiply(X, additive_identity) = additive_identity % 54.75/54.70 multiply(X, additive_inverse(Y)) = additive_inverse(multiply(X, Y)) % 54.75/54.70 multiply(a, b) = c % 54.75/54.70 multiply(add(X, Y), Z) = add(multiply(X, Z), multiply(Y, Z)) % 54.75/54.70 multiply(additive_identity, X) = additive_identity % 54.75/54.70 multiply(additive_inverse(X), Y) = additive_inverse(multiply(X, Y)) % 54.75/54.70 multiply(multiply(X, Y), Z) = multiply(X, multiply(Y, Z)) % 54.75/54.70 G: % 54.75/54.70 true__ = false__ % 54.75/54.70 % 54.75/54.70 This holds because % 54.75/54.70 % 54.75/54.70 [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS: % 54.75/54.70 % 54.75/54.70 add(X, Y) = add(Y, X) % 54.75/54.70 add(X1, add(X2, multiply(Y0, Y1))) = add(multiply(Y1, Y0), add(X1, X2)) % 54.75/54.70 add(Y0, add(X2, add(Y0, X1))) = add(X1, X2) % 54.75/54.70 add(Y0, add(Y2, Y1)) = add(Y1, add(Y2, Y0)) % 54.75/54.70 add(Y0, add(Y2, Y1)) = add(Y2, add(Y0, Y1)) % 54.75/54.70 add(Y0, add(multiply(X1, X0), Y2)) = add(multiply(X0, X1), add(Y2, Y0)) % 54.75/54.70 add(Y1, multiply(Y1, Y2)) = add(Y1, multiply(Y2, Y1)) % 54.75/54.70 add(Y2, add(Y0, Y1)) = add(Y0, add(Y1, Y2)) % 54.75/54.70 add(Y2, multiply(Y0, Y1)) = add(multiply(Y1, Y0), Y2) % 54.75/54.70 add(false__, add(Y1, add(false__, multiply(Y1, Y0)))) = add(false__, add(Y1, add(false__, multiply(Y0, Y1)))) % 54.75/54.70 add(false__, add(Y1, add(false__, multiply(Y1, Y2)))) = add(Y1, multiply(Y2, Y1)) % 54.75/54.70 add(multiply(X0, X1), Y1) = add(multiply(X1, X0), Y1) % 54.75/54.70 multiply(X0, X1) = multiply(X1, X0) % 54.75/54.70 multiply(X0, additive_inverse(Y1)) = multiply(additive_inverse(X0), Y1) % 54.75/54.70 multiply(Y1, multiply(Y0, Y2)) = multiply(Y0, multiply(Y1, Y2)) % 54.75/54.70 multiply(Y2, multiply(Y0, Y1)) = multiply(Y0, multiply(Y1, Y2)) % 54.75/54.70 add(X0, add(X1, add(multiply(X0, X1), multiply(X1, X0)))) -> add(X0, X1) % 54.75/54.70 add(X0, additive_inverse(X0)) -> additive_identity % 54.75/54.70 add(X1, add(multiply(X1, Y0), multiply(Y0, X1))) -> X1 % 54.75/54.70 add(X1, add(multiply(Y0, X1), multiply(X1, Y0))) -> X1 % 54.75/54.70 add(Y0, Y0) -> additive_identity % 54.75/54.70 add(Y0, add(X1, add(X2, Y0))) -> add(X1, X2) % 54.75/54.70 add(Y0, add(Y1, add(Y0, Y1))) -> additive_identity % 54.75/54.70 add(Y0, add(Y1, add(Y0, add(Y1, X1)))) -> X1 % 54.75/54.70 add(Y0, add(false__, add(Y0, Y2))) -> add(false__, Y2) % 54.75/54.70 add(Y0, add(multiply(Y0, X1), multiply(Y0, multiply(X1, Y0)))) -> Y0 % 54.75/54.70 add(Y0, add(multiply(Y0, Y1), add(Y1, multiply(Y1, Y0)))) -> add(Y0, Y1) % 54.75/54.70 add(Y1, add(Y1, Y2)) -> Y2 % 54.75/54.70 add(Y1, add(Y2, add(multiply(Y2, Y1), multiply(Y1, Y2)))) -> add(Y1, Y2) % 54.75/54.70 add(Y1, add(false__, Y1)) -> false__ % 54.75/54.70 add(Y1, add(multiply(Y2, Y1), add(Y2, multiply(Y1, Y2)))) -> add(Y1, Y2) % 54.75/54.70 add(Y1, additive_identity) -> Y1 % 54.75/54.70 add(Y1, multiply(Y1, multiply(X1, Y1))) -> add(false__, add(Y1, add(false__, multiply(Y1, X1)))) % 54.75/54.70 add(Y2, add(multiply(X1, X0), add(Y2, multiply(X0, X1)))) -> additive_identity % 54.75/54.70 add(add(X, Y), Z) -> add(X, add(Y, Z)) % 54.75/54.70 add(additive_identity, X) -> X % 54.75/54.70 add(additive_inverse(X), X) -> additive_identity % 54.75/54.70 add(additive_inverse(X0), add(additive_inverse(X1), add(X0, X1))) -> additive_identity % 54.75/54.70 add(additive_inverse(Y1), additive_inverse(Y1)) -> additive_identity % 54.75/54.70 add(false__, add(X0, add(false__, Y2))) -> add(X0, Y2) % 54.75/54.70 add(false__, add(Y1, false__)) -> Y1 % 54.75/54.70 add(multiply(X0, X1), add(Y0, multiply(X0, X1))) -> Y0 % 54.75/54.70 add(multiply(X0, X1), add(Y0, multiply(X1, X0))) -> Y0 % 54.75/54.70 add(multiply(X0, X1), add(multiply(X1, X0), Y0)) -> Y0 % 54.75/54.70 add(multiply(X0, X1), multiply(X0, additive_inverse(X1))) -> additive_identity % 54.75/54.70 add(multiply(X0, X1), multiply(additive_inverse(X0), X1)) -> additive_identity % 54.75/54.70 add(multiply(Y0, X1), add(multiply(Y1, X1), add(multiply(Y0, multiply(Y1, X1)), multiply(Y1, multiply(Y0, X1))))) -> add(multiply(Y0, X1), multiply(Y1, X1)) % 54.75/54.70 add(multiply(Y0, X1), multiply(X1, Y0)) -> additive_identity % 54.75/54.70 add(multiply(Y0, Y1), add(multiply(Y2, Y1), add(multiply(Y2, multiply(Y0, Y1)), multiply(Y0, multiply(Y2, Y1))))) -> add(multiply(Y0, Y1), multiply(Y2, Y1)) % 54.75/54.70 add(multiply(Y0, Y1), multiply(Y0, Y1)) -> additive_identity % 54.75/54.70 additive_inverse(X0) -> X0 % 54.75/54.70 additive_inverse(add(X, Y)) -> add(additive_inverse(X), additive_inverse(Y)) % 54.75/54.70 additive_inverse(additive_identity) -> additive_identity % 54.75/54.70 additive_inverse(additive_inverse(X)) -> X % 54.75/54.70 additive_inverse(multiply(X, Y)) -> multiply(X, additive_inverse(Y)) % 54.75/54.70 additive_inverse(multiply(X, Y)) -> multiply(additive_inverse(X), Y) % 54.75/54.70 c -> multiply(a, b) % 54.75/54.70 f1(c) -> false__ % 54.75/54.70 f1(multiply(a, b)) -> false__ % 54.75/54.70 f1(multiply(b, a)) -> true__ % 54.75/54.70 multiply(X, X) -> X % 54.75/54.70 multiply(X, add(Y, Z)) -> add(multiply(X, Y), multiply(X, Z)) % 54.75/54.70 multiply(X, additive_identity) -> additive_identity % 54.75/54.70 multiply(Y0, multiply(Y1, multiply(Y0, Y1))) -> multiply(Y0, Y1) % 54.75/54.70 multiply(Y0, multiply(Y1, multiply(Y0, multiply(Y1, X1)))) -> multiply(Y0, multiply(Y1, X1)) % 54.75/54.70 multiply(Y1, additive_inverse(Y1)) -> additive_inverse(Y1) % 54.75/54.70 multiply(Y1, multiply(X1, Y1)) -> multiply(Y1, X1) % 54.75/54.70 multiply(Y1, multiply(Y1, Y2)) -> multiply(Y1, Y2) % 54.75/54.70 multiply(add(X, Y), Z) -> add(multiply(X, Z), multiply(Y, Z)) % 54.75/54.70 multiply(additive_identity, X) -> additive_identity % 54.75/54.70 multiply(additive_inverse(X0), additive_inverse(X1)) -> multiply(X0, X1) % 54.75/54.70 multiply(additive_inverse(Y1), Y1) -> additive_inverse(Y1) % 54.75/54.70 multiply(multiply(X, Y), Z) -> multiply(X, multiply(Y, Z)) % 54.75/54.70 true__ -> false__ % 54.75/54.70 with the LPO induced by % 54.75/54.70 f1 > c > a > additive_inverse > multiply > add > additive_identity > b > true__ > false__ % 54.75/54.70 % 54.75/54.70 % SZS output end Proof % 54.75/54.70 %------------------------------------------------------------------------------