%------------------------------------------------------------------------------ % File : Moca---0.1 % Problem : GRP671-1 : TPTP v8.1.0. Released v4.0.0. % Transfm : none % Format : tptp:raw % Command : moca.sh %s % Computer : n014.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:57:42 EDT 2022 % Result : Unsatisfiable 4.23s 4.30s % Output : Proof 4.23s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.06/0.11 % Problem : GRP671-1 : TPTP v8.1.0. Released v4.0.0. % 0.06/0.12 % Command : moca.sh %s % 0.12/0.33 % Computer : n014.cluster.edu % 0.12/0.33 % Model : x86_64 x86_64 % 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.12/0.33 % Memory : 8042.1875MB % 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64 % 0.12/0.33 % CPULimit : 300 % 0.12/0.33 % WCLimit : 600 % 0.12/0.33 % DateTime : Mon Jun 13 08:46:52 EDT 2022 % 0.12/0.33 % CPUTime : % 4.23/4.30 % SZS status Unsatisfiable % 4.23/4.30 % SZS output start Proof % 4.23/4.30 The input problem is unsatisfiable because % 4.23/4.30 % 4.23/4.30 [1] the following set of Horn clauses is unsatisfiable: % 4.23/4.30 % 4.23/4.30 mult(A, ld(A, B)) = B % 4.23/4.30 ld(A, mult(A, B)) = B % 4.23/4.30 mult(rd(A, B), B) = A % 4.23/4.30 rd(mult(A, B), B) = A % 4.23/4.30 mult(A, unit) = A % 4.23/4.30 mult(unit, A) = A % 4.23/4.30 mult(i(A), mult(A, B)) = B % 4.23/4.30 mult(mult(A, B), i(B)) = A % 4.23/4.30 mult(mult(A, B), mult(C, mult(A, B))) = mult(mult(mult(A, mult(B, C)), A), B) % 4.23/4.30 mult(mult(a, b), a) = mult(a, mult(b, a)) ==> \bottom % 4.23/4.30 % 4.23/4.30 This holds because % 4.23/4.30 % 4.23/4.30 [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)): % 4.23/4.30 % 4.23/4.30 E: % 4.23/4.30 f1(mult(a, mult(b, a))) = false__ % 4.23/4.30 f1(mult(mult(a, b), a)) = true__ % 4.23/4.30 ld(A, mult(A, B)) = B % 4.23/4.30 mult(A, ld(A, B)) = B % 4.23/4.30 mult(A, unit) = A % 4.23/4.30 mult(i(A), mult(A, B)) = B % 4.23/4.30 mult(mult(A, B), i(B)) = A % 4.23/4.30 mult(mult(A, B), mult(C, mult(A, B))) = mult(mult(mult(A, mult(B, C)), A), B) % 4.23/4.30 mult(rd(A, B), B) = A % 4.23/4.30 mult(unit, A) = A % 4.23/4.30 rd(mult(A, B), B) = A % 4.23/4.30 G: % 4.23/4.30 true__ = false__ % 4.23/4.30 % 4.23/4.30 This holds because % 4.23/4.30 % 4.23/4.30 [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS: % 4.23/4.30 % 4.23/4.30 ld(X0, X0) = ld(Y0, Y0) % 4.23/4.30 ld(X0, X0) = rd(Y0, Y0) % 4.23/4.30 ld(X1, X1) = mult(ld(Y1, ld(Y2, Y2)), Y1) % 4.23/4.30 ld(X1, X1) = mult(ld(Y1, ld(false__, false__)), Y1) % 4.23/4.30 ld(Y0, Y0) = unit % 4.23/4.30 ld(false__, false__) = mult(ld(Y1, ld(Y2, Y2)), Y1) % 4.23/4.30 mult(ld(X0, Y1), ld(Y1, ld(false__, false__))) = ld(X0, ld(X1, X1)) % 4.23/4.30 mult(ld(X0, Y1), ld(Y1, ld(false__, false__))) = ld(X0, ld(false__, false__)) % 4.23/4.30 mult(ld(X0, ld(X1, X1)), X0) = mult(ld(Y0, ld(Y1, Y1)), Y0) % 4.23/4.30 mult(ld(Y0, Y1), ld(Y1, ld(X1, X1))) = ld(Y0, ld(Y2, Y2)) % 4.23/4.30 mult(ld(Y0, Y1), ld(Y1, ld(X1, X1))) = ld(Y0, ld(false__, false__)) % 4.23/4.30 mult(ld(Y0, ld(X1, X1)), Y1) = ld(Y0, Y1) % 4.23/4.30 mult(ld(Y0, ld(false__, false__)), X1) = ld(Y0, X1) % 4.23/4.30 mult(ld(Y0, mult(ld(X0, ld(X1, X1)), X0)), Y1) = ld(Y0, Y1) % 4.23/4.30 mult(rd(ld(false__, false__), Y0), X1) = ld(Y0, X1) % 4.23/4.30 rd(X0, X0) = rd(Y0, Y0) % 4.23/4.30 rd(Y1, Y1) = unit % 4.23/4.30 f1(mult(a, mult(b, a))) -> false__ % 4.23/4.30 f1(mult(mult(a, b), a)) -> true__ % 4.23/4.30 i(Y1) -> rd(ld(false__, false__), Y1) % 4.23/4.30 i(i(Y1)) -> Y1 % 4.23/4.30 i(ld(Y1, Y1)) -> ld(false__, false__) % 4.23/4.30 i(ld(false__, false__)) -> ld(false__, false__) % 4.23/4.30 ld(A, mult(A, B)) -> B % 4.23/4.30 ld(i(Y1), ld(false__, false__)) -> Y1 % 4.23/4.30 ld(ld(X0, X0), Y0) -> Y0 % 4.23/4.30 ld(ld(X0, ld(X1, X1)), ld(X0, Y1)) -> Y1 % 4.23/4.30 ld(ld(X0, ld(false__, false__)), X1) -> mult(X0, X1) % 4.23/4.30 ld(ld(Y0, ld(X1, X1)), Y1) -> mult(Y0, Y1) % 4.23/4.30 ld(ld(Y1, ld(false__, false__)), ld(false__, false__)) -> Y1 % 4.23/4.30 ld(mult(X0, X1), X0) -> ld(X1, ld(false__, false__)) % 4.23/4.30 ld(mult(Y1, X1), mult(Y1, mult(X1, Y1))) -> Y1 % 4.23/4.30 ld(mult(ld(X0, ld(X1, X1)), X0), Y1) -> Y1 % 4.23/4.30 ld(rd(X0, Y1), X0) -> Y1 % 4.23/4.30 ld(unit, Y1) -> Y1 % 4.23/4.30 mult(A, ld(A, B)) -> B % 4.23/4.30 mult(A, unit) -> A % 4.23/4.30 mult(X0, mult(rd(ld(false__, false__), X0), Y1)) -> Y1 % 4.23/4.30 mult(X1, ld(ld(Y0, X1), ld(false__, false__))) -> Y0 % 4.23/4.30 mult(X1, ld(mult(X0, X1), ld(false__, false__))) -> ld(X0, ld(false__, false__)) % 4.23/4.30 mult(Y0, i(ld(X0, X0))) -> Y0 % 4.23/4.30 mult(Y0, i(ld(false__, false__))) -> Y0 % 4.23/4.30 mult(Y0, i(unit)) -> Y0 % 4.23/4.30 mult(Y0, ld(X0, X0)) -> Y0 % 4.23/4.30 mult(Y0, mult(ld(Y0, X1), Y0)) -> mult(X1, Y0) % 4.23/4.30 mult(Y0, mult(ld(Y0, false__), ld(false__, ld(false__, false__)))) -> ld(false__, false__) % 4.23/4.30 mult(Y0, mult(ld(Y0, ld(X2, X2)), Y1)) -> Y1 % 4.23/4.30 mult(Y0, mult(ld(Y0, ld(false__, false__)), Y1)) -> Y1 % 4.23/4.30 mult(Y0, mult(ld(ld(Y1, Y0), false__), ld(false__, ld(false__, false__)))) -> Y1 % 4.23/4.30 mult(Y0, mult(ld(mult(ld(X0, ld(X1, X1)), X0), false__), ld(false__, ld(false__, false__)))) -> Y0 % 4.23/4.30 mult(Y0, rd(X0, X0)) -> Y0 % 4.23/4.30 mult(Y1, i(Y1)) -> ld(false__, false__) % 4.23/4.30 mult(Y1, mult(ld(X1, ld(X2, X2)), X1)) -> Y1 % 4.23/4.30 mult(false__, mult(ld(X0, ld(X1, X1)), X0)) -> false__ % 4.23/4.30 mult(i(A), mult(A, B)) -> B % 4.23/4.30 mult(i(Y0), Y0) -> unit % 4.23/4.30 mult(i(ld(X0, X0)), Y0) -> Y0 % 4.23/4.30 mult(i(ld(false__, false__)), Y0) -> Y0 % 4.23/4.30 mult(i(unit), Y1) -> Y1 % 4.23/4.30 mult(ld(X0, X0), Y0) -> Y0 % 4.23/4.30 mult(ld(X0, ld(false__, false__)), mult(mult(X0, X1), ld(X0, ld(false__, false__)))) -> mult(X1, ld(X0, ld(false__, false__))) % 4.23/4.30 mult(ld(Y0, ld(Y2, Y2)), mult(Y0, X1)) -> X1 % 4.23/4.30 mult(ld(Y0, ld(false__, false__)), mult(Y0, X1)) -> X1 % 4.23/4.30 mult(ld(Y1, ld(false__, false__)), Y1) -> ld(false__, false__) % 4.23/4.30 mult(ld(ld(X1, Y0), false__), ld(false__, ld(false__, false__))) -> ld(Y0, X1) % 4.23/4.30 mult(ld(ld(Y2, ld(Y1, Y1)), false__), ld(false__, ld(false__, false__))) -> Y2 % 4.23/4.30 mult(ld(mult(X0, X1), false__), ld(false__, ld(false__, false__))) -> mult(ld(X1, ld(false__, false__)), ld(X0, ld(false__, false__))) % 4.23/4.30 mult(ld(mult(X0, ld(Y0, ld(false__, false__))), false__), ld(false__, ld(false__, false__))) -> mult(Y0, ld(X0, ld(false__, false__))) % 4.23/4.30 mult(mult(A, B), i(B)) -> A % 4.23/4.30 mult(mult(X0, X1), mult(ld(X1, ld(false__, false__)), mult(X0, X1))) -> mult(X0, mult(X0, X1)) % 4.23/4.30 mult(mult(X0, ld(Y1, ld(false__, false__))), mult(Y1, mult(X0, ld(Y1, ld(false__, false__))))) -> mult(X0, mult(X0, ld(Y1, ld(false__, false__)))) % 4.23/4.30 mult(mult(Y0, Y1), ld(Y1, ld(X1, X1))) -> Y0 % 4.23/4.30 mult(mult(Y0, Y2), Y0) -> mult(Y0, mult(Y2, Y0)) % 4.23/4.30 mult(mult(Y0, ld(Y1, ld(X1, X1))), Y1) -> Y0 % 4.23/4.30 mult(mult(Y0, ld(Y1, ld(false__, false__))), Y1) -> Y0 % 4.23/4.30 mult(mult(Y0, rd(ld(false__, false__), X0)), X0) -> Y0 % 4.23/4.30 mult(mult(Y1, X1), ld(X1, ld(false__, false__))) -> Y1 % 4.23/4.30 mult(mult(Y1, mult(X1, Y1)), ld(Y1, ld(false__, false__))) -> mult(Y1, X1) % 4.23/4.30 mult(mult(ld(X0, ld(X1, X1)), X0), Y1) -> Y1 % 4.23/4.30 mult(mult(ld(Y1, false__), ld(false__, ld(false__, false__))), Y1) -> ld(false__, false__) % 4.23/4.30 mult(mult(ld(mult(Y1, ld(X1, ld(false__, false__))), false__), ld(false__, ld(false__, false__))), Y1) -> X1 % 4.23/4.30 mult(mult(mult(A, mult(B, C)), A), B) -> mult(mult(A, B), mult(C, mult(A, B))) % 4.23/4.30 mult(mult(mult(Y0, Y1), Y0), Y1) -> mult(mult(Y0, Y1), mult(Y0, Y1)) % 4.23/4.30 mult(rd(A, B), B) -> A % 4.23/4.30 mult(unit, A) -> A % 4.23/4.30 rd(X0, Y1) -> mult(X0, ld(Y1, ld(false__, false__))) % 4.23/4.30 rd(X1, ld(Y0, X1)) -> Y0 % 4.23/4.30 rd(X1, mult(X0, X1)) -> ld(X0, ld(false__, false__)) % 4.23/4.30 rd(Y0, ld(X0, X0)) -> Y0 % 4.23/4.30 rd(Y0, ld(false__, false__)) -> Y0 % 4.23/4.30 rd(Y0, unit) -> Y0 % 4.23/4.30 rd(ld(false__, false__), X0) -> ld(X0, ld(false__, false__)) % 4.23/4.30 rd(ld(false__, false__), rd(ld(false__, false__), Y1)) -> Y1 % 4.23/4.30 rd(mult(A, B), B) -> A % 4.23/4.30 true__ -> false__ % 4.23/4.30 with the LPO induced by % 4.23/4.30 b > a > f1 > i > unit > rd > ld > mult > true__ > false__ % 4.23/4.30 % 4.23/4.30 % SZS output end Proof % 4.23/4.30 %------------------------------------------------------------------------------