Step
*
1
1
2
2
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)))
⊢ ∃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)(e)) = X(mxe) ∈ (ℤ × A))
   ∧ (∀e':E(X). (e' ≤loc e  
⇒ ((fst(X(e'))) ≤ (fst(X(mxe)))))))
BY
{ ((GenConcl ⌜≤(X)(e) = L ∈ (E(X) List)⌝ ⋅ THENA Auto) THEN D -2 THEN Reduce 0)⋅ }
1
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)))))))
2
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. u : E(X)
10. v : E(X) List
11. ≤(X)(e) = [u / v] ∈ (E(X) List)@i
⊢ ∃mxe:E(X)
   (mxe ≤loc e 
   ∧ (accumulate (with value p1 and list item e):
       if fst(p1) <z fst(X(e)) then X(e) else p1 fi 
      over list:
        v
      with starting value:
       X(u))
     = 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')))
\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);\mleq{}(X)(e))  =  X(mxe))
      \mwedge{}  (\mforall{}e':E(X).  (e'  \mleq{}loc  e    {}\mRightarrow{}  ((fst(X(e')))  \mleq{}  (fst(X(mxe)))))))
By
Latex:
((GenConcl  \mkleeneopen{}\mleq{}(X)(e)  =  L\mkleeneclose{}  \mcdot{}  THENA  Auto)  THEN  D  -2  THEN  Reduce  0)\mcdot{}
Home
Index