TSTP Solution File: COM002-1 by Moca---0.1
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Moca---0.1
% Problem : COM002-1 : TPTP v8.1.0. Released v1.0.0.
% Transfm : none
% Format : tptp:raw
% Command : moca.sh %s
% Computer : n003.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 : Fri Jul 15 01:33:12 EDT 2022
% Result : Unsatisfiable 10.52s 10.51s
% Output : Proof 10.52s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.11 % Problem : COM002-1 : TPTP v8.1.0. Released v1.0.0.
% 0.06/0.12 % Command : moca.sh %s
% 0.12/0.33 % Computer : n003.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 : Thu Jun 16 18:05:42 EDT 2022
% 0.12/0.33 % CPUTime :
% 10.52/10.51 % SZS status Unsatisfiable
% 10.52/10.51 % SZS output start Proof
% 10.52/10.51 The input problem is unsatisfiable because
% 10.52/10.51
% 10.52/10.51 [1] the following set of Horn clauses is unsatisfiable:
% 10.52/10.51
% 10.52/10.51 follows(Goal_state, Start_state) ==> succeeds(Goal_state, Start_state)
% 10.52/10.51 succeeds(Goal_state, Intermediate_state) & succeeds(Intermediate_state, Start_state) ==> succeeds(Goal_state, Start_state)
% 10.52/10.51 has(Start_state, goto(Label)) & labels(Label, Goal_state) ==> succeeds(Goal_state, Start_state)
% 10.52/10.51 has(Start_state, ifthen(Condition, Goal_state)) ==> succeeds(Goal_state, Start_state)
% 10.52/10.51 has(p1, assign(register_j, n0))
% 10.52/10.51 follows(p2, p1)
% 10.52/10.51 has(p2, assign(register_k, n1))
% 10.52/10.51 labels(loop, p3)
% 10.52/10.51 follows(p3, p2)
% 10.52/10.51 has(p3, ifthen(equal_function(register_j, n), p4))
% 10.52/10.51 has(p4, goto(out))
% 10.52/10.51 follows(p5, p4)
% 10.52/10.51 follows(p6, p3)
% 10.52/10.51 has(p6, assign(register_k, times(n2, register_k)))
% 10.52/10.51 follows(p7, p6)
% 10.52/10.51 has(p7, assign(register_j, plus(register_j, n1)))
% 10.52/10.51 follows(p8, p7)
% 10.52/10.51 has(p8, goto(loop))
% 10.52/10.51 succeeds(p3, p3) ==> \bottom
% 10.52/10.51
% 10.52/10.51 This holds because
% 10.52/10.51
% 10.52/10.51 [2] the following E entails the following G (Claessen-Smallbone's transformation (2018)):
% 10.52/10.51
% 10.52/10.51 E:
% 10.52/10.51 f1(follows(Goal_state, Start_state), Goal_state, Start_state) = true__
% 10.52/10.51 f1(true__, Goal_state, Start_state) = succeeds(Goal_state, Start_state)
% 10.52/10.51 f2(true__, Goal_state, Start_state) = succeeds(Goal_state, Start_state)
% 10.52/10.51 f3(succeeds(Intermediate_state, Start_state), Goal_state, Intermediate_state, Start_state) = true__
% 10.52/10.51 f3(true__, Goal_state, Intermediate_state, Start_state) = f2(succeeds(Goal_state, Intermediate_state), Goal_state, Start_state)
% 10.52/10.51 f4(true__, Goal_state, Start_state) = succeeds(Goal_state, Start_state)
% 10.52/10.51 f5(labels(Label, Goal_state), Start_state, Label, Goal_state) = true__
% 10.52/10.51 f5(true__, Start_state, Label, Goal_state) = f4(has(Start_state, goto(Label)), Goal_state, Start_state)
% 10.52/10.51 f6(has(Start_state, ifthen(Condition, Goal_state)), Goal_state, Start_state) = true__
% 10.52/10.51 f6(true__, Goal_state, Start_state) = succeeds(Goal_state, Start_state)
% 10.52/10.51 f7(succeeds(p3, p3)) = true__
% 10.52/10.51 f7(true__) = false__
% 10.52/10.51 follows(p2, p1) = true__
% 10.52/10.51 follows(p3, p2) = true__
% 10.52/10.51 follows(p5, p4) = true__
% 10.52/10.51 follows(p6, p3) = true__
% 10.52/10.51 follows(p7, p6) = true__
% 10.52/10.51 follows(p8, p7) = true__
% 10.52/10.51 has(p1, assign(register_j, n0)) = true__
% 10.52/10.51 has(p2, assign(register_k, n1)) = true__
% 10.52/10.51 has(p3, ifthen(equal_function(register_j, n), p4)) = true__
% 10.52/10.51 has(p4, goto(out)) = true__
% 10.52/10.51 has(p6, assign(register_k, times(n2, register_k))) = true__
% 10.52/10.51 has(p7, assign(register_j, plus(register_j, n1))) = true__
% 10.52/10.51 has(p8, goto(loop)) = true__
% 10.52/10.51 labels(loop, p3) = true__
% 10.52/10.51 G:
% 10.52/10.51 true__ = false__
% 10.52/10.51
% 10.52/10.51 This holds because
% 10.52/10.51
% 10.52/10.51 [3] E entails the following ordered TRS and the lhs and rhs of G join by the TRS:
% 10.52/10.51
% 10.52/10.51
% 10.52/10.51 f1(follows(Goal_state, Start_state), Goal_state, Start_state) -> true__
% 10.52/10.51 f1(true__, p2, p1) -> true__
% 10.52/10.51 f1(true__, p3, p1) -> true__
% 10.52/10.51 f1(true__, p3, p2) -> true__
% 10.52/10.51 f1(true__, p3, p3) -> true__
% 10.52/10.51 f1(true__, p3, p6) -> true__
% 10.52/10.51 f1(true__, p3, p7) -> true__
% 10.52/10.51 f1(true__, p3, p8) -> true__
% 10.52/10.51 f1(true__, p4, p1) -> true__
% 10.52/10.51 f1(true__, p4, p2) -> true__
% 10.52/10.51 f1(true__, p4, p3) -> true__
% 10.52/10.51 f1(true__, p4, p7) -> true__
% 10.52/10.51 f1(true__, p4, p8) -> true__
% 10.52/10.51 f1(true__, p5, p1) -> true__
% 10.52/10.51 f1(true__, p5, p2) -> true__
% 10.52/10.51 f1(true__, p5, p3) -> true__
% 10.52/10.51 f1(true__, p5, p4) -> true__
% 10.52/10.51 f1(true__, p5, p8) -> true__
% 10.52/10.51 f1(true__, p6, p1) -> true__
% 10.52/10.51 f1(true__, p6, p2) -> true__
% 10.52/10.51 f1(true__, p6, p3) -> true__
% 10.52/10.51 f1(true__, p6, p6) -> true__
% 10.52/10.51 f1(true__, p6, p7) -> true__
% 10.52/10.51 f1(true__, p6, p8) -> true__
% 10.52/10.51 f1(true__, p7, p1) -> true__
% 10.52/10.51 f1(true__, p7, p2) -> true__
% 10.52/10.51 f1(true__, p7, p3) -> true__
% 10.52/10.51 f1(true__, p7, p6) -> true__
% 10.52/10.51 f1(true__, p7, p7) -> true__
% 10.52/10.51 f1(true__, p7, p8) -> true__
% 10.52/10.51 f1(true__, p8, p1) -> true__
% 10.52/10.51 f1(true__, p8, p2) -> true__
% 10.52/10.51 f1(true__, p8, p3) -> true__
% 10.52/10.51 f1(true__, p8, p6) -> true__
% 10.52/10.51 f1(true__, p8, p7) -> true__
% 10.52/10.51 f1(true__, p8, p8) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p2), Y2, p1) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p3), Y2, p1) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p3), Y2, p2) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p3), Y2, p8) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p4), Y2, p2) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p4), Y2, p3) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p5), Y2, p4) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p6), Y2, p2) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p6), Y2, p3) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p6), Y2, p8) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p7), Y2, p3) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p7), Y2, p6) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p8), Y2, p6) -> true__
% 10.52/10.51 f2(f1(true__, Y2, p8), Y2, p7) -> true__
% 10.52/10.51 f2(true__, Goal_state, Start_state) -> succeeds(Goal_state, Start_state)
% 10.52/10.51 f3(f1(true__, Y0, Y1), Y2, Y0, Y1) -> true__
% 10.52/10.51 f3(succeeds(Intermediate_state, Start_state), Goal_state, Intermediate_state, Start_state) -> true__
% 10.52/10.51 f3(true__, Goal_state, Intermediate_state, Start_state) -> f2(succeeds(Goal_state, Intermediate_state), Goal_state, Start_state)
% 10.52/10.51 f4(has(Y2, goto(loop)), p3, Y2) -> true__
% 10.52/10.51 f4(true__, Goal_state, Start_state) -> succeeds(Goal_state, Start_state)
% 10.52/10.51 f5(labels(Label, Goal_state), Start_state, Label, Goal_state) -> true__
% 10.52/10.51 f5(true__, Start_state, Label, Goal_state) -> f4(has(Start_state, goto(Label)), Goal_state, Start_state)
% 10.52/10.51 f6(has(Start_state, ifthen(Condition, Goal_state)), Goal_state, Start_state) -> true__
% 10.52/10.51 f6(true__, Goal_state, Start_state) -> succeeds(Goal_state, Start_state)
% 10.52/10.52 f7(f1(true__, p3, p3)) -> true__
% 10.52/10.52 f7(succeeds(p3, p3)) -> true__
% 10.52/10.52 f7(true__) -> false__
% 10.52/10.52 false__ -> true__
% 10.52/10.52 follows(p2, p1) -> true__
% 10.52/10.52 follows(p3, p2) -> true__
% 10.52/10.52 follows(p5, p4) -> true__
% 10.52/10.52 follows(p6, p3) -> true__
% 10.52/10.52 follows(p7, p6) -> true__
% 10.52/10.52 follows(p8, p7) -> true__
% 10.52/10.52 has(p1, assign(register_j, n0)) -> true__
% 10.52/10.52 has(p2, assign(register_k, n1)) -> true__
% 10.52/10.52 has(p3, ifthen(equal_function(register_j, n), p4)) -> true__
% 10.52/10.52 has(p4, goto(out)) -> true__
% 10.52/10.52 has(p6, assign(register_k, times(n2, register_k))) -> true__
% 10.52/10.52 has(p7, assign(register_j, plus(register_j, n1))) -> true__
% 10.52/10.52 has(p8, goto(loop)) -> true__
% 10.52/10.52 labels(loop, p3) -> true__
% 10.52/10.52 succeeds(Goal_state, Start_state) -> f1(true__, Goal_state, Start_state)
% 10.52/10.52 with the LPO induced by
% 10.52/10.52 f7 > p8 > plus > p7 > n2 > times > p6 > p5 > out > p4 > n > equal_function > p3 > loop > n1 > register_k > p2 > n0 > register_j > assign > p1 > ifthen > f3 > f5 > has > f4 > f6 > f2 > succeeds > f1 > follows > labels > goto > false__ > true__
% 10.52/10.52
% 10.52/10.52 % SZS output end Proof
% 10.52/10.52
%------------------------------------------------------------------------------