Step * of Lemma hdf-compose1-transformation3

[f,L,S,G,init:Top]. ∀[m:ℕ].
  (f (fix((λmk-hdf,s. (inl a.cbva_seq(L[s;a]; λg.<mk-hdf S[s;a;g], G[s;a;g]>m))))) init) 
  fix((λmk-hdf,s. (inl a.cbva_seq(λn.if (n =z m) then mk_lambdas_fun(λg.bag-map(f;G[s;a;g]);m) else L[s;a] fi ;
                                      λg.<mk-hdf S[s;a;partial_ap(g;m 1;m)], select_fun_ap(g;m 1;m)>1))))) 
    init)
BY
(Auto
   THEN ProcTransRepUR ``hdf-compose1 so_apply`` 0
   THEN (RW LiftAllC THEN Reduce 0)
   THEN SqequalSqle
   THEN OneFixpointLeast
   THEN Repeat (MoveToConcl (-2))
   THEN NatInd (-1)
   THEN (UnivCD THENA Auto)
   THEN Try (Complete ((Reduce THEN Strictness THEN Auto)))
   THEN (RWO "fun_exp_unroll_1" THENA Auto)) }

1
1. : ℤ
2. 0 < j
3. ∀f,L,S,G,init:Top. ∀m:ℕ.
     mk-hdf,s0. case s0 of inl(y) => inl a.let X',bs in let out ⟵ bag-map(f;bs) in <mk-hdf X', out>inr(y)\000C => inr ⋅ ^j 1 ⊥ 
      (fix((λmk-hdf,s. (inl a.cbva_seq(L a; λg.<mk-hdf (S g), g>m))))) init) 
      ≤ fix((λmk-hdf,s. (inl a.cbva_seq(λn.if n=m  then mk_lambdas_fun(λg.bag-map(f;G g);m)  else (L n);
                                          λg.<mk-hdf (S partial_ap(g;m 1;m)), select_fun_ap(g;m 1;m)>1))))\000C) 
        init)
4. Top@i
5. Top@i
6. Top@i
7. Top@i
8. init Top@i
9. : ℕ@i
⊢ x.((λmk-hdf,s0. case s0 of inl(y) => inl a.let X',bs in let out ⟵ bag-map(f;bs) in <mk-hdf X', out>inr(\000Cy) => inr ⋅ 
       mk-hdf,s0. case s0 of inl(y) => inl a.let X',bs in let out ⟵ bag-map(f;bs) in <mk-hdf X', out>inr(\000Cy) => inr ⋅ ^j x))) 
  ⊥ 
  (fix((λmk-hdf,s. (inl a.cbva_seq(L a; λg.<mk-hdf (S g), g>m))))) init) 
  ≤ fix((λmk-hdf,s. (inl a.cbva_seq(λn.if n=m  then mk_lambdas_fun(λg.bag-map(f;G g);m)  else (L n);
                                      λg.<mk-hdf (S partial_ap(g;m 1;m)), select_fun_ap(g;m 1;m)>1))))) 
    init

2
1. : ℤ
2. 0 < j
3. ∀f,L,S,G,init:Top. ∀m:ℕ.
     mk-hdf,s. (inl a.cbva_seq(λn.if n=m  then mk_lambdas_fun(λg.bag-map(f;G g);m)  else (L n);
                                   λg.<mk-hdf (S partial_ap(g;m 1;m)), select_fun_ap(g;m 1;m)>1)))^j 
      ⊥ 
      init ≤ fix((λmk-hdf,s0. case s0
                              of inl(y) =>
                              inl a.let X',bs 
                                      in let out ⟵ bag-map(f;bs)
                                         in <mk-hdf X', out>)
                              inr(y) =>
                              inr ⋅ )) 
             (fix((λmk-hdf,s. (inl a.cbva_seq(L a; λg.<mk-hdf (S g), g>m))))) init))
4. Top@i
5. Top@i
6. Top@i
7. Top@i
8. init Top@i
9. : ℕ@i
⊢ x.((λmk-hdf,s. (inl a.cbva_seq(λn.if n=m  then mk_lambdas_fun(λg.bag-map(f;G g);m)  else (L n);
                                     λg.<mk-hdf (S partial_ap(g;m 1;m)), select_fun_ap(g;m 1;m)>1)))) 
       mk-hdf,s. (inl a.cbva_seq(λn.if n=m  then mk_lambdas_fun(λg.bag-map(f;G g);m)  else (L n);
                                     λg.<mk-hdf (S partial_ap(g;m 1;m)), select_fun_ap(g;m 1;m)>1)))^j 1\000C 
        x))) 
  ⊥ 
  init ≤ fix((λmk-hdf,s0. case s0 of inl(y) => inl a.let X',bs in let out ⟵ bag-map(f;bs) in <mk-hdf X', out>\000C| inr(y) => inr ⋅ )) 
         (fix((λmk-hdf,s. (inl a.cbva_seq(L a; λg.<mk-hdf (S g), g>m))))) init)


Latex:


Latex:
\mforall{}[f,L,S,G,init:Top].  \mforall{}[m:\mBbbN{}].
    (f  o  (fix((\mlambda{}mk-hdf,s.  (inl  (\mlambda{}a.cbva\_seq(L[s;a];  \mlambda{}g.<mk-hdf  S[s;a;g],  G[s;a;g]>  m)))))  init) 
    \msim{}  fix((\mlambda{}mk-hdf,s.  (inl  (\mlambda{}a.cbva\_seq(\mlambda{}n.if  (n  =\msubz{}  m)
                                                                                  then  mk\_lambdas\_fun(\mlambda{}g.bag-map(f;G[s;a;g]);m)
                                                                                  else  L[s;a]  n
                                                                                  fi  ;  \mlambda{}g.<mk-hdf  S[s;a;partial\_ap(g;m  +  1;m)]
                                                                                                  ,  select\_fun\_ap(g;m  +  1;m)
                                                                                                  >  m  +  1))))) 
        init)


By


Latex:
(Auto
  THEN  ProcTransRepUR  ``hdf-compose1  so\_apply``  0
  THEN  (RW  LiftAllC  0  THEN  Reduce  0)
  THEN  SqequalSqle
  THEN  OneFixpointLeast
  THEN  Repeat  (MoveToConcl  (-2))
  THEN  NatInd  (-1)
  THEN  (UnivCD  THENA  Auto)
  THEN  Try  (Complete  ((Reduce  0  THEN  Strictness  THEN  Auto)))
  THEN  (RWO  "fun\_exp\_unroll\_1"  0  THENA  Auto))




Home Index