MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: and(false(),false()) -> false() and(false(),true()) -> false() and(true(),false()) -> false() and(true(),true()) -> true() eq(apply(T,S),apply(Tp,Sp)) -> and(eq(T,Tp),eq(S,Sp)) eq(apply(T,S),lambda(X,Tp)) -> false() eq(apply(T,S),var(L)) -> false() eq(cons(T,L),cons(Tp,Lp)) -> and(eq(T,Tp),eq(L,Lp)) eq(cons(T,L),nil()) -> false() eq(lambda(X,T),apply(Tp,Sp)) -> false() eq(lambda(X,T),lambda(Xp,Tp)) -> and(eq(T,Tp),eq(X,Xp)) eq(lambda(X,T),var(L)) -> false() eq(nil(),cons(T,L)) -> false() eq(nil(),nil()) -> true() eq(var(L),apply(T,S)) -> false() eq(var(L),lambda(X,T)) -> false() eq(var(L),var(Lp)) -> eq(L,Lp) if(false(),var(K),var(L)) -> var(L) if(true(),var(K),var(L)) -> var(K) ren(X,Y,apply(T,S)) -> apply(ren(X,Y,T),ren(X,Y,S)) ren(X,Y,lambda(Z,T)) -> lambda(var(cons(X,cons(Y,cons(lambda(Z,T),nil())))) ,ren(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T))) ren(var(L),var(K),var(Lp)) -> if(eq(L,Lp),var(K),var(Lp)) - Signature: {and/2,eq/2,if/3,ren/3} / {apply/2,cons/2,false/0,lambda/2,nil/0,true/0,var/1} - Obligation: innermost runtime complexity wrt. defined symbols {and,eq,if,ren} and constructors {apply,cons,false,lambda ,nil,true,var} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs and#(false(),false()) -> c_1() and#(false(),true()) -> c_2() and#(true(),false()) -> c_3() and#(true(),true()) -> c_4() eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)) eq#(apply(T,S),lambda(X,Tp)) -> c_6() eq#(apply(T,S),var(L)) -> c_7() eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)) eq#(cons(T,L),nil()) -> c_9() eq#(lambda(X,T),apply(Tp,Sp)) -> c_10() eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)) eq#(lambda(X,T),var(L)) -> c_12() eq#(nil(),cons(T,L)) -> c_13() eq#(nil(),nil()) -> c_14() eq#(var(L),apply(T,S)) -> c_15() eq#(var(L),lambda(X,T)) -> c_16() eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)) if#(false(),var(K),var(L)) -> c_18() if#(true(),var(K),var(L)) -> c_19() ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)) ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)) Weak DPs and mark the set of starting terms. * Step 2: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: and#(false(),false()) -> c_1() and#(false(),true()) -> c_2() and#(true(),false()) -> c_3() and#(true(),true()) -> c_4() eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)) eq#(apply(T,S),lambda(X,Tp)) -> c_6() eq#(apply(T,S),var(L)) -> c_7() eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)) eq#(cons(T,L),nil()) -> c_9() eq#(lambda(X,T),apply(Tp,Sp)) -> c_10() eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)) eq#(lambda(X,T),var(L)) -> c_12() eq#(nil(),cons(T,L)) -> c_13() eq#(nil(),nil()) -> c_14() eq#(var(L),apply(T,S)) -> c_15() eq#(var(L),lambda(X,T)) -> c_16() eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)) if#(false(),var(K),var(L)) -> c_18() if#(true(),var(K),var(L)) -> c_19() ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)) ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)) - Weak TRS: and(false(),false()) -> false() and(false(),true()) -> false() and(true(),false()) -> false() and(true(),true()) -> true() eq(apply(T,S),apply(Tp,Sp)) -> and(eq(T,Tp),eq(S,Sp)) eq(apply(T,S),lambda(X,Tp)) -> false() eq(apply(T,S),var(L)) -> false() eq(cons(T,L),cons(Tp,Lp)) -> and(eq(T,Tp),eq(L,Lp)) eq(cons(T,L),nil()) -> false() eq(lambda(X,T),apply(Tp,Sp)) -> false() eq(lambda(X,T),lambda(Xp,Tp)) -> and(eq(T,Tp),eq(X,Xp)) eq(lambda(X,T),var(L)) -> false() eq(nil(),cons(T,L)) -> false() eq(nil(),nil()) -> true() eq(var(L),apply(T,S)) -> false() eq(var(L),lambda(X,T)) -> false() eq(var(L),var(Lp)) -> eq(L,Lp) if(false(),var(K),var(L)) -> var(L) if(true(),var(K),var(L)) -> var(K) ren(X,Y,apply(T,S)) -> apply(ren(X,Y,T),ren(X,Y,S)) ren(X,Y,lambda(Z,T)) -> lambda(var(cons(X,cons(Y,cons(lambda(Z,T),nil())))) ,ren(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T))) ren(var(L),var(K),var(Lp)) -> if(eq(L,Lp),var(K),var(Lp)) - Signature: {and/2,eq/2,if/3,ren/3,and#/2,eq#/2,if#/3,ren#/3} / {apply/2,cons/2,false/0,lambda/2,nil/0,true/0,var/1 ,c_1/0,c_2/0,c_3/0,c_4/0,c_5/3,c_6/0,c_7/0,c_8/3,c_9/0,c_10/0,c_11/3,c_12/0,c_13/0,c_14/0,c_15/0,c_16/0 ,c_17/1,c_18/0,c_19/0,c_20/2,c_21/2,c_22/2} - Obligation: innermost runtime complexity wrt. defined symbols {and#,eq#,if#,ren#} and constructors {apply,cons,false ,lambda,nil,true,var} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,2,3,4,6,7,9,10,12,13,14,15,16,18,19} by application of Pre({1,2,3,4,6,7,9,10,12,13,14,15,16,18,19}) = {5,8,11,17,22}. Here rules are labelled as follows: 1: and#(false(),false()) -> c_1() 2: and#(false(),true()) -> c_2() 3: and#(true(),false()) -> c_3() 4: and#(true(),true()) -> c_4() 5: eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)) 6: eq#(apply(T,S),lambda(X,Tp)) -> c_6() 7: eq#(apply(T,S),var(L)) -> c_7() 8: eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)) 9: eq#(cons(T,L),nil()) -> c_9() 10: eq#(lambda(X,T),apply(Tp,Sp)) -> c_10() 11: eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)) 12: eq#(lambda(X,T),var(L)) -> c_12() 13: eq#(nil(),cons(T,L)) -> c_13() 14: eq#(nil(),nil()) -> c_14() 15: eq#(var(L),apply(T,S)) -> c_15() 16: eq#(var(L),lambda(X,T)) -> c_16() 17: eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)) 18: if#(false(),var(K),var(L)) -> c_18() 19: if#(true(),var(K),var(L)) -> c_19() 20: ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)) 21: ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) 22: ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)) * Step 3: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)) eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)) eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)) eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)) ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)) ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)) - Weak DPs: and#(false(),false()) -> c_1() and#(false(),true()) -> c_2() and#(true(),false()) -> c_3() and#(true(),true()) -> c_4() eq#(apply(T,S),lambda(X,Tp)) -> c_6() eq#(apply(T,S),var(L)) -> c_7() eq#(cons(T,L),nil()) -> c_9() eq#(lambda(X,T),apply(Tp,Sp)) -> c_10() eq#(lambda(X,T),var(L)) -> c_12() eq#(nil(),cons(T,L)) -> c_13() eq#(nil(),nil()) -> c_14() eq#(var(L),apply(T,S)) -> c_15() eq#(var(L),lambda(X,T)) -> c_16() if#(false(),var(K),var(L)) -> c_18() if#(true(),var(K),var(L)) -> c_19() - Weak TRS: and(false(),false()) -> false() and(false(),true()) -> false() and(true(),false()) -> false() and(true(),true()) -> true() eq(apply(T,S),apply(Tp,Sp)) -> and(eq(T,Tp),eq(S,Sp)) eq(apply(T,S),lambda(X,Tp)) -> false() eq(apply(T,S),var(L)) -> false() eq(cons(T,L),cons(Tp,Lp)) -> and(eq(T,Tp),eq(L,Lp)) eq(cons(T,L),nil()) -> false() eq(lambda(X,T),apply(Tp,Sp)) -> false() eq(lambda(X,T),lambda(Xp,Tp)) -> and(eq(T,Tp),eq(X,Xp)) eq(lambda(X,T),var(L)) -> false() eq(nil(),cons(T,L)) -> false() eq(nil(),nil()) -> true() eq(var(L),apply(T,S)) -> false() eq(var(L),lambda(X,T)) -> false() eq(var(L),var(Lp)) -> eq(L,Lp) if(false(),var(K),var(L)) -> var(L) if(true(),var(K),var(L)) -> var(K) ren(X,Y,apply(T,S)) -> apply(ren(X,Y,T),ren(X,Y,S)) ren(X,Y,lambda(Z,T)) -> lambda(var(cons(X,cons(Y,cons(lambda(Z,T),nil())))) ,ren(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T))) ren(var(L),var(K),var(Lp)) -> if(eq(L,Lp),var(K),var(Lp)) - Signature: {and/2,eq/2,if/3,ren/3,and#/2,eq#/2,if#/3,ren#/3} / {apply/2,cons/2,false/0,lambda/2,nil/0,true/0,var/1 ,c_1/0,c_2/0,c_3/0,c_4/0,c_5/3,c_6/0,c_7/0,c_8/3,c_9/0,c_10/0,c_11/3,c_12/0,c_13/0,c_14/0,c_15/0,c_16/0 ,c_17/1,c_18/0,c_19/0,c_20/2,c_21/2,c_22/2} - Obligation: innermost runtime complexity wrt. defined symbols {and#,eq#,if#,ren#} and constructors {apply,cons,false ,lambda,nil,true,var} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)) -->_3 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_2 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_3 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_2 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_3 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_2 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_3 eq#(var(L),lambda(X,T)) -> c_16():20 -->_2 eq#(var(L),lambda(X,T)) -> c_16():20 -->_3 eq#(var(L),apply(T,S)) -> c_15():19 -->_2 eq#(var(L),apply(T,S)) -> c_15():19 -->_3 eq#(nil(),nil()) -> c_14():18 -->_2 eq#(nil(),nil()) -> c_14():18 -->_3 eq#(nil(),cons(T,L)) -> c_13():17 -->_2 eq#(nil(),cons(T,L)) -> c_13():17 -->_3 eq#(lambda(X,T),var(L)) -> c_12():16 -->_2 eq#(lambda(X,T),var(L)) -> c_12():16 -->_3 eq#(lambda(X,T),apply(Tp,Sp)) -> c_10():15 -->_2 eq#(lambda(X,T),apply(Tp,Sp)) -> c_10():15 -->_3 eq#(cons(T,L),nil()) -> c_9():14 -->_2 eq#(cons(T,L),nil()) -> c_9():14 -->_3 eq#(apply(T,S),var(L)) -> c_7():13 -->_2 eq#(apply(T,S),var(L)) -> c_7():13 -->_3 eq#(apply(T,S),lambda(X,Tp)) -> c_6():12 -->_2 eq#(apply(T,S),lambda(X,Tp)) -> c_6():12 -->_1 and#(true(),true()) -> c_4():11 -->_1 and#(true(),false()) -> c_3():10 -->_1 and#(false(),true()) -> c_2():9 -->_1 and#(false(),false()) -> c_1():8 -->_3 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 -->_2 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 2:S:eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)) -->_3 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_2 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_3 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_2 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_3 eq#(var(L),lambda(X,T)) -> c_16():20 -->_2 eq#(var(L),lambda(X,T)) -> c_16():20 -->_3 eq#(var(L),apply(T,S)) -> c_15():19 -->_2 eq#(var(L),apply(T,S)) -> c_15():19 -->_3 eq#(nil(),nil()) -> c_14():18 -->_2 eq#(nil(),nil()) -> c_14():18 -->_3 eq#(nil(),cons(T,L)) -> c_13():17 -->_2 eq#(nil(),cons(T,L)) -> c_13():17 -->_3 eq#(lambda(X,T),var(L)) -> c_12():16 -->_2 eq#(lambda(X,T),var(L)) -> c_12():16 -->_3 eq#(lambda(X,T),apply(Tp,Sp)) -> c_10():15 -->_2 eq#(lambda(X,T),apply(Tp,Sp)) -> c_10():15 -->_3 eq#(cons(T,L),nil()) -> c_9():14 -->_2 eq#(cons(T,L),nil()) -> c_9():14 -->_3 eq#(apply(T,S),var(L)) -> c_7():13 -->_2 eq#(apply(T,S),var(L)) -> c_7():13 -->_3 eq#(apply(T,S),lambda(X,Tp)) -> c_6():12 -->_2 eq#(apply(T,S),lambda(X,Tp)) -> c_6():12 -->_1 and#(true(),true()) -> c_4():11 -->_1 and#(true(),false()) -> c_3():10 -->_1 and#(false(),true()) -> c_2():9 -->_1 and#(false(),false()) -> c_1():8 -->_3 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_2 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_3 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 -->_2 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 3:S:eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)) -->_3 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_2 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_3 eq#(var(L),lambda(X,T)) -> c_16():20 -->_2 eq#(var(L),lambda(X,T)) -> c_16():20 -->_3 eq#(var(L),apply(T,S)) -> c_15():19 -->_2 eq#(var(L),apply(T,S)) -> c_15():19 -->_3 eq#(nil(),nil()) -> c_14():18 -->_2 eq#(nil(),nil()) -> c_14():18 -->_3 eq#(nil(),cons(T,L)) -> c_13():17 -->_2 eq#(nil(),cons(T,L)) -> c_13():17 -->_3 eq#(lambda(X,T),var(L)) -> c_12():16 -->_2 eq#(lambda(X,T),var(L)) -> c_12():16 -->_3 eq#(lambda(X,T),apply(Tp,Sp)) -> c_10():15 -->_2 eq#(lambda(X,T),apply(Tp,Sp)) -> c_10():15 -->_3 eq#(cons(T,L),nil()) -> c_9():14 -->_2 eq#(cons(T,L),nil()) -> c_9():14 -->_3 eq#(apply(T,S),var(L)) -> c_7():13 -->_2 eq#(apply(T,S),var(L)) -> c_7():13 -->_3 eq#(apply(T,S),lambda(X,Tp)) -> c_6():12 -->_2 eq#(apply(T,S),lambda(X,Tp)) -> c_6():12 -->_1 and#(true(),true()) -> c_4():11 -->_1 and#(true(),false()) -> c_3():10 -->_1 and#(false(),true()) -> c_2():9 -->_1 and#(false(),false()) -> c_1():8 -->_3 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_2 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_3 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_2 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_3 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 -->_2 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 4:S:eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)) -->_1 eq#(var(L),lambda(X,T)) -> c_16():20 -->_1 eq#(var(L),apply(T,S)) -> c_15():19 -->_1 eq#(nil(),nil()) -> c_14():18 -->_1 eq#(nil(),cons(T,L)) -> c_13():17 -->_1 eq#(lambda(X,T),var(L)) -> c_12():16 -->_1 eq#(lambda(X,T),apply(Tp,Sp)) -> c_10():15 -->_1 eq#(cons(T,L),nil()) -> c_9():14 -->_1 eq#(apply(T,S),var(L)) -> c_7():13 -->_1 eq#(apply(T,S),lambda(X,Tp)) -> c_6():12 -->_1 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_1 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_1 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_1 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 5:S:ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)) -->_2 ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)):7 -->_1 ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)):7 -->_2 ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)):6 -->_1 ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)):6 -->_2 ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)):5 -->_1 ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)):5 6:S:ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) -->_2 ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)):7 -->_1 ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)):7 -->_2 ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)):6 -->_1 ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)):6 -->_2 ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)):5 -->_1 ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)):5 7:S:ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)) -->_1 if#(true(),var(K),var(L)) -> c_19():22 -->_1 if#(false(),var(K),var(L)) -> c_18():21 -->_2 eq#(var(L),lambda(X,T)) -> c_16():20 -->_2 eq#(var(L),apply(T,S)) -> c_15():19 -->_2 eq#(nil(),nil()) -> c_14():18 -->_2 eq#(nil(),cons(T,L)) -> c_13():17 -->_2 eq#(lambda(X,T),var(L)) -> c_12():16 -->_2 eq#(lambda(X,T),apply(Tp,Sp)) -> c_10():15 -->_2 eq#(cons(T,L),nil()) -> c_9():14 -->_2 eq#(apply(T,S),var(L)) -> c_7():13 -->_2 eq#(apply(T,S),lambda(X,Tp)) -> c_6():12 -->_2 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_2 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_2 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_2 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 8:W:and#(false(),false()) -> c_1() 9:W:and#(false(),true()) -> c_2() 10:W:and#(true(),false()) -> c_3() 11:W:and#(true(),true()) -> c_4() 12:W:eq#(apply(T,S),lambda(X,Tp)) -> c_6() 13:W:eq#(apply(T,S),var(L)) -> c_7() 14:W:eq#(cons(T,L),nil()) -> c_9() 15:W:eq#(lambda(X,T),apply(Tp,Sp)) -> c_10() 16:W:eq#(lambda(X,T),var(L)) -> c_12() 17:W:eq#(nil(),cons(T,L)) -> c_13() 18:W:eq#(nil(),nil()) -> c_14() 19:W:eq#(var(L),apply(T,S)) -> c_15() 20:W:eq#(var(L),lambda(X,T)) -> c_16() 21:W:if#(false(),var(K),var(L)) -> c_18() 22:W:if#(true(),var(K),var(L)) -> c_19() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 21: if#(false(),var(K),var(L)) -> c_18() 22: if#(true(),var(K),var(L)) -> c_19() 8: and#(false(),false()) -> c_1() 9: and#(false(),true()) -> c_2() 10: and#(true(),false()) -> c_3() 11: and#(true(),true()) -> c_4() 12: eq#(apply(T,S),lambda(X,Tp)) -> c_6() 13: eq#(apply(T,S),var(L)) -> c_7() 14: eq#(cons(T,L),nil()) -> c_9() 15: eq#(lambda(X,T),apply(Tp,Sp)) -> c_10() 16: eq#(lambda(X,T),var(L)) -> c_12() 17: eq#(nil(),cons(T,L)) -> c_13() 18: eq#(nil(),nil()) -> c_14() 19: eq#(var(L),apply(T,S)) -> c_15() 20: eq#(var(L),lambda(X,T)) -> c_16() * Step 4: SimplifyRHS MAYBE + Considered Problem: - Strict DPs: eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)) eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)) eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)) eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)) ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)) ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)) - Weak TRS: and(false(),false()) -> false() and(false(),true()) -> false() and(true(),false()) -> false() and(true(),true()) -> true() eq(apply(T,S),apply(Tp,Sp)) -> and(eq(T,Tp),eq(S,Sp)) eq(apply(T,S),lambda(X,Tp)) -> false() eq(apply(T,S),var(L)) -> false() eq(cons(T,L),cons(Tp,Lp)) -> and(eq(T,Tp),eq(L,Lp)) eq(cons(T,L),nil()) -> false() eq(lambda(X,T),apply(Tp,Sp)) -> false() eq(lambda(X,T),lambda(Xp,Tp)) -> and(eq(T,Tp),eq(X,Xp)) eq(lambda(X,T),var(L)) -> false() eq(nil(),cons(T,L)) -> false() eq(nil(),nil()) -> true() eq(var(L),apply(T,S)) -> false() eq(var(L),lambda(X,T)) -> false() eq(var(L),var(Lp)) -> eq(L,Lp) if(false(),var(K),var(L)) -> var(L) if(true(),var(K),var(L)) -> var(K) ren(X,Y,apply(T,S)) -> apply(ren(X,Y,T),ren(X,Y,S)) ren(X,Y,lambda(Z,T)) -> lambda(var(cons(X,cons(Y,cons(lambda(Z,T),nil())))) ,ren(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T))) ren(var(L),var(K),var(Lp)) -> if(eq(L,Lp),var(K),var(Lp)) - Signature: {and/2,eq/2,if/3,ren/3,and#/2,eq#/2,if#/3,ren#/3} / {apply/2,cons/2,false/0,lambda/2,nil/0,true/0,var/1 ,c_1/0,c_2/0,c_3/0,c_4/0,c_5/3,c_6/0,c_7/0,c_8/3,c_9/0,c_10/0,c_11/3,c_12/0,c_13/0,c_14/0,c_15/0,c_16/0 ,c_17/1,c_18/0,c_19/0,c_20/2,c_21/2,c_22/2} - Obligation: innermost runtime complexity wrt. defined symbols {and#,eq#,if#,ren#} and constructors {apply,cons,false ,lambda,nil,true,var} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)) -->_3 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_2 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_3 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_2 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_3 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_2 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_3 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 -->_2 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 2:S:eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)) -->_3 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_2 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_3 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_2 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_3 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_2 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_3 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 -->_2 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 3:S:eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)) -->_3 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_2 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_3 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_2 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_3 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_2 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_3 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 -->_2 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 4:S:eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)) -->_1 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_1 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_1 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_1 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 5:S:ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)) -->_2 ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)):7 -->_1 ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)):7 -->_2 ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)):6 -->_1 ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)):6 -->_2 ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)):5 -->_1 ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)):5 6:S:ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) -->_2 ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)):7 -->_1 ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)):7 -->_2 ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)):6 -->_1 ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)):6 -->_2 ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)):5 -->_1 ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)):5 7:S:ren#(var(L),var(K),var(Lp)) -> c_22(if#(eq(L,Lp),var(K),var(Lp)),eq#(L,Lp)) -->_2 eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)):4 -->_2 eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(and#(eq(T,Tp),eq(X,Xp)),eq#(T,Tp),eq#(X,Xp)):3 -->_2 eq#(cons(T,L),cons(Tp,Lp)) -> c_8(and#(eq(T,Tp),eq(L,Lp)),eq#(T,Tp),eq#(L,Lp)):2 -->_2 eq#(apply(T,S),apply(Tp,Sp)) -> c_5(and#(eq(T,Tp),eq(S,Sp)),eq#(T,Tp),eq#(S,Sp)):1 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: eq#(apply(T,S),apply(Tp,Sp)) -> c_5(eq#(T,Tp),eq#(S,Sp)) eq#(cons(T,L),cons(Tp,Lp)) -> c_8(eq#(T,Tp),eq#(L,Lp)) eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(eq#(T,Tp),eq#(X,Xp)) ren#(var(L),var(K),var(Lp)) -> c_22(eq#(L,Lp)) * Step 5: Failure MAYBE + Considered Problem: - Strict DPs: eq#(apply(T,S),apply(Tp,Sp)) -> c_5(eq#(T,Tp),eq#(S,Sp)) eq#(cons(T,L),cons(Tp,Lp)) -> c_8(eq#(T,Tp),eq#(L,Lp)) eq#(lambda(X,T),lambda(Xp,Tp)) -> c_11(eq#(T,Tp),eq#(X,Xp)) eq#(var(L),var(Lp)) -> c_17(eq#(L,Lp)) ren#(X,Y,apply(T,S)) -> c_20(ren#(X,Y,T),ren#(X,Y,S)) ren#(X,Y,lambda(Z,T)) -> c_21(ren#(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ,ren#(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T)) ren#(var(L),var(K),var(Lp)) -> c_22(eq#(L,Lp)) - Weak TRS: and(false(),false()) -> false() and(false(),true()) -> false() and(true(),false()) -> false() and(true(),true()) -> true() eq(apply(T,S),apply(Tp,Sp)) -> and(eq(T,Tp),eq(S,Sp)) eq(apply(T,S),lambda(X,Tp)) -> false() eq(apply(T,S),var(L)) -> false() eq(cons(T,L),cons(Tp,Lp)) -> and(eq(T,Tp),eq(L,Lp)) eq(cons(T,L),nil()) -> false() eq(lambda(X,T),apply(Tp,Sp)) -> false() eq(lambda(X,T),lambda(Xp,Tp)) -> and(eq(T,Tp),eq(X,Xp)) eq(lambda(X,T),var(L)) -> false() eq(nil(),cons(T,L)) -> false() eq(nil(),nil()) -> true() eq(var(L),apply(T,S)) -> false() eq(var(L),lambda(X,T)) -> false() eq(var(L),var(Lp)) -> eq(L,Lp) if(false(),var(K),var(L)) -> var(L) if(true(),var(K),var(L)) -> var(K) ren(X,Y,apply(T,S)) -> apply(ren(X,Y,T),ren(X,Y,S)) ren(X,Y,lambda(Z,T)) -> lambda(var(cons(X,cons(Y,cons(lambda(Z,T),nil())))) ,ren(X,Y,ren(Z,var(cons(X,cons(Y,cons(lambda(Z,T),nil())))),T))) ren(var(L),var(K),var(Lp)) -> if(eq(L,Lp),var(K),var(Lp)) - Signature: {and/2,eq/2,if/3,ren/3,and#/2,eq#/2,if#/3,ren#/3} / {apply/2,cons/2,false/0,lambda/2,nil/0,true/0,var/1 ,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/0,c_7/0,c_8/2,c_9/0,c_10/0,c_11/2,c_12/0,c_13/0,c_14/0,c_15/0,c_16/0 ,c_17/1,c_18/0,c_19/0,c_20/2,c_21/2,c_22/1} - Obligation: innermost runtime complexity wrt. defined symbols {and#,eq#,if#,ren#} and constructors {apply,cons,false ,lambda,nil,true,var} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE