Step * 1 1 1 1 1 3 of Lemma until-class-program_wf


1. Info Type
2. Type
3. Type
4. EClass(B)
5. EClass(C)
6. es EO+(Info)@i'
7. hdataflow(Info;B)@i
8. hdataflow(Info;C)@i
9. E@i
10. ¬↑first(e)
11. ∀e1:E
      ((e1 < e)
       (∀e':E. (e' ≤loc e1   (X(e') (snd(x*(map(λx.info(x);before(e')))(info(e')))) ∈ bag(B))))
       (∀e':E. (e' ≤loc e1   (Y(e') (snd(y*(map(λx.info(x);before(e')))(info(e')))) ∈ bag(C))))
       (hdf-until(x;y)*(map(λx.info(x);before(e1)))
         hdf-until(if isl(last(λe'.0 <#(Y(e'))) e1)
           then hdf-halt()
           else x*(map(λx.info(x);before(e1)))
           fi ;y*(map(λx.info(x);before(e1))))
         ∈ hdataflow(Info;B)))
12. ∀e':E. (e' ≤loc e   (X(e') (snd(x*(map(λx.info(x);before(e')))(info(e')))) ∈ bag(B)))@i
13. ∀e':E. (e' ≤loc e   (Y(e') (snd(y*(map(λx.info(x);before(e')))(info(e')))) ∈ bag(C)))@i
14. hdf-until(x;y)*(map(λx.info(x);before(pred(e))))
hdf-until(if isl(last(λe'.0 <#(Y(e'))) pred(e))
  then hdf-halt()
  else x*(map(λx.info(x);before(pred(e))))
  fi ;y*(map(λx.info(x);before(pred(e)))))
∈ hdataflow(Info;B)
15. y1 : ¬(∃e':{E| ((e' <loc pred(e)) ∧ (↑0 <#(Y(e'))))})@i
16. (last(λe'.0 <#(Y(e'))) pred(e))
(inr y1 )
∈ ((∃e':{E| ((e' <loc pred(e))
            ∧ (↑0 <#(Y(e')))
            ∧ (∀e'':E. ((e' <loc e'')  (e'' <loc pred(e))  (¬↑0 <#(Y(e''))))))})
  ∨ (∃e':{E| ((e' <loc pred(e)) ∧ (↑0 <#(Y(e'))))})))@i
17. x1 Info ⟶ (hdataflow(Info;B) × bag(B))@i
18. x*(map(λx.info(x);before(pred(e)))) (inl x1) ∈ hdataflow(Info;B)@i
19. z1 hdataflow(Info;B)@i
20. z2 bag(B)@i
21. (x1 info(pred(e))) = <z1, z2> ∈ (hdataflow(Info;B) × bag(B))@i
22. y2 0 ∈ ℤ
23. y*(map(λx.info(x);before(pred(e)))) hdf-halt() ∈ hdataflow(Info;C)@i
24. 0 < #(Y(pred(e)))
⊢ z1 hdf-halt() ∈ hdataflow(Info;B)
BY
((RWO "13" (-1) THEN Auto) THEN (RWO "-2" (-1) THENA Auto) THEN Reduce (-1) THEN Auto) }


Latex:


Latex:

1.  Info  :  Type
2.  B  :  Type
3.  C  :  Type
4.  X  :  EClass(B)
5.  Y  :  EClass(C)
6.  es  :  EO+(Info)@i'
7.  x  :  hdataflow(Info;B)@i
8.  y  :  hdataflow(Info;C)@i
9.  e  :  E@i
10.  \mneg{}\muparrow{}first(e)
11.  \mforall{}e1:E
            ((e1  <  e)
            {}\mRightarrow{}  (\mforall{}e':E.  (e'  \mleq{}loc  e1    {}\mRightarrow{}  (X(e')  =  (snd(x*(map(\mlambda{}x.info(x);before(e')))(info(e')))))))
            {}\mRightarrow{}  (\mforall{}e':E.  (e'  \mleq{}loc  e1    {}\mRightarrow{}  (Y(e')  =  (snd(y*(map(\mlambda{}x.info(x);before(e')))(info(e')))))))
            {}\mRightarrow{}  (hdf-until(x;y)*(map(\mlambda{}x.info(x);before(e1)))
                  =  hdf-until(if  isl(last(\mlambda{}e'.0  <z  \#(Y(e')))  e1)
                      then  hdf-halt()
                      else  x*(map(\mlambda{}x.info(x);before(e1)))
                      fi  ;y*(map(\mlambda{}x.info(x);before(e1))))))
12.  \mforall{}e':E.  (e'  \mleq{}loc  e    {}\mRightarrow{}  (X(e')  =  (snd(x*(map(\mlambda{}x.info(x);before(e')))(info(e'))))))@i
13.  \mforall{}e':E.  (e'  \mleq{}loc  e    {}\mRightarrow{}  (Y(e')  =  (snd(y*(map(\mlambda{}x.info(x);before(e')))(info(e'))))))@i
14.  hdf-until(x;y)*(map(\mlambda{}x.info(x);before(pred(e))))
=  hdf-until(if  isl(last(\mlambda{}e'.0  <z  \#(Y(e')))  pred(e))
    then  hdf-halt()
    else  x*(map(\mlambda{}x.info(x);before(pred(e))))
    fi  ;y*(map(\mlambda{}x.info(x);before(pred(e)))))
15.  y1  :  \mneg{}(\mexists{}e':\{E|  ((e'  <loc  pred(e))  \mwedge{}  (\muparrow{}0  <z  \#(Y(e'))))\})@i
16.  (last(\mlambda{}e'.0  <z  \#(Y(e')))  pred(e))  =  (inr  y1  )@i
17.  x1  :  Info  {}\mrightarrow{}  (hdataflow(Info;B)  \mtimes{}  bag(B))@i
18.  x*(map(\mlambda{}x.info(x);before(pred(e))))  =  (inl  x1)@i
19.  z1  :  hdataflow(Info;B)@i
20.  z2  :  bag(B)@i
21.  (x1  info(pred(e)))  =  <z1,  z2>@i
22.  y2  :  0  =  0
23.  y*(map(\mlambda{}x.info(x);before(pred(e))))  =  hdf-halt()@i
24.  0  <  \#(Y(pred(e)))
\mvdash{}  z1  =  hdf-halt()


By


Latex:
((RWO  "13"  (-1)  THEN  Auto)  THEN  (RWO  "-2"  (-1)  THENA  Auto)  THEN  Reduce  (-1)  THEN  Auto)




Home Index