MAYBE Problem: app(app(twice(),f),x) -> app(f,app(f,x)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),h),t)) -> app(app(cons(),app(f,h)),app(app(map(),f),t)) app(app(fmap(),nil()),x) -> nil() app(app(fmap(),app(app(cons(),f),t_f())),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) Proof: DP Processor: DPs: app#(app(twice(),f),x) -> app#(f,x) app#(app(twice(),f),x) -> app#(f,app(f,x)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) app#(app(map(),f),app(app(cons(),h),t)) -> app#(cons(),app(f,h)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(cons(),app(f,h)),app(app(map(),f),t)) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(fmap(),t_f()) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(fmap(),t_f()),x) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(cons(),app(f,x)) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) TRS: app(app(twice(),f),x) -> app(f,app(f,x)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),h),t)) -> app(app(cons(),app(f,h)),app(app(map(),f),t)) app(app(fmap(),nil()),x) -> nil() app(app(fmap(),app(app(cons(),f),t_f())),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) EDG Processor: DPs: app#(app(twice(),f),x) -> app#(f,x) app#(app(twice(),f),x) -> app#(f,app(f,x)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) app#(app(map(),f),app(app(cons(),h),t)) -> app#(cons(),app(f,h)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(cons(),app(f,h)),app(app(map(),f),t)) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(fmap(),t_f()) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(fmap(),t_f()),x) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(cons(),app(f,x)) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) TRS: app(app(twice(),f),x) -> app(f,app(f,x)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),h),t)) -> app(app(cons(),app(f,h)),app(app(map(),f),t)) app(app(fmap(),nil()),x) -> nil() app(app(fmap(),app(app(cons(),f),t_f())),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) graph: app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(twice(),f),x) -> app#(f,x) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(twice(),f),x) -> app#(f,app(f,x)) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(cons(),app(f,h)) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(cons(),app(f,h)),app(app(map(),f),t)) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(fmap(),t_f()) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(fmap(),t_f()),x) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(cons(),app(f,x)) app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(cons(),app(f,h)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(cons(),app(f,h)),app(app(map(),f),t)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(twice(),f),x) -> app#(f,x) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(twice(),f),x) -> app#(f,app(f,x)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(cons(),app(f,h)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(cons(),app(f,h)),app(app(map(),f),t)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(fmap(),t_f()) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(fmap(),t_f()),x) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(cons(),app(f,x)) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(twice(),f),x) -> app#(f,x) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(twice(),f),x) -> app#(f,app(f,x)) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(cons(),app(f,h)) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(cons(),app(f,h)),app(app(map(),f),t)) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(fmap(),t_f()) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(fmap(),t_f()),x) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(cons(),app(f,x)) app#(app(twice(),f),x) -> app#(f,app(f,x)) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(twice(),f),x) -> app#(f,x) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(twice(),f),x) -> app#(f,app(f,x)) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(cons(),app(f,h)) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(cons(),app(f,h)),app(app(map(),f),t)) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(fmap(),t_f()) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(fmap(),t_f()),x) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(cons(),app(f,x)) app#(app(twice(),f),x) -> app#(f,x) -> app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) SCC Processor: #sccs: 1 #rules: 5 #arcs: 48/121 DPs: app#(app(fmap(),app(app(cons(),f),t_f())),x) -> app#(f,x) app#(app(map(),f),app(app(cons(),h),t)) -> app#(f,h) app#(app(map(),f),app(app(cons(),h),t)) -> app#(app(map(),f),t) app#(app(twice(),f),x) -> app#(f,app(f,x)) app#(app(twice(),f),x) -> app#(f,x) TRS: app(app(twice(),f),x) -> app(f,app(f,x)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),h),t)) -> app(app(cons(),app(f,h)),app(app(map(),f),t)) app(app(fmap(),nil()),x) -> nil() app(app(fmap(),app(app(cons(),f),t_f())),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) Open