YES proof of Transformed_CSR_04_Ex15_Luc06_C.trs # AProVE Commit ID: c69e44bd14796315568835c1ffa2502984884775 jera 20211004 unpublished Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRS Reverse [EQUIVALENT, 0 ms] (2) QTRS (3) RFCMatchBoundsTRSProof [EQUIVALENT, 0 ms] (4) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: active(f(f(a))) -> mark(f(g(f(a)))) active(g(X)) -> g(active(X)) g(mark(X)) -> mark(g(X)) proper(f(X)) -> f(proper(X)) proper(a) -> ok(a) proper(g(X)) -> g(proper(X)) f(ok(X)) -> ok(f(X)) g(ok(X)) -> ok(g(X)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) Q is empty. ---------------------------------------- (1) QTRS Reverse (EQUIVALENT) We applied the QTRS Reverse Processor [REVERSE]. ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a'(f(f(active(x)))) -> a'(f(g(f(mark(x))))) g(active(X)) -> active(g(X)) mark(g(X)) -> g(mark(X)) f(proper(X)) -> proper(f(X)) a'(proper(x)) -> a'(ok(x)) g(proper(X)) -> proper(g(X)) ok(f(X)) -> f(ok(X)) ok(g(X)) -> g(ok(X)) mark(top(X)) -> proper(top(X)) ok(top(X)) -> active(top(X)) Q is empty. ---------------------------------------- (3) RFCMatchBoundsTRSProof (EQUIVALENT) Termination of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 6. This implies Q-termination of R. The following rules were used to construct the certificate: a'(f(f(active(x)))) -> a'(f(g(f(mark(x))))) g(active(X)) -> active(g(X)) mark(g(X)) -> g(mark(X)) f(proper(X)) -> proper(f(X)) a'(proper(x)) -> a'(ok(x)) g(proper(X)) -> proper(g(X)) ok(f(X)) -> f(ok(X)) ok(g(X)) -> g(ok(X)) mark(top(X)) -> proper(top(X)) ok(top(X)) -> active(top(X)) The certificate found is represented by the following graph. The certificate consists of the following enumerated nodes: 3, 4, 5, 7, 9, 12, 14, 15, 17, 20, 25, 27, 29, 30, 32, 35, 36, 37, 38, 39, 40, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 70, 71, 76, 77, 78, 81, 82, 88, 89, 92, 98, 101, 103 Node 3 is start node and node 4 is final node. Those nodes are connected through the following edges: * 3 to 5 labelled a'_1(0), f_1(0), g_1(0)* 3 to 14 labelled active_1(0), proper_1(0)* 3 to 12 labelled g_1(0)* 3 to 15 labelled proper_1(0)* 3 to 30 labelled active_1(1), proper_1(1)* 3 to 37 labelled a'_1(1)* 3 to 70 labelled a'_1(2)* 4 to 4 labelled #_1(0)* 5 to 7 labelled f_1(0)* 5 to 4 labelled ok_1(0)* 5 to 17 labelled f_1(1), g_1(1)* 5 to 20 labelled active_1(1)* 5 to 35 labelled active_1(2)* 5 to 46 labelled proper_1(1)* 7 to 9 labelled g_1(0)* 7 to 36 labelled proper_1(1)* 9 to 12 labelled f_1(0)* 9 to 32 labelled proper_1(1)* 12 to 4 labelled mark_1(0)* 12 to 25 labelled g_1(1)* 12 to 20 labelled proper_1(1)* 12 to 35 labelled proper_1(2)* 14 to 4 labelled g_1(0), top_1(0)* 14 to 27 labelled active_1(1), proper_1(1)* 15 to 4 labelled f_1(0)* 15 to 29 labelled proper_1(1)* 17 to 4 labelled ok_1(1)* 17 to 17 labelled f_1(1), g_1(1)* 17 to 20 labelled active_1(1)* 17 to 35 labelled active_1(2)* 20 to 4 labelled top_1(1)* 25 to 4 labelled mark_1(1)* 25 to 25 labelled g_1(1)* 25 to 20 labelled proper_1(1)* 25 to 35 labelled proper_1(2)* 27 to 4 labelled g_1(1)* 27 to 27 labelled active_1(1), proper_1(1)* 29 to 4 labelled f_1(1)* 29 to 29 labelled proper_1(1)* 30 to 20 labelled g_1(1)* 30 to 35 labelled g_1(1)* 30 to 46 labelled f_1(1), g_1(1)* 32 to 20 labelled f_1(1)* 32 to 35 labelled f_1(1)* 35 to 20 labelled g_1(2)* 35 to 35 labelled g_1(2)* 36 to 32 labelled g_1(1)* 37 to 38 labelled f_1(1)* 37 to 46 labelled ok_1(1)* 37 to 50 labelled f_1(2)* 37 to 53 labelled proper_1(2)* 38 to 39 labelled g_1(1)* 38 to 51 labelled proper_1(2)* 39 to 40 labelled f_1(1)* 39 to 48 labelled proper_1(2)* 40 to 20 labelled mark_1(1)* 40 to 47 labelled proper_1(2)* 40 to 35 labelled mark_1(1)* 40 to 49 labelled g_1(2)* 40 to 54 labelled proper_1(3)* 46 to 36 labelled f_1(1)* 47 to 4 labelled top_1(2)* 48 to 47 labelled f_1(2)* 48 to 54 labelled f_1(2)* 49 to 20 labelled mark_1(2)* 49 to 35 labelled mark_1(2)* 49 to 47 labelled proper_1(2)* 49 to 52 labelled g_1(3)* 49 to 54 labelled proper_1(3)* 49 to 77 labelled proper_1(4)* 50 to 36 labelled ok_1(2)* 50 to 55 labelled g_1(2)* 51 to 48 labelled g_1(2)* 52 to 20 labelled mark_1(3)* 52 to 35 labelled mark_1(3)* 52 to 47 labelled proper_1(2)* 52 to 52 labelled g_1(3)* 52 to 54 labelled proper_1(3)* 52 to 77 labelled proper_1(4)* 53 to 51 labelled f_1(2)* 54 to 47 labelled g_1(3)* 54 to 54 labelled g_1(3)* 54 to 77 labelled g_1(3)* 55 to 32 labelled ok_1(2)* 55 to 71 labelled f_1(2)* 70 to 53 labelled ok_1(2)* 70 to 78 labelled f_1(3)* 71 to 20 labelled ok_1(2)* 71 to 35 labelled ok_1(2)* 71 to 47 labelled active_1(2)* 71 to 76 labelled g_1(3)* 71 to 54 labelled active_1(3)* 71 to 77 labelled active_1(4)* 76 to 20 labelled ok_1(3)* 76 to 35 labelled ok_1(3)* 76 to 47 labelled active_1(2)* 76 to 76 labelled g_1(3)* 76 to 54 labelled active_1(3)* 76 to 77 labelled active_1(4)* 77 to 54 labelled g_1(4)* 77 to 77 labelled g_1(4)* 78 to 51 labelled ok_1(3)* 78 to 81 labelled g_1(3)* 81 to 48 labelled ok_1(3)* 81 to 82 labelled f_1(3)* 82 to 47 labelled ok_1(3)* 82 to 54 labelled ok_1(3)* 82 to 88 labelled active_1(3)* 82 to 89 labelled g_1(4)* 82 to 98 labelled active_1(4)* 82 to 101 labelled active_1(5)* 88 to 4 labelled top_1(3)* 89 to 47 labelled ok_1(4)* 89 to 54 labelled ok_1(4)* 89 to 77 labelled ok_1(4)* 89 to 88 labelled active_1(3)* 89 to 89 labelled g_1(4)* 89 to 92 labelled g_1(5)* 89 to 98 labelled active_1(4)* 89 to 101 labelled active_1(5)* 89 to 103 labelled active_1(6)* 92 to 54 labelled ok_1(5)* 92 to 77 labelled ok_1(5)* 92 to 89 labelled g_1(4)* 92 to 92 labelled g_1(5)* 92 to 98 labelled active_1(4)* 92 to 101 labelled active_1(5)* 92 to 103 labelled active_1(6)* 98 to 88 labelled g_1(4)* 101 to 98 labelled g_1(5)* 101 to 101 labelled g_1(5)* 101 to 103 labelled g_1(5)* 103 to 101 labelled g_1(6)* 103 to 103 labelled g_1(6) ---------------------------------------- (4) YES