<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../../../xsl/longlemmainfo.xsl"?>
<LONGLEMMAINFO name="MAXCUT"><LEMMAINFO state="axiom"><LEMMANAME>MAXCUT</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ>MAXCUT(x; ; cut)
{cut := 0 + []; 
 let m = 0, n = 1
 in {while n &lt; &#35; x
     do {/* _:invariant cutseq(cut, x) ∧ n = m + 1 ∧ m ≤ &#35; x ∧ cut.last = m ∧ cut.head = 0 ∧ in-range(cut, 0, &#35; x) wfbound &#35; x - m;  */; 
         let inc = x[m] &lt; x[n]
         in while n &lt; &#35; x ∧ (x[n - 1] &lt; x[n] ↔ inc)
            do {/* _:invariant cutseq(cut + n ', x, inc) ∧ m &lt; n ∧ n ≤ &#35; x wfbound &#35; x - n;  */; n := n + 1}; 
         cut := cut + n; m := n; n := m + 1}; 
     if m &lt; &#35; x then cut := cut + &#35; x}
}</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>MAXCUT-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>MAXCUT-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO><VALIDITY>The proof is valid.</VALIDITY><FEATURES><LIST></LIST></FEATURES><HISTORY><LIST></LIST></HISTORY><USEDBY><LIST><LE>MAXCUT-thm</LE></LIST></USEDBY><USEDBYUNITS><LIST></LIST></USEDBYUNITS><COMMENT></COMMENT></LONGLEMMAINFO>