Step * 1 of Lemma ml-reduce-sq


1. Type
2. Type
3. valueall-type(B)
4. valueall-type(A) ∧ A
5. A ⟶ B ⟶ B
6. A
7. List
8. ∀[b:B]
     (let y ⟵ v
      in let y ⟵ b
         in fix((λreduce,f,b,l. if null(l)
                               then b
                               else let a,as 
                                    in let y ⟵ let y ⟵ as
                                                in let y ⟵ in let y ⟵ in reduce y
                                       in let y ⟵ in y
                               fi )) 
            
            
         reduce(f;b;v))
9. [b] B
10. value-type(B ⟶ B)
11. valueall-type(A ⟶ B ⟶ B)
⊢ let y@0 ⟵ reduce(f;b;v)
  in let y@0 ⟵ in y@0 y@0 reduce(f;b;v)
BY
RepeatFor ((CallByValueReduce THEN Auto)) }


Latex:


Latex:

1.  A  :  Type
2.  B  :  Type
3.  valueall-type(B)
4.  valueall-type(A)  \mwedge{}  A
5.  f  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B
6.  u  :  A
7.  v  :  A  List
8.  \mforall{}[b:B]
          (let  y  \mleftarrow{}{}  v
            in  let  y  \mleftarrow{}{}  b
                  in  fix((\mlambda{}reduce,f,b,l.  if  null(l)
                                                              then  b
                                                              else  let  a,as  =  l 
                                                                        in  let  y  \mleftarrow{}{}  let  y  \mleftarrow{}{}  as
                                                                                                in  let  y  \mleftarrow{}{}  b  in  let  y  \mleftarrow{}{}  f  in  reduce  y  y  y
                                                                              in  let  y  \mleftarrow{}{}  a  in  f  y  y
                                                              fi  )) 
                        f 
                        y 
                  y  \msim{}  reduce(f;b;v))
9.  [b]  :  B
10.  value-type(B  {}\mrightarrow{}  B)
11.  valueall-type(A  {}\mrightarrow{}  B  {}\mrightarrow{}  B)
\mvdash{}  let  y@0  \mleftarrow{}{}  reduce(f;b;v)
    in  let  y@0  \mleftarrow{}{}  u  in  f  y@0  y@0  \msim{}  f  u  reduce(f;b;v)


By


Latex:
RepeatFor  2  ((CallByValueReduce  0  THEN  Auto))




Home Index