Step * 1 1 1 3 of Lemma list-max-map


1. Type
2. Type
3. A ⟶ T
4. T ⟶ ℤ
5. A
6. u1 A
7. List
8. : ℤ × A@i
9. True
⊢ snd(outl(accumulate (with value and list item x):
            eval f[g x] in
            case of inl(p) => if fst(p) <then inl <n, x> else fi  inr(q) => inl <n, x>
           over list:
             v
           with starting value:
            eval f[g u1] in
            case inl of inl(p) => if fst(p) <then inl <n, u1> else inl fi  inr(q) => inl <n, u1>))) ∈ A
BY
TACTIC:((GenConclAtAddrType  ⌜{x:ℤ × Top| ↑isl(x)} ⌝ [2;1;1]⋅
           THENA (Auto
                  THEN (CallByValueReduce THENM Reduce 0)
                  THEN Auto
                  THEN (D -2 THEN -3 THEN Reduce THEN Auto THEN AutoSplit)⋅)
           )
          THEN (D (-2) THEN -3 THEN All Reduce  THEN Auto)⋅
          }


Latex:


Latex:

1.  T  :  Type
2.  A  :  Type
3.  g  :  A  {}\mrightarrow{}  T
4.  f  :  T  {}\mrightarrow{}  \mBbbZ{}
5.  u  :  A
6.  u1  :  A
7.  v  :  A  List
8.  x  :  \mBbbZ{}  \mtimes{}  A@i
9.  True
\mvdash{}  snd(outl(accumulate  (with  value  a  and  list  item  x):
                        eval  n  =  f[g  x]  in
                        case  a  of  inl(p)  =>  if  fst(p)  <z  n  then  inl  <n,  x>  else  a  fi    |  inr(q)  =>  inl  <n,  x>
                      over  list:
                          v
                      with  starting  value:
                        eval  n  =  f[g  u1]  in
                        case  inl  x
                          of  inl(p)  =>
                          if  fst(p)  <z  n  then  inl  <n,  u1>  else  inl  x  fi 
                          |  inr(q)  =>
                          inl  <n,  u1>)))  \mmember{}  A


By


Latex:
TACTIC:((GenConclAtAddrType    \mkleeneopen{}\{x:\mBbbZ{}  \mtimes{}  A  +  Top|  \muparrow{}isl(x)\}  \mkleeneclose{}  [2;1;1]\mcdot{}
                  THENA  (Auto
                                THEN  (CallByValueReduce  0  THENM  Reduce  0)
                                THEN  Auto
                                THEN  (D  -2  THEN  D  -3  THEN  Reduce  0  THEN  Auto  THEN  AutoSplit)\mcdot{})
                  )
                THEN  (D  (-2)  THEN  D  -3  THEN  All  Reduce    THEN  Auto)\mcdot{}
                )




Home Index