<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PROOF SYSTEM "http://a3pat.ensiie.fr/pub/a3pat.dtd">
<PROOF><SIGNATURE><SYMBOLLIST><SYMBOL arity="1" unmarked="double"><NAME>Marked_double</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>s</NAME></SYMBOL><SYMBOL arity="1" unmarked="sqr"><NAME>Marked_sqr</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>sqr</NAME></SYMBOL><SYMBOL arity="2" unmarked="+"><NAME>Marked_+</NAME></SYMBOL><SYMBOL arity="2" unmarked=""><NAME>+</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>double</NAME></SYMBOL><SYMBOL arity="0" unmarked=""><NAME>0</NAME></SYMBOL></SYMBOLLIST><VARLIST><VAR>z</VAR><VAR>y</VAR><VAR>x</VAR></VARLIST></SIGNATURE><PROPERTY criterion="dp" prop="sntrs"><SYSTEM><REWSYS><RULE><LHS>sqr(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>+(sqr(x),s(double(x)))</RHS></RULE><RULE><LHS>double(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>double(s(x))</LHS><RHS>s(s(double(x)))</RHS></RULE><RULE><LHS>+(x,0)</LHS><RHS>x</RHS></RULE><RULE><LHS>+(x,s(y))</LHS><RHS>s(+(x,y))</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>s(+(sqr(x),double(x)))</RHS></RULE></REWSYS></SYSTEM><CRITERION/><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sqr(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>+(sqr(x),s(double(x)))</RHS></RULE><RULE><LHS>double(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>double(s(x))</LHS><RHS>s(s(double(x)))</RHS></RULE><RULE><LHS>+(x,0)</LHS><RHS>x</RHS></RULE><RULE><LHS>+(x,s(y))</LHS><RHS>s(+(x,y))</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>s(+(sqr(x),double(x)))</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_sqr(s(x))</LHS><RHS>Marked_+(sqr(x),s(double(x)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_sqr(s(x))</LHS><RHS>Marked_sqr(x)</RHS></DPRULE><DPRULE num="2"><LHS>Marked_sqr(s(x))</LHS><RHS>Marked_double(x)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_double(s(x))</LHS><RHS>Marked_double(x)</RHS></DPRULE><DPRULE num="4"><LHS>Marked_+(x,s(y))</LHS><RHS>Marked_+(x,y)</RHS></DPRULE><DPRULE num="5"><LHS>Marked_sqr(s(x))</LHS><RHS>Marked_+(sqr(x),double(x))</RHS></DPRULE><DPRULE num="6"><LHS>Marked_sqr(s(x))</LHS><RHS>Marked_sqr(x)</RHS></DPRULE><DPRULE num="7"><LHS>Marked_sqr(s(x))</LHS><RHS>Marked_double(x)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><NONSCC num="0"><NODE ref="2"/></NONSCC><SCC num="1"><NODE ref="3"/></SCC><SCC num="2"><NODE ref="1"/><NODE ref="1"/></SCC><NONSCC num="3"><NODE ref="5"/></NONSCC><NONSCC num="4"><NODE ref="0"/></NONSCC><SCC num="5"><NODE ref="4"/></SCC></CCLIST><EDGE end="1" start="0"/><EDGE end="4" start="2"/><EDGE end="3" start="2"/><EDGE end="0" start="2"/><EDGE end="5" start="3"/><EDGE end="5" start="4"/></DAG></CRITERION><PROPERTY criterion="ordering" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sqr(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>+(sqr(x),s(double(x)))</RHS></RULE><RULE><LHS>double(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>double(s(x))</LHS><RHS>s(s(double(x)))</RHS></RULE><RULE><LHS>+(x,0)</LHS><RHS>x</RHS></RULE><RULE><LHS>+(x,s(y))</LHS><RHS>s(+(x,y))</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>s(+(sqr(x),double(x)))</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_sqr(s(x))</LHS><RHS>Marked_sqr(x)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_sqr(s(x))</LHS><RHS>Marked_sqr(x)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="rpo"><STATUSLIST><STATUS status="lex"><SYMBOL><NAME>double</NAME></SYMBOL></STATUS><STATUS status="lex"><SYMBOL><NAME>+</NAME></SYMBOL></STATUS><STATUS status="lex"><SYMBOL><NAME>sqr</NAME></SYMBOL></STATUS><STATUS status="lex"><SYMBOL><NAME>s</NAME></SYMBOL></STATUS></STATUSLIST><PRECEDENCE><PREC><OLHS><SYMBOL><NAME>+</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>sqr</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>s</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>sqr</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>s</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>+</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>s</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>double</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>double</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>sqr</NAME></SYMBOL></ORHS></PREC></PRECEDENCE><EQUIVALENCE/></ORDERING></CRITERION></PROPERTY><PROPERTY criterion="ordering" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sqr(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>+(sqr(x),s(double(x)))</RHS></RULE><RULE><LHS>double(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>double(s(x))</LHS><RHS>s(s(double(x)))</RHS></RULE><RULE><LHS>+(x,0)</LHS><RHS>x</RHS></RULE><RULE><LHS>+(x,s(y))</LHS><RHS>s(+(x,y))</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>s(+(sqr(x),double(x)))</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_+(x,s(y))</LHS><RHS>Marked_+(x,y)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="rpo"><STATUSLIST><STATUS status="lex"><SYMBOL><NAME>double</NAME></SYMBOL></STATUS><STATUS status="lex"><SYMBOL><NAME>+</NAME></SYMBOL></STATUS><STATUS status="lex"><SYMBOL><NAME>sqr</NAME></SYMBOL></STATUS><STATUS status="lex"><SYMBOL><NAME>s</NAME></SYMBOL></STATUS></STATUSLIST><PRECEDENCE><PREC><OLHS><SYMBOL><NAME>+</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>sqr</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>s</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>sqr</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>s</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>+</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>s</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>double</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>double</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>sqr</NAME></SYMBOL></ORHS></PREC></PRECEDENCE><EQUIVALENCE/></ORDERING></CRITERION></PROPERTY><PROPERTY criterion="ordering" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>sqr(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>+(sqr(x),s(double(x)))</RHS></RULE><RULE><LHS>double(0)</LHS><RHS>0</RHS></RULE><RULE><LHS>double(s(x))</LHS><RHS>s(s(double(x)))</RHS></RULE><RULE><LHS>+(x,0)</LHS><RHS>x</RHS></RULE><RULE><LHS>+(x,s(y))</LHS><RHS>s(+(x,y))</RHS></RULE><RULE><LHS>sqr(s(x))</LHS><RHS>s(+(sqr(x),double(x)))</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_double(s(x))</LHS><RHS>Marked_double(x)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="rpo"><STATUSLIST><STATUS status="lex"><SYMBOL><NAME>double</NAME></SYMBOL></STATUS><STATUS status="lex"><SYMBOL><NAME>+</NAME></SYMBOL></STATUS><STATUS status="lex"><SYMBOL><NAME>sqr</NAME></SYMBOL></STATUS><STATUS status="lex"><SYMBOL><NAME>s</NAME></SYMBOL></STATUS></STATUSLIST><PRECEDENCE><PREC><OLHS><SYMBOL><NAME>+</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>sqr</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>s</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>sqr</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>s</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>+</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>s</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>double</NAME></SYMBOL></ORHS></PREC><PREC><OLHS><SYMBOL><NAME>double</NAME></SYMBOL></OLHS><ORHS><SYMBOL><NAME>sqr</NAME></SYMBOL></ORHS></PREC></PRECEDENCE><EQUIVALENCE/></ORDERING></CRITERION></PROPERTY></PROPERTY></PROPERTY></PROOF>
