YES Proof: This system is confluent. By \cite{ALS94}, Theorem 4.1. This system is of type 3 or smaller. This system is strongly deterministic. All 4 critical pairs are joinable. cons(x', cons(y', z')) = cons(y', insert(z', x')) <= lte(x', y') = false, lte(x', y') = true: This critical pair is unfeasible. cons(x', insert(y', z')) = cons(z', cons(x', y')) <= lte(z', x') = true, lte(z', x') = false: This critical pair is unfeasible. ordered(cons(x', y')) = false <= lte(z', x') = false, lte(z', x') = true: This critical pair is unfeasible. false = ordered(cons(x', y')) <= lte(z', x') = true, lte(z', x') = false: This critical pair is unfeasible. By \cite{A14}, Theorem 11.5.9. This system is of type 3 or smaller. This system is deterministic. System R transformed to V(R) + Emb. Call external tool: ttt2 - trs 30 Input: lte(0, n) -> true lte(s(m), 0) -> false lte(s(m), s(n)) -> lte(m, n) insert(nil, m) -> cons(m, nil) insert(cons(n, l), m) -> cons(m, cons(n, l)) insert(cons(n, l), m) -> lte(m, n) insert(cons(n, l), m) -> cons(n, insert(l, m)) ordered(nil) -> true ordered(cons(m, nil)) -> true ordered(cons(m, cons(n, l))) -> ordered(cons(n, l)) ordered(cons(m, cons(n, l))) -> lte(m, n) ordered(cons(m, cons(n, l))) -> false s(x) -> x insert(x, y) -> x insert(x, y) -> y lte(x, y) -> x lte(x, y) -> y ordered(x) -> x cons(x, y) -> x cons(x, y) -> y DP Processor: DPs: lte#(s(m),s(n)) -> lte#(m,n) insert#(nil(),m) -> cons#(m,nil()) insert#(cons(n,l),m) -> cons#(m,cons(n,l)) insert#(cons(n,l),m) -> lte#(m,n) insert#(cons(n,l),m) -> insert#(l,m) insert#(cons(n,l),m) -> cons#(n,insert(l,m)) ordered#(cons(m,cons(n,l))) -> ordered#(cons(n,l)) ordered#(cons(m,cons(n,l))) -> lte#(m,n) TRS: lte(0(),n) -> true() lte(s(m),0()) -> false() lte(s(m),s(n)) -> lte(m,n) insert(nil(),m) -> cons(m,nil()) insert(cons(n,l),m) -> cons(m,cons(n,l)) insert(cons(n,l),m) -> lte(m,n) insert(cons(n,l),m) -> cons(n,insert(l,m)) ordered(nil()) -> true() ordered(cons(m,nil())) -> true() ordered(cons(m,cons(n,l))) -> ordered(cons(n,l)) ordered(cons(m,cons(n,l))) -> lte(m,n) ordered(cons(m,cons(n,l))) -> false() s(x) -> x insert(x,y) -> x insert(x,y) -> y lte(x,y) -> x lte(x,y) -> y ordered(x) -> x cons(x,y) -> x cons(x,y) -> y TDG Processor: DPs: lte#(s(m),s(n)) -> lte#(m,n) insert#(nil(),m) -> cons#(m,nil()) insert#(cons(n,l),m) -> cons#(m,cons(n,l)) insert#(cons(n,l),m) -> lte#(m,n) insert#(cons(n,l),m) -> insert#(l,m) insert#(cons(n,l),m) -> cons#(n,insert(l,m)) ordered#(cons(m,cons(n,l))) -> ordered#(cons(n,l)) ordered#(cons(m,cons(n,l))) -> lte#(m,n) TRS: lte(0(),n) -> true() lte(s(m),0()) -> false() lte(s(m),s(n)) -> lte(m,n) insert(nil(),m) -> cons(m,nil()) insert(cons(n,l),m) -> cons(m,cons(n,l)) insert(cons(n,l),m) -> lte(m,n) insert(cons(n,l),m) -> cons(n,insert(l,m)) ordered(nil()) -> true() ordered(cons(m,nil())) -> true() ordered(cons(m,cons(n,l))) -> ordered(cons(n,l)) ordered(cons(m,cons(n,l))) -> lte(m,n) ordered(cons(m,cons(n,l))) -> false() s(x) -> x insert(x,y) -> x insert(x,y) -> y lte(x,y) -> x lte(x,y) -> y ordered(x) -> x cons(x,y) -> x cons(x,y) -> y graph: ordered#(cons(m,cons(n,l))) -> ordered#(cons(n,l)) -> ordered#(cons(m,cons(n,l))) -> lte#(m,n) ordered#(cons(m,cons(n,l))) -> ordered#(cons(n,l)) -> ordered#(cons(m,cons(n,l))) -> ordered#(cons(n,l)) ordered#(cons(m,cons(n,l))) -> lte#(m,n) -> lte#(s(m),s(n)) -> lte#(m,n) insert#(cons(n,l),m) -> insert#(l,m) -> insert#(cons(n,l),m) -> cons#(n,insert(l,m)) insert#(cons(n,l),m) -> insert#(l,m) -> insert#(cons(n,l),m) -> insert#(l,m) insert#(cons(n,l),m) -> insert#(l,m) -> insert#(cons(n,l),m) -> lte#(m,n) insert#(cons(n,l),m) -> insert#(l,m) -> insert#(cons(n,l),m) -> cons#(m,cons(n,l)) insert#(cons(n,l),m) -> insert#(l,m) -> insert#(nil(),m) -> cons#(m,nil()) insert#(cons(n,l),m) -> lte#(m,n) -> lte#(s(m),s(n)) -> lte#(m,n) lte#(s(m),s(n)) -> lte#(m,n) -> lte#(s(m),s(n)) -> lte#(m,n) SCC Processor: #sccs: 3 #rules: 3 #arcs: 10/64 DPs: insert#(cons(n,l),m) -> insert#(l,m) TRS: lte(0(),n) -> true() lte(s(m),0()) -> false() lte(s(m),s(n)) -> lte(m,n) insert(nil(),m) -> cons(m,nil()) insert(cons(n,l),m) -> cons(m,cons(n,l)) insert(cons(n,l),m) -> lte(m,n) insert(cons(n,l),m) -> cons(n,insert(l,m)) ordered(nil()) -> true() ordered(cons(m,nil())) -> true() ordered(cons(m,cons(n,l))) -> ordered(cons(n,l)) ordered(cons(m,cons(n,l))) -> lte(m,n) ordered(cons(m,cons(n,l))) -> false() s(x) -> x insert(x,y) -> x insert(x,y) -> y lte(x,y) -> x lte(x,y) -> y ordered(x) -> x cons(x,y) -> x cons(x,y) -> y Subterm Criterion Processor: simple projection: pi(insert#) = 0 problem: DPs: TRS: lte(0(),n) -> true() lte(s(m),0()) -> false() lte(s(m),s(n)) -> lte(m,n) insert(nil(),m) -> cons(m,nil()) insert(cons(n,l),m) -> cons(m,cons(n,l)) insert(cons(n,l),m) -> lte(m,n) insert(cons(n,l),m) -> cons(n,insert(l,m)) ordered(nil()) -> true() ordered(cons(m,nil())) -> true() ordered(cons(m,cons(n,l))) -> ordered(cons(n,l)) ordered(cons(m,cons(n,l))) -> lte(m,n) ordered(cons(m,cons(n,l))) -> false() s(x) -> x insert(x,y) -> x insert(x,y) -> y lte(x,y) -> x lte(x,y) -> y ordered(x) -> x cons(x,y) -> x cons(x,y) -> y Qed DPs: ordered#(cons(m,cons(n,l))) -> ordered#(cons(n,l)) TRS: lte(0(),n) -> true() lte(s(m),0()) -> false() lte(s(m),s(n)) -> lte(m,n) insert(nil(),m) -> cons(m,nil()) insert(cons(n,l),m) -> cons(m,cons(n,l)) insert(cons(n,l),m) -> lte(m,n) insert(cons(n,l),m) -> cons(n,insert(l,m)) ordered(nil()) -> true() ordered(cons(m,nil())) -> true() ordered(cons(m,cons(n,l))) -> ordered(cons(n,l)) ordered(cons(m,cons(n,l))) -> lte(m,n) ordered(cons(m,cons(n,l))) -> false() s(x) -> x insert(x,y) -> x insert(x,y) -> y lte(x,y) -> x lte(x,y) -> y ordered(x) -> x cons(x,y) -> x cons(x,y) -> y Subterm Criterion Processor: simple projection: pi(ordered#) = 0 problem: DPs: TRS: lte(0(),n) -> true() lte(s(m),0()) -> false() lte(s(m),s(n)) -> lte(m,n) insert(nil(),m) -> cons(m,nil()) insert(cons(n,l),m) -> cons(m,cons(n,l)) insert(cons(n,l),m) -> lte(m,n) insert(cons(n,l),m) -> cons(n,insert(l,m)) ordered(nil()) -> true() ordered(cons(m,nil())) -> true() ordered(cons(m,cons(n,l))) -> ordered(cons(n,l)) ordered(cons(m,cons(n,l))) -> lte(m,n) ordered(cons(m,cons(n,l))) -> false() s(x) -> x insert(x,y) -> x insert(x,y) -> y lte(x,y) -> x lte(x,y) -> y ordered(x) -> x cons(x,y) -> x cons(x,y) -> y Qed DPs: lte#(s(m),s(n)) -> lte#(m,n) TRS: lte(0(),n) -> true() lte(s(m),0()) -> false() lte(s(m),s(n)) -> lte(m,n) insert(nil(),m) -> cons(m,nil()) insert(cons(n,l),m) -> cons(m,cons(n,l)) insert(cons(n,l),m) -> lte(m,n) insert(cons(n,l),m) -> cons(n,insert(l,m)) ordered(nil()) -> true() ordered(cons(m,nil())) -> true() ordered(cons(m,cons(n,l))) -> ordered(cons(n,l)) ordered(cons(m,cons(n,l))) -> lte(m,n) ordered(cons(m,cons(n,l))) -> false() s(x) -> x insert(x,y) -> x insert(x,y) -> y lte(x,y) -> x lte(x,y) -> y ordered(x) -> x cons(x,y) -> x cons(x,y) -> y Subterm Criterion Processor: simple projection: pi(lte#) = 0 problem: DPs: TRS: lte(0(),n) -> true() lte(s(m),0()) -> false() lte(s(m),s(n)) -> lte(m,n) insert(nil(),m) -> cons(m,nil()) insert(cons(n,l),m) -> cons(m,cons(n,l)) insert(cons(n,l),m) -> lte(m,n) insert(cons(n,l),m) -> cons(n,insert(l,m)) ordered(nil()) -> true() ordered(cons(m,nil())) -> true() ordered(cons(m,cons(n,l))) -> ordered(cons(n,l)) ordered(cons(m,cons(n,l))) -> lte(m,n) ordered(cons(m,cons(n,l))) -> false() s(x) -> x insert(x,y) -> x insert(x,y) -> y lte(x,y) -> x lte(x,y) -> y ordered(x) -> x cons(x,y) -> x cons(x,y) -> y Qed