Ops s:1 o:0 plus:0 mult:0 true:0 false:0 app:2 map:0 filter:0 cons:2 nil:0 square:0 eq:0 ite:0 Const s o true false cons nil Vars X Y Z F Acc TRS R1 app(app(eq,o),o) -> true app(app(eq,s(X)),o) -> false app(app(eq,o),s(X)) -> false app(app(eq,s(X)),s(Y)) -> app(app(eq,X),Y) app(app(plus,o),X) -> X app(app(plus,s(X)),Y) -> s(app(app(plus,X),Y)) app(app(mult,o),X) -> o app(app(mult,s(X)), Y) -> app(app(plus,Y), app(app(mult,X), Y)) app(app(app(ite,true),X),Y) -> X app(app(app(ite,false),X),Y) -> Y app(app(map,F),nil) -> nil app(app(map,F),cons(X,Y)) -> cons(app(F,X),app(app(map,F),Y)) app(app(filter, X), nil) -> nil app(app(filter, X), cons(Y,Z)) -> app(app(app(ite,app(X,Y)), cons(Y, app(app(filter, X), Z))), app(app(filter, X), Z)) app(square,X) -> app(app(mult,X),X) SRegexp A0 app(app(filter,app(eq,s(s(o)))),app(app(map,square),[cons([s(*|o)],*|nil)])) Automaton TC States qi ql qb Final States qi ql qb Transitions o -> qi s(qi) -> qi cons(qi,ql) -> ql nil -> ql true -> qb false -> qb Patterns cons(_,_)