MAYBE Time: 0.001204 TRS: { g A() -> A(), g B() -> A(), g B() -> B(), g C() -> A(), g C() -> B(), g C() -> C(), foldB(t, 0()) -> t, foldB(t, s n) -> f(foldB(t, n), B()), f(t, x) -> f'(t, g x), foldC(t, 0()) -> t, foldC(t, s n) -> f(foldC(t, n), C()), f'(triple(a, b, c), A()) -> f'' foldB(triple(s a, 0(), c), b), f'(triple(a, b, c), B()) -> f(triple(a, b, c), A()), f'(triple(a, b, c), C()) -> triple(a, b, s c), f'' triple(a, b, c) -> foldC(triple(a, b, 0()), c)} DP: DP: { foldB#(t, s n) -> foldB#(t, n), foldB#(t, s n) -> f#(foldB(t, n), B()), f#(t, x) -> g# x, f#(t, x) -> f'#(t, g x), foldC#(t, s n) -> f#(foldC(t, n), C()), foldC#(t, s n) -> foldC#(t, n), f'#(triple(a, b, c), A()) -> foldB#(triple(s a, 0(), c), b), f'#(triple(a, b, c), A()) -> f''# foldB(triple(s a, 0(), c), b), f'#(triple(a, b, c), B()) -> f#(triple(a, b, c), A()), f''# triple(a, b, c) -> foldC#(triple(a, b, 0()), c)} TRS: { g A() -> A(), g B() -> A(), g B() -> B(), g C() -> A(), g C() -> B(), g C() -> C(), foldB(t, 0()) -> t, foldB(t, s n) -> f(foldB(t, n), B()), f(t, x) -> f'(t, g x), foldC(t, 0()) -> t, foldC(t, s n) -> f(foldC(t, n), C()), f'(triple(a, b, c), A()) -> f'' foldB(triple(s a, 0(), c), b), f'(triple(a, b, c), B()) -> f(triple(a, b, c), A()), f'(triple(a, b, c), C()) -> triple(a, b, s c), f'' triple(a, b, c) -> foldC(triple(a, b, 0()), c)} EDG: {(f#(t, x) -> f'#(t, g x), f'#(triple(a, b, c), B()) -> f#(triple(a, b, c), A())) (f#(t, x) -> f'#(t, g x), f'#(triple(a, b, c), A()) -> f''# foldB(triple(s a, 0(), c), b)) (f#(t, x) -> f'#(t, g x), f'#(triple(a, b, c), A()) -> foldB#(triple(s a, 0(), c), b)) (f'#(triple(a, b, c), A()) -> foldB#(triple(s a, 0(), c), b), foldB#(t, s n) -> f#(foldB(t, n), B())) (f'#(triple(a, b, c), A()) -> foldB#(triple(s a, 0(), c), b), foldB#(t, s n) -> foldB#(t, n)) (foldC#(t, s n) -> foldC#(t, n), foldC#(t, s n) -> foldC#(t, n)) (foldC#(t, s n) -> foldC#(t, n), foldC#(t, s n) -> f#(foldC(t, n), C())) (foldC#(t, s n) -> f#(foldC(t, n), C()), f#(t, x) -> f'#(t, g x)) (foldC#(t, s n) -> f#(foldC(t, n), C()), f#(t, x) -> g# x) (f'#(triple(a, b, c), B()) -> f#(triple(a, b, c), A()), f#(t, x) -> f'#(t, g x)) (f'#(triple(a, b, c), B()) -> f#(triple(a, b, c), A()), f#(t, x) -> g# x) (f'#(triple(a, b, c), A()) -> f''# foldB(triple(s a, 0(), c), b), f''# triple(a, b, c) -> foldC#(triple(a, b, 0()), c)) (foldB#(t, s n) -> f#(foldB(t, n), B()), f#(t, x) -> g# x) (foldB#(t, s n) -> f#(foldB(t, n), B()), f#(t, x) -> f'#(t, g x)) (foldB#(t, s n) -> foldB#(t, n), foldB#(t, s n) -> foldB#(t, n)) (foldB#(t, s n) -> foldB#(t, n), foldB#(t, s n) -> f#(foldB(t, n), B())) (f''# triple(a, b, c) -> foldC#(triple(a, b, 0()), c), foldC#(t, s n) -> f#(foldC(t, n), C())) (f''# triple(a, b, c) -> foldC#(triple(a, b, 0()), c), foldC#(t, s n) -> foldC#(t, n))} STATUS: arrows: 0.820000 SCCS (1): Scc: { foldB#(t, s n) -> foldB#(t, n), foldB#(t, s n) -> f#(foldB(t, n), B()), f#(t, x) -> f'#(t, g x), foldC#(t, s n) -> f#(foldC(t, n), C()), foldC#(t, s n) -> foldC#(t, n), f'#(triple(a, b, c), A()) -> foldB#(triple(s a, 0(), c), b), f'#(triple(a, b, c), A()) -> f''# foldB(triple(s a, 0(), c), b), f'#(triple(a, b, c), B()) -> f#(triple(a, b, c), A()), f''# triple(a, b, c) -> foldC#(triple(a, b, 0()), c)} SCC (9): Strict: { foldB#(t, s n) -> foldB#(t, n), foldB#(t, s n) -> f#(foldB(t, n), B()), f#(t, x) -> f'#(t, g x), foldC#(t, s n) -> f#(foldC(t, n), C()), foldC#(t, s n) -> foldC#(t, n), f'#(triple(a, b, c), A()) -> foldB#(triple(s a, 0(), c), b), f'#(triple(a, b, c), A()) -> f''# foldB(triple(s a, 0(), c), b), f'#(triple(a, b, c), B()) -> f#(triple(a, b, c), A()), f''# triple(a, b, c) -> foldC#(triple(a, b, 0()), c)} Weak: { g A() -> A(), g B() -> A(), g B() -> B(), g C() -> A(), g C() -> B(), g C() -> C(), foldB(t, 0()) -> t, foldB(t, s n) -> f(foldB(t, n), B()), f(t, x) -> f'(t, g x), foldC(t, 0()) -> t, foldC(t, s n) -> f(foldC(t, n), C()), f'(triple(a, b, c), A()) -> f'' foldB(triple(s a, 0(), c), b), f'(triple(a, b, c), B()) -> f(triple(a, b, c), A()), f'(triple(a, b, c), C()) -> triple(a, b, s c), f'' triple(a, b, c) -> foldC(triple(a, b, 0()), c)} Open