Step * 1 1 1 1 1 2 2 of Lemma sequence-class-program_wf


1. Info Type
2. Type
3. Type
4. valueall-type(A)
5. es EO+(Info)@i'
6. E@i
7. xpr hdataflow(Info;A)@i
8. ypr hdataflow(Info;B)@i
9. zpr hdataflow(Info;A)@i
10. E@i
11. e ∈ E@i
12. List@i
13. before(e) v ∈ (E List)@i
14. before(e) (before(x) v) ∈ (E List)
15. v ∈ List
16. v1 hdataflow(Info;A)@i
17. xpr*(map(λx.info(x);before(x))) v1 ∈ hdataflow(Info;A)@i
18. v2 hdataflow(Info;B)@i
19. ypr*(map(λx.info(x);before(x))) v2 ∈ hdataflow(Info;B)@i
20. ↑(bag-null(snd(v1(info(x)))) ∧b bbag-null(snd(v2(info(x))))))
21. [x;e) ∈ (E List)
⊢ (snd(zpr*(map(λx@0.info(x@0);v))(info(e))))
(snd(mk-hdf(S,a.case S
   of inl(XY) =>
   let X,Y XY 
   in let X',bx X(a) 
      in let Y',by Y(a) 
         in if bag-null(bx) ∧b bbag-null(by)) then let Z',bz zpr(a) in <inr Z' bz> else <inl <X', Y'>bx> fi 
   inr(Z) =>
   let Z',b Z(a) 
   in <inr Z' b>;S.case of inl(XY) => ff inr(Z) => hdf-halted(Z);inl <v1, v2>)*(map(λx.info(x);v))(info(e))))
∈ bag(A)
BY
((HypSubst' (-11) (-2) THENA Auto)
   THEN (HypSubst' (-11) (-1) THENA Auto)
   THEN (RWO "es-closed-open-interval-nil" (-1) THENA Auto)
   THEN (FLemma `equal-nil-sq-nil` [-1] THENA Auto)
   THEN Thin (-2)
   THEN HypSubst' (-1) 0
   THEN Reduce 0
   THEN RecUnfold `mk-hdf` 0
   THEN Reduce 0
   THEN (Thin (-3) THEN Thin (-4) THEN ThinVar `v')
   THEN HDataflowHDVar `v1'
   THEN HDataflowHDVar `v2'
   THEN Repeat (AutoSplit)
   THEN All(\i.(RWO "hdf-ap-inl" THENA CpltAuto))⋅
   THEN AllPushDown
   THEN Try (Complete (((HypSubst' 11 (-6) THENA Auto)
                        THEN (HypSubst' (-3) (-6)⋅ THENA Auto)
                        THEN AllReduce
                        THEN Auto)))
   THEN Try (Complete (((HypSubst' 11 (-4) THENA Auto)
                        THEN (HypSubst' (-6) (-4)⋅ THENA Auto)
                        THEN AllReduce
                        THEN Auto)))
   THEN Try (Complete (((HypSubst' 11 (-5) THENA Auto)
                        THEN (HypSubst' (-2) (-5)⋅ THENA Auto)
                        THEN AllReduce
                        THEN Auto)))
   THEN HDataflowHDVar `zpr'
   THEN Auto) }


Latex:


Latex:

1.  Info  :  Type
2.  A  :  Type
3.  B  :  Type
4.  valueall-type(A)
5.  es  :  EO+(Info)@i'
6.  e  :  E@i
7.  xpr  :  hdataflow(Info;A)@i
8.  ypr  :  hdataflow(Info;B)@i
9.  zpr  :  hdataflow(Info;A)@i
10.  x  :  E@i
11.  x  =  e@i
12.  v  :  E  List@i
13.  before(e)  =  v@i
14.  before(e)  =  (before(x)  @  v)
15.  v  \mmember{}  E  List
16.  v1  :  hdataflow(Info;A)@i
17.  xpr*(map(\mlambda{}x.info(x);before(x)))  =  v1@i
18.  v2  :  hdataflow(Info;B)@i
19.  ypr*(map(\mlambda{}x.info(x);before(x)))  =  v2@i
20.  \muparrow{}(bag-null(snd(v1(info(x))))  \mwedge{}\msubb{}  (\mneg{}\msubb{}bag-null(snd(v2(info(x))))))
21.  v  =  [x;e)
\mvdash{}  (snd(zpr*(map(\mlambda{}x@0.info(x@0);v))(info(e))))
=  (snd(mk-hdf(S,a.case  S
      of  inl(XY)  =>
      let  X,Y  =  XY 
      in  let  X',bx  =  X(a) 
            in  let  Y',by  =  Y(a) 
                  in  if  bag-null(bx)  \mwedge{}\msubb{}  (\mneg{}\msubb{}bag-null(by))
                        then  let  Z',bz  =  zpr(a) 
                                  in  <inr  Z'  ,  bz>
                        else  <inl  <X',  Y'>,  bx>
                        fi 
      |  inr(Z)  =>
      let  Z',b  =  Z(a) 
      in  <inr  Z'  ,  b>S.case  S  of  inl(XY)  =>  ff  |  inr(Z)  =>  hdf-halted(Z);inl  <v1,  v2>)*(map(\mlambda{}x.info(x)\000C;v))(info(e))))


By


Latex:
((HypSubst'  (-11)  (-2)  THENA  Auto)
  THEN  (HypSubst'  (-11)  (-1)  THENA  Auto)
  THEN  (RWO  "es-closed-open-interval-nil"  (-1)  THENA  Auto)
  THEN  (FLemma  `equal-nil-sq-nil`  [-1]  THENA  Auto)
  THEN  Thin  (-2)
  THEN  HypSubst'  (-1)  0
  THEN  Reduce  0
  THEN  RecUnfold  `mk-hdf`  0
  THEN  Reduce  0
  THEN  (Thin  (-3)  THEN  Thin  (-4)  THEN  ThinVar  `v')
  THEN  HDataflowHDVar  `v1'
  THEN  HDataflowHDVar  `v2'
  THEN  Repeat  (AutoSplit)
  THEN  All(\mbackslash{}i.(RWO  "hdf-ap-inl"  i  THENA  CpltAuto))\mcdot{}
  THEN  AllPushDown
  THEN  Try  (Complete  (((HypSubst'  11  (-6)  THENA  Auto)
                                            THEN  (HypSubst'  (-3)  (-6)\mcdot{}  THENA  Auto)
                                            THEN  AllReduce
                                            THEN  Auto)))
  THEN  Try  (Complete  (((HypSubst'  11  (-4)  THENA  Auto)
                                            THEN  (HypSubst'  (-6)  (-4)\mcdot{}  THENA  Auto)
                                            THEN  AllReduce
                                            THEN  Auto)))
  THEN  Try  (Complete  (((HypSubst'  11  (-5)  THENA  Auto)
                                            THEN  (HypSubst'  (-2)  (-5)\mcdot{}  THENA  Auto)
                                            THEN  AllReduce
                                            THEN  Auto)))
  THEN  HDataflowHDVar  `zpr'
  THEN  Auto)




Home Index