<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PROOF SYSTEM "http://a3pat.ensiie.fr/pub/a3pat.dtd">
<PROOF><SIGNATURE><SYMBOLLIST><SYMBOL arity="4" unmarked="choose"><NAME>Marked_choose</NAME></SYMBOL><SYMBOL arity="2" unmarked=""><NAME>cons</NAME></SYMBOL><SYMBOL arity="0" unmarked=""><NAME>0</NAME></SYMBOL><SYMBOL arity="1" unmarked="sort"><NAME>Marked_sort</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>sort</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>s</NAME></SYMBOL><SYMBOL arity="2" unmarked=""><NAME>insert</NAME></SYMBOL><SYMBOL arity="4" unmarked=""><NAME>choose</NAME></SYMBOL><SYMBOL arity="2" unmarked="insert"><NAME>Marked_insert</NAME></SYMBOL><SYMBOL arity="0" unmarked=""><NAME>nil</NAME></SYMBOL></SYMBOLLIST><VARLIST><VAR>w</VAR><VAR>v</VAR><VAR>z</VAR><VAR>y</VAR><VAR>x</VAR></VARLIST></SIGNATURE><PROPERTY criterion="dp" prop="sntrs"><SYSTEM><REWSYS><RULE><LHS>sort(nil)</LHS><RHS>nil</RHS></RULE><RULE><LHS>sort(cons(x,y))</LHS><RHS>insert(x,sort(y))</RHS></RULE><RULE><LHS>insert(x,nil)</LHS><RHS>cons(x,nil)</RHS></RULE><RULE><LHS>insert(x,cons(v,w))</LHS><RHS>choose(x,cons(v,w),x,v)</RHS></RULE><RULE><LHS>choose(x,cons(v,w),y,0)</LHS><RHS>cons(x,cons(v,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),0,s(z))</LHS><RHS>cons(v,insert(x,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),s(y),s(z))</LHS><RHS>choose(x,cons(v,w),y,z)</RHS></RULE></REWSYS></SYSTEM><CRITERION/><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sort(nil)</LHS><RHS>nil</RHS></RULE><RULE><LHS>sort(cons(x,y))</LHS><RHS>insert(x,sort(y))</RHS></RULE><RULE><LHS>insert(x,nil)</LHS><RHS>cons(x,nil)</RHS></RULE><RULE><LHS>insert(x,cons(v,w))</LHS><RHS>choose(x,cons(v,w),x,v)</RHS></RULE><RULE><LHS>choose(x,cons(v,w),y,0)</LHS><RHS>cons(x,cons(v,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),0,s(z))</LHS><RHS>cons(v,insert(x,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),s(y),s(z))</LHS><RHS>choose(x,cons(v,w),y,z)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_sort(cons(x,y))</LHS><RHS>Marked_insert(x,sort(y))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_sort(cons(x,y))</LHS><RHS>Marked_sort(y)</RHS></DPRULE><DPRULE num="2"><LHS>Marked_insert(x,cons(v,w))</LHS><RHS>Marked_choose(x,cons(v,w),x,v)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_choose(x,cons(v,w),0,s(z))</LHS><RHS>Marked_insert(x,w)</RHS></DPRULE><DPRULE num="4"><LHS>Marked_choose(x,cons(v,w),s(y),s(z))</LHS><RHS>Marked_choose(x,cons(v,w),y,z)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="2"/><NODE ref="3"/><NODE ref="4"/></SCC><SCC num="1"><NODE ref="1"/></SCC><NONSCC num="2"><NODE ref="0"/></NONSCC></CCLIST><EDGE end="2" start="1"/><EDGE end="0" start="2"/></DAG></CRITERION><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sort(nil)</LHS><RHS>nil</RHS></RULE><RULE><LHS>sort(cons(x,y))</LHS><RHS>insert(x,sort(y))</RHS></RULE><RULE><LHS>insert(x,nil)</LHS><RHS>cons(x,nil)</RHS></RULE><RULE><LHS>insert(x,cons(v,w))</LHS><RHS>choose(x,cons(v,w),x,v)</RHS></RULE><RULE><LHS>choose(x,cons(v,w),y,0)</LHS><RHS>cons(x,cons(v,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),0,s(z))</LHS><RHS>cons(v,insert(x,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),s(y),s(z))</LHS><RHS>choose(x,cons(v,w),y,z)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_sort(cons(x,y))</LHS><RHS>Marked_sort(y)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_sort</NAME></SYMBOL><INT>1</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_sort(cons(x,y))</LHS><RHS>Marked_sort(y)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sort(nil)</LHS><RHS>nil</RHS></RULE><RULE><LHS>sort(cons(x,y))</LHS><RHS>insert(x,sort(y))</RHS></RULE><RULE><LHS>insert(x,nil)</LHS><RHS>cons(x,nil)</RHS></RULE><RULE><LHS>insert(x,cons(v,w))</LHS><RHS>choose(x,cons(v,w),x,v)</RHS></RULE><RULE><LHS>choose(x,cons(v,w),y,0)</LHS><RHS>cons(x,cons(v,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),0,s(z))</LHS><RHS>cons(v,insert(x,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),s(y),s(z))</LHS><RHS>choose(x,cons(v,w),y,z)</RHS></RULE></REWSYS><DPLIST/></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST/></DAG></CRITERION></PROPERTY></PROPERTY><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sort(nil)</LHS><RHS>nil</RHS></RULE><RULE><LHS>sort(cons(x,y))</LHS><RHS>insert(x,sort(y))</RHS></RULE><RULE><LHS>insert(x,nil)</LHS><RHS>cons(x,nil)</RHS></RULE><RULE><LHS>insert(x,cons(v,w))</LHS><RHS>choose(x,cons(v,w),x,v)</RHS></RULE><RULE><LHS>choose(x,cons(v,w),y,0)</LHS><RHS>cons(x,cons(v,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),0,s(z))</LHS><RHS>cons(v,insert(x,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),s(y),s(z))</LHS><RHS>choose(x,cons(v,w),y,z)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_insert(x,cons(v,w))</LHS><RHS>Marked_choose(x,cons(v,w),x,v)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_choose(x,cons(v,w),0,s(z))</LHS><RHS>Marked_insert(x,w)</RHS></DPRULE><DPRULE num="2"><LHS>Marked_choose(x,cons(v,w),s(y),s(z))</LHS><RHS>Marked_choose(x,cons(v,w),y,z)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_choose</NAME></SYMBOL><INT>2</INT></PROJ><PROJ><SYMBOL><NAME>Marked_insert</NAME></SYMBOL><INT>2</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_choose(x,cons(v,w),0,s(z))</LHS><RHS>Marked_insert(x,w)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sort(nil)</LHS><RHS>nil</RHS></RULE><RULE><LHS>sort(cons(x,y))</LHS><RHS>insert(x,sort(y))</RHS></RULE><RULE><LHS>insert(x,nil)</LHS><RHS>cons(x,nil)</RHS></RULE><RULE><LHS>insert(x,cons(v,w))</LHS><RHS>choose(x,cons(v,w),x,v)</RHS></RULE><RULE><LHS>choose(x,cons(v,w),y,0)</LHS><RHS>cons(x,cons(v,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),0,s(z))</LHS><RHS>cons(v,insert(x,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),s(y),s(z))</LHS><RHS>choose(x,cons(v,w),y,z)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_choose(x,cons(v,w),s(y),s(z))</LHS><RHS>Marked_choose(x,cons(v,w),y,z)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_insert(x,cons(v,w))</LHS><RHS>Marked_choose(x,cons(v,w),x,v)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><NONSCC num="0"><NODE ref="1"/></NONSCC><SCC num="1"><NODE ref="0"/></SCC></CCLIST><EDGE end="1" start="0"/></DAG></CRITERION><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sort(nil)</LHS><RHS>nil</RHS></RULE><RULE><LHS>sort(cons(x,y))</LHS><RHS>insert(x,sort(y))</RHS></RULE><RULE><LHS>insert(x,nil)</LHS><RHS>cons(x,nil)</RHS></RULE><RULE><LHS>insert(x,cons(v,w))</LHS><RHS>choose(x,cons(v,w),x,v)</RHS></RULE><RULE><LHS>choose(x,cons(v,w),y,0)</LHS><RHS>cons(x,cons(v,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),0,s(z))</LHS><RHS>cons(v,insert(x,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),s(y),s(z))</LHS><RHS>choose(x,cons(v,w),y,z)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_choose(x,cons(v,w),s(y),s(z))</LHS><RHS>Marked_choose(x,cons(v,w),y,z)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_choose</NAME></SYMBOL><INT>3</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_choose(x,cons(v,w),s(y),s(z))</LHS><RHS>Marked_choose(x,cons(v,w),y,z)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sort(nil)</LHS><RHS>nil</RHS></RULE><RULE><LHS>sort(cons(x,y))</LHS><RHS>insert(x,sort(y))</RHS></RULE><RULE><LHS>insert(x,nil)</LHS><RHS>cons(x,nil)</RHS></RULE><RULE><LHS>insert(x,cons(v,w))</LHS><RHS>choose(x,cons(v,w),x,v)</RHS></RULE><RULE><LHS>choose(x,cons(v,w),y,0)</LHS><RHS>cons(x,cons(v,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),0,s(z))</LHS><RHS>cons(v,insert(x,w))</RHS></RULE><RULE><LHS>choose(x,cons(v,w),s(y),s(z))</LHS><RHS>choose(x,cons(v,w),y,z)</RHS></RULE></REWSYS><DPLIST/></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST/></DAG></CRITERION></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROOF>
