Step * 3 1 1 of Lemma global-class-iff-bounded-local-class


1. Info Type
2. {A:Type| valueall-type(A)} 
3. EClass(A)
4. Id ─→ hdataflow(Info;A)@i'
5. ∀es:EO+(Info). ∀e:E.  (X(e) (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(A))
6. bag(Id)@i'
7. ∀es:EO+(Info). ∀v:A. ∀e:E.  (v ∈ X(e)  loc(e) ↓∈ L)@i'
8. es EO+(Info)
9. E
10. loc(e) ↓∈ L
11. [x∈bag-remove-repeats(IdDeq;L)|x loc(e)] {loc(e)} ∈ bag(Id)
⊢ X(e)
bag-union(bag-map(λx.(snd(F x*(map(λx@0.info(x@0);before(e)))(info(e))));[x∈bag-remove-repeats(IdDeq;L)|x loc(e)]))
∈ bag(A)
BY
((HypSubst' (-1) THENA Auto) THEN Reduce THEN (RWO "bag-union-single" THENA Auto) THEN BackThruSomeHyp) }


Latex:



1.  Info  :  Type
2.  A  :  \{A:Type|  valueall-type(A)\} 
3.  X  :  EClass(A)
4.  F  :  Id  {}\mrightarrow{}  hdataflow(Info;A)@i'
5.  \mforall{}es:EO+(Info).  \mforall{}e:E.    (X(e)  =  (snd(F  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))))
6.  L  :  bag(Id)@i'
7.  \mforall{}es:EO+(Info).  \mforall{}v:A.  \mforall{}e:E.    (v  \mmember{}  X(e)  {}\mRightarrow{}  loc(e)  \mdownarrow{}\mmember{}  L)@i'
8.  es  :  EO+(Info)
9.  e  :  E
10.  loc(e)  \mdownarrow{}\mmember{}  L
11.  [x\mmember{}bag-remove-repeats(IdDeq;L)|x  =  loc(e)]  =  \{loc(e)\}
\mvdash{}  X(e)
=  bag-union(bag-map(\mlambda{}x.(snd(F  x*(map(\mlambda{}x@0.info(x@0);before(e)))(info(e))));
                        [x\mmember{}bag-remove-repeats(IdDeq;L)|x  =  loc(e)]))


By

((HypSubst'  (-1)  0  THENA  Auto)
  THEN  Reduce  0
  THEN  (RWO  "bag-union-single"  0  THENA  Auto)
  THEN  BackThruSomeHyp)




Home Index