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