<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../../../xsl/longlemmainfo.xsl"?>
<LONGLEMMAINFO name="LEFTNEIGHBORS-decl"><LEMMAINFO state="axiom"><LEMMANAME>LEFTNEIGHBORS-decl</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ>LEFTNEIGHBORS(x; ; lneighbors)
{lneighbors := []; 
 let xpos = 1, stack = []
 in while xpos ≤ &#35; x
    do {/* _:
           invariant   xpos ≠ 0 ∧ xpos ≤ &#35; x + 1 ∧ (stack = [] ↔ xpos = 1) ∧ ordered&gt;(stack) ∧ bounded(stack, 1, xpos)
                     ∧ lneighbors = leftneighbors(x, xpos - 1) ∧ valid-stack(stack, x) ∧ (stack ≠ [] → stack.head = xpos - 1)
           wfbound &#35; x + 1 - xpos; 
        */; 
        while stack ≠ [] ∧ ¬ x[stack.head]! &lt; x[xpos]!
        do {/* _:
               invariant   xpos ≠ 0 ∧ xpos ≤ &#35; x ∧ ordered&gt;(stack) ∧ bounded(stack, 1, xpos) ∧ valid-stack(stack, x)
                         ∧ leftneighbor(x, xpos - 1) = first-lower(stack, x, x[xpos]!)
               wfbound &#35; stack; 
            */; 
            stack := stack.tail}; 
        if stack = [] then lneighbors := lneighbors + 0 else lneighbors := lneighbors + stack.head; stack := xpos + stack; xpos := xpos + 1}
}</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>LEFTNEIGHBORS-decl-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>LEFTNEIGHBORS-decl-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>LEFTNEIGHBORS-correct</LE></LIST></USEDBY><USEDBYUNITS><LIST></LIST></USEDBYUNITS><COMMENT></COMMENT></LONGLEMMAINFO>