TSTP Solution File: GRP702-11 by Moca---0.1
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Moca---0.1
% Problem : GRP702-11 : TPTP v8.1.0. Released v8.1.0.
% Transfm : none
% Format : tptp:raw
% Command : moca.sh %s
% Computer : n012.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:58 EDT 2022
% Result : Unsatisfiable 3.32s 3.46s
% Output : Proof 3.32s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12 % Problem : GRP702-11 : TPTP v8.1.0. Released v8.1.0.
% 0.07/0.12 % Command : moca.sh %s
% 0.12/0.33 % Computer : n012.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 : Tue Jun 14 05:26:10 EDT 2022
% 0.12/0.33 % CPUTime :
% 3.32/3.46 % SZS status Unsatisfiable
% 3.32/3.46 % SZS output start Proof
% 3.32/3.46 The input problem is unsatisfiable because
% 3.32/3.46
% 3.32/3.46 [1] the following set of Horn clauses is unsatisfiable:
% 3.32/3.46
% 3.32/3.46 mult(A, ld(A, B)) = B
% 3.32/3.46 ld(A, mult(A, B)) = B
% 3.32/3.46 mult(rd(A, B), B) = A
% 3.32/3.46 rd(mult(A, B), B) = A
% 3.32/3.46 mult(A, unit) = A
% 3.32/3.46 mult(unit, A) = A
% 3.32/3.46 mult(A, mult(B, mult(B, C))) = mult(mult(mult(A, B), B), C)
% 3.32/3.46 mult(op_c, mult(A, B)) = mult(mult(op_c, A), B)
% 3.32/3.46 mult(A, mult(B, op_c)) = mult(mult(A, B), op_c)
% 3.32/3.46 mult(A, mult(op_c, B)) = mult(mult(A, op_c), B)
% 3.32/3.46 op_d = ld(A, mult(op_c, A))
% 3.32/3.46 op_e = mult(mult(rd(op_c, mult(A, B)), B), A)
% 3.32/3.46 op_f = mult(A, mult(B, ld(mult(A, B), op_c)))
% 3.32/3.46 mult(x0, mult(x1, op_d)) = mult(mult(x0, x1), op_d) ==> \bottom
% 3.32/3.46
% 3.32/3.46 This holds because
% 3.32/3.46
% 3.32/3.46 [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)):
% 3.32/3.46
% 3.32/3.46 E:
% 3.32/3.46 f1(mult(mult(x0, x1), op_d)) = false__
% 3.32/3.46 f1(mult(x0, mult(x1, op_d))) = true__
% 3.32/3.46 ld(A, mult(A, B)) = B
% 3.32/3.46 mult(A, ld(A, B)) = B
% 3.32/3.46 mult(A, mult(B, mult(B, C))) = mult(mult(mult(A, B), B), C)
% 3.32/3.46 mult(A, mult(B, op_c)) = mult(mult(A, B), op_c)
% 3.32/3.46 mult(A, mult(op_c, B)) = mult(mult(A, op_c), B)
% 3.32/3.46 mult(A, unit) = A
% 3.32/3.46 mult(op_c, mult(A, B)) = mult(mult(op_c, A), B)
% 3.32/3.46 mult(rd(A, B), B) = A
% 3.32/3.46 mult(unit, A) = A
% 3.32/3.46 op_d = ld(A, mult(op_c, A))
% 3.32/3.46 op_e = mult(mult(rd(op_c, mult(A, B)), B), A)
% 3.32/3.46 op_f = mult(A, mult(B, ld(mult(A, B), op_c)))
% 3.32/3.46 rd(mult(A, B), B) = A
% 3.32/3.46 G:
% 3.32/3.46 true__ = false__
% 3.32/3.46
% 3.32/3.46 This holds because
% 3.32/3.46
% 3.32/3.46 [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS:
% 3.32/3.46
% 3.32/3.46 mult(Y0, op_f) = mult(op_f, Y0)
% 3.32/3.46 mult(op_f, mult(Y0, Y1)) = mult(Y0, mult(Y1, op_f))
% 3.32/3.46 f1(mult(mult(x0, x1), op_d)) -> false__
% 3.32/3.46 f1(mult(op_f, mult(x0, x1))) -> false__
% 3.32/3.46 f1(mult(x0, mult(op_f, x1))) -> false__
% 3.32/3.46 f1(mult(x0, mult(op_f, x1))) -> true__
% 3.32/3.46 f1(mult(x0, mult(x1, op_c))) -> false__
% 3.32/3.46 f1(mult(x0, mult(x1, op_c))) -> true__
% 3.32/3.46 f1(mult(x0, mult(x1, op_d))) -> true__
% 3.32/3.46 ld(A, mult(A, B)) -> B
% 3.32/3.46 ld(Y0, Y0) -> unit
% 3.32/3.46 ld(Y0, mult(op_f, Y0)) -> op_f
% 3.32/3.46 ld(ld(op_f, Y0), Y0) -> op_f
% 3.32/3.46 ld(op_f, mult(Y1, op_f)) -> Y1
% 3.32/3.46 ld(rd(X0, Y1), X0) -> Y1
% 3.32/3.46 ld(unit, Y1) -> Y1
% 3.32/3.46 mult(A, ld(A, B)) -> B
% 3.32/3.46 mult(A, mult(B, ld(mult(A, B), op_c))) -> op_f
% 3.32/3.46 mult(A, unit) -> A
% 3.32/3.46 mult(mult(A, B), op_c) -> mult(A, mult(B, op_f))
% 3.32/3.46 mult(mult(A, op_c), B) -> mult(A, mult(op_f, B))
% 3.32/3.46 mult(mult(Y0, Y1), Y1) -> mult(Y0, mult(Y1, Y1))
% 3.32/3.46 mult(mult(Y0, op_f), Y1) -> mult(Y0, mult(op_f, Y1))
% 3.32/3.46 mult(mult(mult(A, B), B), C) -> mult(A, mult(B, mult(B, C)))
% 3.32/3.46 mult(mult(op_c, A), B) -> mult(op_f, mult(A, B))
% 3.32/3.46 mult(mult(op_f, Y0), Y1) -> mult(op_f, mult(Y0, Y1))
% 3.32/3.46 mult(mult(rd(op_c, mult(A, B)), B), A) -> op_f
% 3.32/3.46 mult(op_f, rd(Y0, op_f)) -> Y0
% 3.32/3.46 mult(rd(A, B), B) -> A
% 3.32/3.46 mult(unit, A) -> A
% 3.32/3.46 op_c -> op_f
% 3.32/3.46 op_d -> op_f
% 3.32/3.46 op_e -> op_f
% 3.32/3.46 rd(X0, op_f) -> ld(op_f, X0)
% 3.32/3.46 rd(X1, ld(Y0, X1)) -> Y0
% 3.32/3.46 rd(Y0, unit) -> Y0
% 3.32/3.46 rd(Y1, Y1) -> unit
% 3.32/3.46 rd(mult(A, B), B) -> A
% 3.32/3.46 rd(mult(Y0, op_f), Y0) -> op_f
% 3.32/3.46 rd(mult(Y1, op_e), Y1) -> op_f
% 3.32/3.46 rd(mult(op_e, Y0), op_e) -> Y0
% 3.32/3.46 rd(mult(op_f, Y0), op_f) -> Y0
% 3.32/3.46 true__ -> false__
% 3.32/3.46 with the LPO induced by
% 3.32/3.46 x1 > x0 > f1 > mult > op_d > op_e > op_c > op_f > rd > ld > unit > true__ > false__
% 3.32/3.46
% 3.32/3.46 % SZS output end Proof
% 3.32/3.46
%------------------------------------------------------------------------------