Step * 2 1 1 1 2 of Lemma comparison-max_wf


1. Type
2. cmp comparison(T)
3. valueall-type(T)
4. T
5. List
6. ∀a:T
     (eager-accum(mx,x.if 0 ≤cmp mx then mx else fi ;a;v) ∈ {mx:T| 
                                                                   ((mx a ∈ T) ∨ (mx ∈ v))
                                                                   ∧ (0 ≤ (cmp mx))
                                                                   ∧ (∀x∈v.0 ≤ (cmp mx))} )
7. T
⊢ let y' ⟵ if 0 ≤cmp then else fi 
  in eager-accum(mx,x.if 0 ≤cmp mx then mx else fi ;y';v) ∈ {mx:T| 
                                                                   ((mx a ∈ T) ∨ (mx ∈ [u v]))
                                                                   ∧ (0 ≤ (cmp mx))
                                                                   ∧ (∀x∈[u v].0 ≤ (cmp mx))} 
BY
((CallByValueReduce THENA Auto)
   THEN (InstHyp [⌜if 0 ≤cmp then else fi ⌝(-2)⋅ THENA Auto)
   THEN DoSubsume
   THEN Try (Trivial)
   THEN All Thin
   THEN (D THENA Auto)) }

1
.....subterm..... T:t
1:n
1. Type
2. cmp comparison(T)
3. T
4. List
5. T
6. {mx:T| 
        ((mx if 0 ≤cmp then else fi  ∈ T) ∨ (mx ∈ v))
        ∧ (0 ≤ (cmp if 0 ≤cmp then else fi  mx))
        ∧ (∀x∈v.0 ≤ (cmp mx))} 
⊢ x ∈ {mx:T| ((mx a ∈ T) ∨ (mx ∈ [u v])) ∧ (0 ≤ (cmp mx)) ∧ (∀x∈[u v].0 ≤ (cmp mx))} 


Latex:


Latex:

1.  T  :  Type
2.  cmp  :  comparison(T)
3.  valueall-type(T)
4.  u  :  T
5.  v  :  T  List
6.  \mforall{}a:T
          (eager-accum(mx,x.if  0  \mleq{}z  cmp  x  mx  then  mx  else  x  fi  ;a;v)  \mmember{}  \{mx:T| 
                                                                                                                                      ((mx  =  a)  \mvee{}  (mx  \mmember{}  v))
                                                                                                                                      \mwedge{}  (0  \mleq{}  (cmp  a  mx))
                                                                                                                                      \mwedge{}  (\mforall{}x\mmember{}v.0  \mleq{}  (cmp  x  mx))\}  )
7.  a  :  T
\mvdash{}  let  y'  \mleftarrow{}{}  if  0  \mleq{}z  cmp  u  a  then  a  else  u  fi 
    in  eager-accum(mx,x.if  0  \mleq{}z  cmp  x  mx  then  mx  else  x  fi  ;y';v)  \mmember{}  \{mx:T| 
                                                                                                                                      ((mx  =  a)  \mvee{}  (mx  \mmember{}  [u  /  v]))
                                                                                                                                      \mwedge{}  (0  \mleq{}  (cmp  a  mx))
                                                                                                                                      \mwedge{}  (\mforall{}x\mmember{}[u  /  v].0  \mleq{}  (cmp  x  mx))\} 


By


Latex:
((CallByValueReduce  0  THENA  Auto)
  THEN  (InstHyp  [\mkleeneopen{}if  0  \mleq{}z  cmp  u  a  then  a  else  u  fi  \mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)
  THEN  DoSubsume
  THEN  Try  (Trivial)
  THEN  All  Thin
  THEN  (D  0  THENA  Auto))




Home Index