YES proof of Transformed_CSR_04_Ex18_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(f(X)) -> f(active(X)) f(mark(X)) -> mark(f(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))))) f(active(X)) -> active(f(X)) mark(f(X)) -> f(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))))) f(active(X)) -> active(f(X)) mark(f(X)) -> f(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: 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 70, 71, 72, 73, 75, 76, 78, 80, 81, 83, 84 Node 31 is start node and node 32 is final node. Those nodes are connected through the following edges: * 31 to 33 labelled a'_1(0), f_1(0), g_1(0)* 31 to 37 labelled active_1(0), proper_1(0)* 31 to 36 labelled f_1(0)* 31 to 42 labelled active_1(1), proper_1(1)* 31 to 45 labelled a'_1(1)* 31 to 65 labelled a'_1(2)* 32 to 32 labelled #_1(0)* 33 to 34 labelled f_1(0)* 33 to 32 labelled ok_1(0)* 33 to 38 labelled f_1(1), g_1(1)* 33 to 39 labelled active_1(1)* 33 to 43 labelled active_1(2)* 33 to 49 labelled proper_1(1)* 34 to 35 labelled g_1(0)* 34 to 44 labelled proper_1(1)* 35 to 36 labelled f_1(0)* 35 to 42 labelled proper_1(1)* 36 to 32 labelled mark_1(0)* 36 to 40 labelled f_1(1)* 36 to 39 labelled proper_1(1)* 36 to 43 labelled proper_1(2)* 37 to 32 labelled f_1(0), g_1(0), top_1(0)* 37 to 41 labelled active_1(1), proper_1(1)* 38 to 32 labelled ok_1(1)* 38 to 38 labelled f_1(1), g_1(1)* 38 to 39 labelled active_1(1)* 38 to 43 labelled active_1(2)* 39 to 32 labelled top_1(1)* 40 to 32 labelled mark_1(1)* 40 to 40 labelled f_1(1)* 40 to 39 labelled proper_1(1)* 40 to 43 labelled proper_1(2)* 41 to 32 labelled f_1(1), g_1(1)* 41 to 41 labelled active_1(1), proper_1(1)* 42 to 39 labelled f_1(1)* 42 to 43 labelled f_1(1)* 42 to 49 labelled f_1(1), g_1(1)* 43 to 39 labelled f_1(2)* 43 to 43 labelled f_1(2)* 44 to 42 labelled g_1(1)* 45 to 46 labelled f_1(1)* 45 to 49 labelled ok_1(1)* 45 to 55 labelled f_1(2)* 45 to 62 labelled proper_1(2)* 46 to 47 labelled g_1(1)* 46 to 56 labelled proper_1(2)* 47 to 48 labelled f_1(1)* 47 to 53 labelled proper_1(2)* 48 to 39 labelled mark_1(1)* 48 to 50 labelled proper_1(2)* 48 to 43 labelled mark_1(1)* 48 to 54 labelled f_1(2)* 48 to 63 labelled proper_1(3)* 49 to 44 labelled f_1(1)* 50 to 32 labelled top_1(2)* 53 to 50 labelled f_1(2)* 53 to 63 labelled f_1(2)* 54 to 39 labelled mark_1(2)* 54 to 43 labelled mark_1(2)* 54 to 50 labelled proper_1(2)* 54 to 57 labelled f_1(3)* 54 to 63 labelled proper_1(3)* 54 to 71 labelled proper_1(4)* 55 to 44 labelled ok_1(2)* 55 to 64 labelled g_1(2)* 56 to 53 labelled g_1(2)* 57 to 39 labelled mark_1(3)* 57 to 43 labelled mark_1(3)* 57 to 50 labelled proper_1(2)* 57 to 57 labelled f_1(3)* 57 to 63 labelled proper_1(3)* 57 to 71 labelled proper_1(4)* 62 to 56 labelled f_1(2)* 63 to 50 labelled f_1(3)* 63 to 63 labelled f_1(3)* 63 to 71 labelled f_1(3)* 64 to 42 labelled ok_1(2)* 64 to 66 labelled f_1(2), g_1(2)* 64 to 63 labelled active_1(3)* 65 to 62 labelled ok_1(2)* 65 to 72 labelled f_1(3)* 66 to 39 labelled ok_1(2)* 66 to 43 labelled ok_1(2)* 66 to 49 labelled ok_1(2)* 66 to 55 labelled f_1(2)* 66 to 50 labelled active_1(2)* 66 to 70 labelled f_1(3)* 66 to 63 labelled active_1(3)* 66 to 71 labelled active_1(4)* 70 to 39 labelled ok_1(3)* 70 to 43 labelled ok_1(3)* 70 to 50 labelled active_1(2)* 70 to 70 labelled f_1(3)* 70 to 63 labelled active_1(3)* 70 to 71 labelled active_1(4)* 71 to 63 labelled f_1(4)* 71 to 71 labelled f_1(4)* 72 to 56 labelled ok_1(3)* 72 to 73 labelled g_1(3)* 73 to 53 labelled ok_1(3)* 73 to 75 labelled f_1(3)* 73 to 80 labelled active_1(4)* 75 to 50 labelled ok_1(3)* 75 to 63 labelled ok_1(3)* 75 to 76 labelled active_1(3)* 75 to 78 labelled f_1(4)* 75 to 80 labelled active_1(4)* 75 to 83 labelled active_1(5)* 76 to 32 labelled top_1(3)* 78 to 50 labelled ok_1(4)* 78 to 63 labelled ok_1(4)* 78 to 71 labelled ok_1(4)* 78 to 76 labelled active_1(3)* 78 to 78 labelled f_1(4)* 78 to 81 labelled f_1(5)* 78 to 80 labelled active_1(4)* 78 to 83 labelled active_1(5)* 78 to 84 labelled active_1(6)* 80 to 76 labelled f_1(4)* 80 to 80 labelled f_1(4)* 80 to 83 labelled f_1(4)* 81 to 63 labelled ok_1(5)* 81 to 71 labelled ok_1(5)* 81 to 78 labelled f_1(4)* 81 to 81 labelled f_1(5)* 81 to 80 labelled active_1(4)* 81 to 83 labelled active_1(5)* 81 to 84 labelled active_1(6)* 83 to 80 labelled f_1(5)* 83 to 83 labelled f_1(5)* 83 to 84 labelled f_1(5)* 84 to 83 labelled f_1(6)* 84 to 84 labelled f_1(6) ---------------------------------------- (4) YES