Step
*
1
of Lemma
once-class-program_wf
1. Info : Type
2. B : Type
3. X : EClass(B)
4. F : Id ─→ hdataflow(Info;B)
5. ∀es:EO+(Info). ∀e:E.  (X(e) = (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))
6. es : EO+(Info)@i'
7. e : E@i
⊢ (X once)(e) = (snd((λi.hdf-once(F i)) loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B)
BY
{ (Reduce 0
   THEN Assert ⌈hdf-once(F loc(e))*(map(λx.info(x);before(e)))
                = hdf-once(if isl(class-pred(X;es;e)) then hdf-halt() else F loc(e)*(map(λx.info(x);before(e))) fi )
                ∈ hdataflow(Info;B)⌉⋅
   ) }
1
.....assertion..... 
1. Info : Type
2. B : Type
3. X : EClass(B)
4. F : Id ─→ hdataflow(Info;B)
5. ∀es:EO+(Info). ∀e:E.  (X(e) = (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))
6. es : EO+(Info)@i'
7. e : E@i
⊢ hdf-once(F loc(e))*(map(λx.info(x);before(e)))
= hdf-once(if isl(class-pred(X;es;e)) then hdf-halt() else F loc(e)*(map(λx.info(x);before(e))) fi )
∈ hdataflow(Info;B)
2
1. Info : Type
2. B : Type
3. X : EClass(B)
4. F : Id ─→ hdataflow(Info;B)
5. ∀es:EO+(Info). ∀e:E.  (X(e) = (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))
6. es : EO+(Info)@i'
7. e : E@i
8. hdf-once(F loc(e))*(map(λx.info(x);before(e)))
= hdf-once(if isl(class-pred(X;es;e)) then hdf-halt() else F loc(e)*(map(λx.info(x);before(e))) fi )
∈ hdataflow(Info;B)
⊢ (X once)(e) = (snd(hdf-once(F loc(e))*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B)
Latex:
Latex:
1.  Info  :  Type
2.  B  :  Type
3.  X  :  EClass(B)
4.  F  :  Id  {}\mrightarrow{}  hdataflow(Info;B)
5.  \mforall{}es:EO+(Info).  \mforall{}e:E.    (X(e)  =  (snd(F  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))))
6.  es  :  EO+(Info)@i'
7.  e  :  E@i
\mvdash{}  (X  once)(e)  =  (snd((\mlambda{}i.hdf-once(F  i))  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e))))
By
Latex:
(Reduce  0
  THEN  Assert  \mkleeneopen{}hdf-once(F  loc(e))*(map(\mlambda{}x.info(x);before(e)))
                            =  hdf-once(if  isl(class-pred(X;es;e))
                                then  hdf-halt()
                                else  F  loc(e)*(map(\mlambda{}x.info(x);before(e)))
                                fi  )\mkleeneclose{}\mcdot{}
  )
Home
Index