Step * 1 of Lemma ml-map-sq


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


Latex:


Latex:

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


By


Latex:
(RepeatFor  2  ((CallByValueReduce  (-2)  THENA  Auto))  THEN  Auto)




Home Index