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