<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PROOF SYSTEM "http://a3pat.ensiie.fr/pub/a3pat.dtd">
<PROOF><SIGNATURE><SYMBOLLIST><SYMBOL arity="2" unmarked="fst"><NAME>Marked_fst</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>from</NAME></SYMBOL><SYMBOL arity="2" unmarked="add"><NAME>Marked_add</NAME></SYMBOL><SYMBOL arity="2" unmarked=""><NAME>fst</NAME></SYMBOL><SYMBOL arity="2" unmarked="cons"><NAME>Marked_cons</NAME></SYMBOL><SYMBOL arity="2" unmarked=""><NAME>cons</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>len</NAME></SYMBOL><SYMBOL arity="1" unmarked="active"><NAME>Marked_active</NAME></SYMBOL><SYMBOL arity="0" unmarked=""><NAME>nil</NAME></SYMBOL><SYMBOL arity="1" unmarked="s"><NAME>Marked_s</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>s</NAME></SYMBOL><SYMBOL arity="1" unmarked="len"><NAME>Marked_len</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>active</NAME></SYMBOL><SYMBOL arity="1" unmarked="from"><NAME>Marked_from</NAME></SYMBOL><SYMBOL arity="0" unmarked=""><NAME>0</NAME></SYMBOL><SYMBOL arity="2" unmarked=""><NAME>add</NAME></SYMBOL><SYMBOL arity="1" unmarked="mark"><NAME>Marked_mark</NAME></SYMBOL><SYMBOL arity="1" unmarked=""><NAME>mark</NAME></SYMBOL></SYMBOLLIST><VARLIST><VAR>X2</VAR><VAR>X1</VAR><VAR>Y</VAR><VAR>X</VAR><VAR>Z</VAR></VARLIST></SIGNATURE><PROPERTY criterion="dp" prop="sntrs"><SYSTEM><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS></SYSTEM><CRITERION/><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(0,Z))</LHS><RHS>Marked_mark(nil)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_cons(Y,fst(X,Z))</RHS></DPRULE><DPRULE num="3"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_fst(X,Z)</RHS></DPRULE><DPRULE num="4"><LHS>Marked_active(from(X))</LHS><RHS>Marked_mark(cons(X,from(s(X))))</RHS></DPRULE><DPRULE num="5"><LHS>Marked_active(from(X))</LHS><RHS>Marked_cons(X,from(s(X)))</RHS></DPRULE><DPRULE num="6"><LHS>Marked_active(from(X))</LHS><RHS>Marked_from(s(X))</RHS></DPRULE><DPRULE num="7"><LHS>Marked_active(from(X))</LHS><RHS>Marked_s(X)</RHS></DPRULE><DPRULE num="8"><LHS>Marked_active(add(0,X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="9"><LHS>Marked_active(add(s(X),Y))</LHS><RHS>Marked_mark(s(add(X,Y)))</RHS></DPRULE><DPRULE num="10"><LHS>Marked_active(add(s(X),Y))</LHS><RHS>Marked_s(add(X,Y))</RHS></DPRULE><DPRULE num="11"><LHS>Marked_active(add(s(X),Y))</LHS><RHS>Marked_add(X,Y)</RHS></DPRULE><DPRULE num="12"><LHS>Marked_active(len(nil))</LHS><RHS>Marked_mark(0)</RHS></DPRULE><DPRULE num="13"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="14"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_s(len(Z))</RHS></DPRULE><DPRULE num="15"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_len(Z)</RHS></DPRULE><DPRULE num="16"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="17"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_fst(mark(X1),mark(X2))</RHS></DPRULE><DPRULE num="18"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="19"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="20"><LHS>Marked_mark(0)</LHS><RHS>Marked_active(0)</RHS></DPRULE><DPRULE num="21"><LHS>Marked_mark(nil)</LHS><RHS>Marked_active(nil)</RHS></DPRULE><DPRULE num="22"><LHS>Marked_mark(s(X))</LHS><RHS>Marked_active(s(X))</RHS></DPRULE><DPRULE num="23"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_active(cons(mark(X1),X2))</RHS></DPRULE><DPRULE num="24"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_cons(mark(X1),X2)</RHS></DPRULE><DPRULE num="25"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="26"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_active(from(mark(X)))</RHS></DPRULE><DPRULE num="27"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_from(mark(X))</RHS></DPRULE><DPRULE num="28"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="29"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_active(add(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="30"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_add(mark(X1),mark(X2))</RHS></DPRULE><DPRULE num="31"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="32"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="33"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="34"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_len(mark(X))</RHS></DPRULE><DPRULE num="35"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="36"><LHS>Marked_fst(mark(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="37"><LHS>Marked_fst(X1,mark(X2))</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="38"><LHS>Marked_fst(active(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="39"><LHS>Marked_fst(X1,active(X2))</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="40"><LHS>Marked_s(mark(X))</LHS><RHS>Marked_s(X)</RHS></DPRULE><DPRULE num="41"><LHS>Marked_s(active(X))</LHS><RHS>Marked_s(X)</RHS></DPRULE><DPRULE num="42"><LHS>Marked_cons(mark(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="43"><LHS>Marked_cons(X1,mark(X2))</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="44"><LHS>Marked_cons(active(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="45"><LHS>Marked_cons(X1,active(X2))</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="46"><LHS>Marked_from(mark(X))</LHS><RHS>Marked_from(X)</RHS></DPRULE><DPRULE num="47"><LHS>Marked_from(active(X))</LHS><RHS>Marked_from(X)</RHS></DPRULE><DPRULE num="48"><LHS>Marked_add(mark(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="49"><LHS>Marked_add(X1,mark(X2))</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="50"><LHS>Marked_add(active(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="51"><LHS>Marked_add(X1,active(X2))</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="52"><LHS>Marked_len(mark(X))</LHS><RHS>Marked_len(X)</RHS></DPRULE><DPRULE num="53"><LHS>Marked_len(active(X))</LHS><RHS>Marked_len(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="52"/><NODE ref="53"/></SCC><SCC num="1"><NODE ref="48"/><NODE ref="49"/><NODE ref="50"/><NODE ref="51"/></SCC><SCC num="2"><NODE ref="46"/><NODE ref="47"/></SCC><SCC num="3"><NODE ref="42"/><NODE ref="43"/><NODE ref="44"/><NODE ref="45"/></SCC><SCC num="4"><NODE ref="40"/><NODE ref="41"/></SCC><SCC num="5"><NODE ref="36"/><NODE ref="37"/><NODE ref="38"/><NODE ref="39"/></SCC><SCC num="6"><NODE ref="1"/><NODE ref="4"/><NODE ref="8"/><NODE ref="9"/><NODE ref="13"/><NODE ref="16"/><NODE ref="18"/><NODE ref="19"/><NODE ref="22"/><NODE ref="23"/><NODE ref="25"/><NODE ref="26"/><NODE ref="28"/><NODE ref="29"/><NODE ref="31"/><NODE ref="32"/><NODE ref="33"/><NODE ref="35"/></SCC><NONSCC num="7"><NODE ref="34"/></NONSCC><NONSCC num="8"><NODE ref="30"/></NONSCC><NONSCC num="9"><NODE ref="27"/></NONSCC><NONSCC num="10"><NODE ref="24"/></NONSCC><NONSCC num="11"><NODE ref="21"/></NONSCC><NONSCC num="12"><NODE ref="20"/></NONSCC><NONSCC num="13"><NODE ref="17"/></NONSCC><NONSCC num="14"><NODE ref="15"/></NONSCC><NONSCC num="15"><NODE ref="14"/></NONSCC><NONSCC num="16"><NODE ref="12"/></NONSCC><NONSCC num="17"><NODE ref="11"/></NONSCC><NONSCC num="18"><NODE ref="10"/></NONSCC><NONSCC num="19"><NODE ref="7"/></NONSCC><NONSCC num="20"><NODE ref="6"/></NONSCC><NONSCC num="21"><NODE ref="5"/></NONSCC><NONSCC num="22"><NODE ref="3"/></NONSCC><NONSCC num="23"><NODE ref="2"/></NONSCC><NONSCC num="24"><NODE ref="0"/></NONSCC></CCLIST><EDGE end="24" start="6"/><EDGE end="23" start="6"/><EDGE end="22" start="6"/><EDGE end="21" start="6"/><EDGE end="20" start="6"/><EDGE end="19" start="6"/><EDGE end="18" start="6"/><EDGE end="17" start="6"/><EDGE end="16" start="6"/><EDGE end="15" start="6"/><EDGE end="14" start="6"/><EDGE end="13" start="6"/><EDGE end="12" start="6"/><EDGE end="11" start="6"/><EDGE end="10" start="6"/><EDGE end="9" start="6"/><EDGE end="8" start="6"/><EDGE end="7" start="6"/><EDGE end="0" start="7"/><EDGE end="1" start="8"/><EDGE end="2" start="9"/><EDGE end="3" start="10"/><EDGE end="5" start="13"/><EDGE end="0" start="14"/><EDGE end="4" start="15"/><EDGE end="12" start="16"/><EDGE end="1" start="17"/><EDGE end="4" start="18"/><EDGE end="4" start="19"/><EDGE end="2" start="20"/><EDGE end="3" start="21"/><EDGE end="5" start="22"/><EDGE end="3" start="23"/><EDGE end="11" start="24"/></DAG></CRITERION><PROPERTY criterion="stronggraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(from(X))</LHS><RHS>Marked_mark(cons(X,from(s(X))))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_active(add(0,X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_active(add(s(X),Y))</LHS><RHS>Marked_mark(s(add(X,Y)))</RHS></DPRULE><DPRULE num="4"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="5"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="6"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="7"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="8"><LHS>Marked_mark(s(X))</LHS><RHS>Marked_active(s(X))</RHS></DPRULE><DPRULE num="9"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_active(cons(mark(X1),X2))</RHS></DPRULE><DPRULE num="10"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="11"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_active(from(mark(X)))</RHS></DPRULE><DPRULE num="12"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="13"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_active(add(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="14"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="15"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="16"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="17"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="poly"><POLYSYMB><SYMBOL><NAME>mark</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>add</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>0</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>active</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>s</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>nil</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>len</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>cons</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>fst</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>from</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB></ORDERING><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_mark(s(X))</LHS><RHS>Marked_active(s(X))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_active(cons(mark(X1),X2))</RHS></DPRULE></DPLIST></STRICTPAIRS></CRITERION><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(from(X))</LHS><RHS>Marked_mark(cons(X,from(s(X))))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_active(add(0,X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_active(add(s(X),Y))</LHS><RHS>Marked_mark(s(add(X,Y)))</RHS></DPRULE><DPRULE num="4"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="5"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="6"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="7"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="8"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="9"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_active(from(mark(X)))</RHS></DPRULE><DPRULE num="10"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="11"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_active(add(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="12"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="13"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="14"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="15"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="0"/><NODE ref="1"/><NODE ref="2"/><NODE ref="3"/><NODE ref="4"/><NODE ref="5"/><NODE ref="6"/><NODE ref="7"/><NODE ref="8"/><NODE ref="9"/><NODE ref="10"/><NODE ref="11"/><NODE ref="12"/><NODE ref="13"/><NODE ref="14"/><NODE ref="15"/></SCC></CCLIST></DAG></CRITERION><PROPERTY criterion="stronggraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(from(X))</LHS><RHS>Marked_mark(cons(X,from(s(X))))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_active(add(0,X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_active(add(s(X),Y))</LHS><RHS>Marked_mark(s(add(X,Y)))</RHS></DPRULE><DPRULE num="4"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="5"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="6"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="7"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="8"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="9"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_active(from(mark(X)))</RHS></DPRULE><DPRULE num="10"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="11"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_active(add(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="12"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="13"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="14"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="15"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="poly"><POLYSYMB><SYMBOL><NAME>mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>add</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>0</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>s</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>nil</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>len</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>cons</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>fst</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>from</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB></ORDERING><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_active(add(0,X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></STRICTPAIRS></CRITERION><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(from(X))</LHS><RHS>Marked_mark(cons(X,from(s(X))))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_active(add(s(X),Y))</LHS><RHS>Marked_mark(s(add(X,Y)))</RHS></DPRULE><DPRULE num="3"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="4"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="5"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="6"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="7"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="8"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_active(from(mark(X)))</RHS></DPRULE><DPRULE num="9"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="10"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_active(add(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="11"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="12"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="13"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="14"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="0"/><NODE ref="1"/><NODE ref="2"/><NODE ref="3"/><NODE ref="4"/><NODE ref="5"/><NODE ref="6"/><NODE ref="7"/><NODE ref="8"/><NODE ref="9"/><NODE ref="10"/><NODE ref="11"/><NODE ref="12"/><NODE ref="13"/><NODE ref="14"/></SCC></CCLIST></DAG></CRITERION><PROPERTY criterion="stronggraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(from(X))</LHS><RHS>Marked_mark(cons(X,from(s(X))))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_active(add(s(X),Y))</LHS><RHS>Marked_mark(s(add(X,Y)))</RHS></DPRULE><DPRULE num="3"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="4"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="5"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="6"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="7"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="8"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_active(from(mark(X)))</RHS></DPRULE><DPRULE num="9"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="10"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_active(add(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="11"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="12"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="13"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="14"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="poly"><POLYSYMB><SYMBOL><NAME>mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>add</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>0</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>s</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>nil</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>len</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>cons</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>fst</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>from</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB></ORDERING><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_active(add(s(X),Y))</LHS><RHS>Marked_mark(s(add(X,Y)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_active(add(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_mark(add(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE></DPLIST></STRICTPAIRS></CRITERION><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(from(X))</LHS><RHS>Marked_mark(cons(X,from(s(X))))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="3"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="4"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="5"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="6"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="7"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_active(from(mark(X)))</RHS></DPRULE><DPRULE num="8"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="9"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="10"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="0"/><NODE ref="1"/><NODE ref="2"/><NODE ref="3"/><NODE ref="4"/><NODE ref="5"/><NODE ref="6"/><NODE ref="7"/><NODE ref="8"/><NODE ref="9"/><NODE ref="10"/></SCC></CCLIST></DAG></CRITERION><PROPERTY criterion="stronggraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(from(X))</LHS><RHS>Marked_mark(cons(X,from(s(X))))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="3"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="4"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="5"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="6"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="7"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_active(from(mark(X)))</RHS></DPRULE><DPRULE num="8"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE><DPRULE num="9"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="10"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="poly"><POLYSYMB><SYMBOL><NAME>mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>add</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>0</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>s</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>nil</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>len</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>cons</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>fst</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>from</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB></ORDERING><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_active(from(X))</LHS><RHS>Marked_mark(cons(X,from(s(X))))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_active(from(mark(X)))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_mark(from(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></STRICTPAIRS></CRITERION><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="3"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="4"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="5"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="6"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="7"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="0"/><NODE ref="1"/><NODE ref="2"/><NODE ref="3"/><NODE ref="4"/><NODE ref="5"/><NODE ref="6"/><NODE ref="7"/></SCC></CCLIST></DAG></CRITERION><PROPERTY criterion="stronggraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="3"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="4"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE><DPRULE num="5"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="6"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="7"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="poly"><POLYSYMB><SYMBOL><NAME>mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>add</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>0</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>s</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>nil</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>len</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>cons</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>fst</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>from</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB></ORDERING><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_active(fst(s(X),cons(Y,Z)))</LHS><RHS>Marked_mark(cons(Y,fst(X,Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="2"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_mark(X2)</RHS></DPRULE></DPLIST></STRICTPAIRS></CRITERION><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="4"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="0"/><NODE ref="1"/><NODE ref="2"/><NODE ref="3"/><NODE ref="4"/></SCC></CCLIST></DAG></CRITERION><PROPERTY criterion="stronggraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE><DPRULE num="2"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="4"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="poly"><POLYSYMB><SYMBOL><NAME>mark</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>add</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>0</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>active</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>s</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>nil</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>len</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>cons</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>fst</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>from</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB></ORDERING><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_mark(fst(X1,X2))</LHS><RHS>Marked_active(fst(mark(X1),mark(X2)))</RHS></DPRULE></DPLIST></STRICTPAIRS></CRITERION><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="2"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="3"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="0"/><NODE ref="1"/><NODE ref="2"/><NODE ref="3"/></SCC></CCLIST></DAG></CRITERION><PROPERTY criterion="stronggraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE><DPRULE num="2"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="3"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><ORDERING type="poly"><POLYSYMB><SYMBOL><NAME>mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_mark</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>add</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>0</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>active</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>s</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>nil</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>Marked_active</NAME></SYMBOL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>len</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF></MONOME></POLYNOMIAL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>cons</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>1</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>fst</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="1"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB><POLYSYMB><SYMBOL><NAME>from</NAME></SYMBOL><POLYNOMIAL><SUMPOLY><POLYNOMIAL><MONOME><COEF><INT>2</INT></COEF><ARG degree="1" num="0"/></MONOME></POLYNOMIAL><POLYNOMIAL><MONOME><COEF><INT>0</INT></COEF></MONOME></POLYNOMIAL></SUMPOLY></POLYNOMIAL></POLYSYMB></ORDERING><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_active(len(mark(X)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(len(X))</LHS><RHS>Marked_mark(X)</RHS></DPRULE></DPLIST></STRICTPAIRS></CRITERION><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_active(len(cons(X,Z)))</LHS><RHS>Marked_mark(s(len(Z)))</RHS></DPRULE><DPRULE num="1"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="1"/></SCC><NONSCC num="1"><NODE ref="0"/></NONSCC></CCLIST><EDGE end="0" start="1"/></DAG></CRITERION><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_mark</NAME></SYMBOL><INT>1</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_mark(cons(X1,X2))</LHS><RHS>Marked_mark(X1)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST/></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST/></DAG></CRITERION></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROPERTY><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_fst(mark(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_fst(X1,mark(X2))</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="2"><LHS>Marked_fst(active(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_fst(X1,active(X2))</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_fst</NAME></SYMBOL><INT>2</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_fst(X1,active(X2))</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_fst(X1,mark(X2))</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_fst(active(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_fst(mark(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="0"/><NODE ref="1"/></SCC></CCLIST></DAG></CRITERION><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_fst(active(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_fst(mark(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_fst</NAME></SYMBOL><INT>1</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_fst(mark(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_fst(active(X1),X2)</LHS><RHS>Marked_fst(X1,X2)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST/></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST/></DAG></CRITERION></PROPERTY></PROPERTY></PROPERTY></PROPERTY><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_s(mark(X))</LHS><RHS>Marked_s(X)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_s(active(X))</LHS><RHS>Marked_s(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_s</NAME></SYMBOL><INT>1</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_s(active(X))</LHS><RHS>Marked_s(X)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_s(mark(X))</LHS><RHS>Marked_s(X)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</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>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_cons(mark(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_cons(X1,mark(X2))</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="2"><LHS>Marked_cons(active(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_cons(X1,active(X2))</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_cons</NAME></SYMBOL><INT>2</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_cons(X1,active(X2))</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_cons(X1,mark(X2))</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_cons(active(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_cons(mark(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="0"/><NODE ref="1"/></SCC></CCLIST></DAG></CRITERION><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_cons(active(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_cons(mark(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_cons</NAME></SYMBOL><INT>1</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_cons(mark(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_cons(active(X1),X2)</LHS><RHS>Marked_cons(X1,X2)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST/></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST/></DAG></CRITERION></PROPERTY></PROPERTY></PROPERTY></PROPERTY><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_from(mark(X))</LHS><RHS>Marked_from(X)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_from(active(X))</LHS><RHS>Marked_from(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_from</NAME></SYMBOL><INT>1</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_from(active(X))</LHS><RHS>Marked_from(X)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_from(mark(X))</LHS><RHS>Marked_from(X)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</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>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_add(mark(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_add(X1,mark(X2))</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="2"><LHS>Marked_add(active(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="3"><LHS>Marked_add(X1,active(X2))</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_add</NAME></SYMBOL><INT>2</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_add(X1,active(X2))</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_add(X1,mark(X2))</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_add(active(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_add(mark(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST><SCC num="0"><NODE ref="0"/><NODE ref="1"/></SCC></CCLIST></DAG></CRITERION><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_add(active(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_add(mark(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_add</NAME></SYMBOL><INT>1</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_add(mark(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_add(active(X1),X2)</LHS><RHS>Marked_add(X1,X2)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST/></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST/></DAG></CRITERION></PROPERTY></PROPERTY></PROPERTY></PROPERTY><PROPERTY criterion="sterm" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST><DPRULE num="0"><LHS>Marked_len(mark(X))</LHS><RHS>Marked_len(X)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_len(active(X))</LHS><RHS>Marked_len(X)</RHS></DPRULE></DPLIST></DPSYS></SYSTEM><PROJECTION><PROJ><SYMBOL><NAME>Marked_len</NAME></SYMBOL><INT>1</INT></PROJ></PROJECTION><STRICTPAIRS><DPLIST><DPRULE num="0"><LHS>Marked_len(active(X))</LHS><RHS>Marked_len(X)</RHS></DPRULE><DPRULE num="1"><LHS>Marked_len(mark(X))</LHS><RHS>Marked_len(X)</RHS></DPRULE></DPLIST></STRICTPAIRS><PROPERTY criterion="weakgraph" prop="sndp"><SYSTEM><DPSYS><REWSYS><RULE><LHS>active(fst(0,Z))</LHS><RHS>mark(nil)</RHS></RULE><RULE><LHS>active(fst(s(X),cons(Y,Z)))</LHS><RHS>mark(cons(Y,fst(X,Z)))</RHS></RULE><RULE><LHS>active(from(X))</LHS><RHS>mark(cons(X,from(s(X))))</RHS></RULE><RULE><LHS>active(add(0,X))</LHS><RHS>mark(X)</RHS></RULE><RULE><LHS>active(add(s(X),Y))</LHS><RHS>mark(s(add(X,Y)))</RHS></RULE><RULE><LHS>active(len(nil))</LHS><RHS>mark(0)</RHS></RULE><RULE><LHS>active(len(cons(X,Z)))</LHS><RHS>mark(s(len(Z)))</RHS></RULE><RULE><LHS>mark(fst(X1,X2))</LHS><RHS>active(fst(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(0)</LHS><RHS>active(0)</RHS></RULE><RULE><LHS>mark(nil)</LHS><RHS>active(nil)</RHS></RULE><RULE><LHS>mark(s(X))</LHS><RHS>active(s(X))</RHS></RULE><RULE><LHS>mark(cons(X1,X2))</LHS><RHS>active(cons(mark(X1),X2))</RHS></RULE><RULE><LHS>mark(from(X))</LHS><RHS>active(from(mark(X)))</RHS></RULE><RULE><LHS>mark(add(X1,X2))</LHS><RHS>active(add(mark(X1),mark(X2)))</RHS></RULE><RULE><LHS>mark(len(X))</LHS><RHS>active(len(mark(X)))</RHS></RULE><RULE><LHS>fst(mark(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,mark(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(active(X1),X2)</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>fst(X1,active(X2))</LHS><RHS>fst(X1,X2)</RHS></RULE><RULE><LHS>s(mark(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>s(active(X))</LHS><RHS>s(X)</RHS></RULE><RULE><LHS>cons(mark(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,mark(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(active(X1),X2)</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>cons(X1,active(X2))</LHS><RHS>cons(X1,X2)</RHS></RULE><RULE><LHS>from(mark(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>from(active(X))</LHS><RHS>from(X)</RHS></RULE><RULE><LHS>add(mark(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,mark(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(active(X1),X2)</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>add(X1,active(X2))</LHS><RHS>add(X1,X2)</RHS></RULE><RULE><LHS>len(mark(X))</LHS><RHS>len(X)</RHS></RULE><RULE><LHS>len(active(X))</LHS><RHS>len(X)</RHS></RULE></REWSYS><DPLIST/></DPSYS></SYSTEM><CRITERION><DAG approx="simpl"><CCLIST/></DAG></CRITERION></PROPERTY></PROPERTY></PROPERTY></PROPERTY></PROOF>
