Step
*
1
1
2
2
1
of Lemma
max-fst-property
1. [Info] : Type
2. [A] : Type
3. es : EO+(Info)@i'
4. X : EClass(ℤ × A)@i'
5. e : E@i
6. ↑e ∈b MaxFst(X)@i
7. fst(accum_list(p1,e.if fst(p1) <z fst(X(e)) then X(e) else p1 fi e.X(e);≤(X)(e))) 
~ imax-list(map(λe.(fst(X(e)));≤(X)(e)))
8. ∀L:E(X) List. ∀e:E(X).
     ∃e':E(X)
      (((e' ∈ L) ∨ (e' = e ∈ E(X)))
      ∧ (accumulate (with value p1 and list item e):
          if fst(p1) <z fst(X(e)) then X(e) else p1 fi 
         over list:
           L
         with starting value:
          X(e))
        = X(e')
        ∈ (ℤ × A)))
9. ≤(X)(e) = [] ∈ (E(X) List)@i
⊢ ∃mxe:E(X)
   (mxe ≤loc e 
   ∧ (accum_list(p1,e.if fst(p1) <z fst(X(e)) then X(e) else p1 fi e.X(e);[]) = X(mxe) ∈ (ℤ × A))
   ∧ (∀e':E(X). (e' ≤loc e  
⇒ ((fst(X(e'))) ≤ (fst(X(mxe)))))))
BY
{ ((RWO "is-max-fst" (-4) THENA Auto)
   THEN (InstLemma `es-interface-predecessors-nonempty` [⌈Info⌉;⌈es⌉;⌈X⌉;⌈e⌉]⋅ THENA Auto)
   )⋅ }
1
1. [Info] : Type
2. [A] : Type
3. es : EO+(Info)@i'
4. X : EClass(ℤ × A)@i'
5. e : E@i
6. ↑e ∈b X@i
7. fst(accum_list(p1,e.if fst(p1) <z fst(X(e)) then X(e) else p1 fi e.X(e);≤(X)(e))) 
~ imax-list(map(λe.(fst(X(e)));≤(X)(e)))
8. ∀L:E(X) List. ∀e:E(X).
     ∃e':E(X)
      (((e' ∈ L) ∨ (e' = e ∈ E(X)))
      ∧ (accumulate (with value p1 and list item e):
          if fst(p1) <z fst(X(e)) then X(e) else p1 fi 
         over list:
           L
         with starting value:
          X(e))
        = X(e')
        ∈ (ℤ × A)))
9. ≤(X)(e) = [] ∈ (E(X) List)@i
10. 0 < ||≤(X)(e)||
⊢ ∃mxe:E(X)
   (mxe ≤loc e 
   ∧ (accum_list(p1,e.if fst(p1) <z fst(X(e)) then X(e) else p1 fi e.X(e);[]) = X(mxe) ∈ (ℤ × A))
   ∧ (∀e':E(X). (e' ≤loc e  
⇒ ((fst(X(e'))) ≤ (fst(X(mxe)))))))
Latex:
Latex:
1.  [Info]  :  Type
2.  [A]  :  Type
3.  es  :  EO+(Info)@i'
4.  X  :  EClass(\mBbbZ{}  \mtimes{}  A)@i'
5.  e  :  E@i
6.  \muparrow{}e  \mmember{}\msubb{}  MaxFst(X)@i
7.  fst(accum\_list(p1,e.if  fst(p1)  <z  fst(X(e))  then  X(e)  else  p1  fi  ;e.X(e);\mleq{}(X)(e))) 
\msim{}  imax-list(map(\mlambda{}e.(fst(X(e)));\mleq{}(X)(e)))
8.  \mforall{}L:E(X)  List.  \mforall{}e:E(X).
          \mexists{}e':E(X)
            (((e'  \mmember{}  L)  \mvee{}  (e'  =  e))
            \mwedge{}  (accumulate  (with  value  p1  and  list  item  e):
                    if  fst(p1)  <z  fst(X(e))  then  X(e)  else  p1  fi 
                  over  list:
                      L
                  with  starting  value:
                    X(e))
                =  X(e')))
9.  \mleq{}(X)(e)  =  []@i
\mvdash{}  \mexists{}mxe:E(X)
      (mxe  \mleq{}loc  e 
      \mwedge{}  (accum\_list(p1,e.if  fst(p1)  <z  fst(X(e))  then  X(e)  else  p1  fi  ;e.X(e);[])  =  X(mxe))
      \mwedge{}  (\mforall{}e':E(X).  (e'  \mleq{}loc  e    {}\mRightarrow{}  ((fst(X(e')))  \mleq{}  (fst(X(mxe)))))))
By
Latex:
((RWO  "is-max-fst"  (-4)  THENA  Auto)
  THEN  (InstLemma  `es-interface-predecessors-nonempty`  [\mkleeneopen{}Info\mkleeneclose{};\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}X\mkleeneclose{};\mkleeneopen{}e\mkleeneclose{}]\mcdot{}  THENA  Auto)
  )\mcdot{}
Home
Index