YES Problem: if(true(),x,y) -> x if(false(),x,y) -> y if(x,y,y) -> y if(if(x,y,z),u,v) -> if(x,if(y,u,v),if(z,u,v)) if(x,if(x,y,z),z) -> if(x,y,z) if(x,y,if(x,y,z)) -> if(x,y,z) Proof: DP Processor: DPs: if#(if(x,y,z),u,v) -> if#(z,u,v) if#(if(x,y,z),u,v) -> if#(y,u,v) if#(if(x,y,z),u,v) -> if#(x,if(y,u,v),if(z,u,v)) TRS: if(true(),x,y) -> x if(false(),x,y) -> y if(x,y,y) -> y if(if(x,y,z),u,v) -> if(x,if(y,u,v),if(z,u,v)) if(x,if(x,y,z),z) -> if(x,y,z) if(x,y,if(x,y,z)) -> if(x,y,z) LPO Processor: argument filtering: pi(true) = [] pi(if) = [0,1,2] pi(false) = [] pi(if#) = 0 precedence: if# ~ false ~ if ~ true problem: DPs: TRS: if(true(),x,y) -> x if(false(),x,y) -> y if(x,y,y) -> y if(if(x,y,z),u,v) -> if(x,if(y,u,v),if(z,u,v)) if(x,if(x,y,z),z) -> if(x,y,z) if(x,y,if(x,y,z)) -> if(x,y,z) Qed