Step * of Lemma bind-class-program_wf

[Info,A,B:Type].
  ∀[X:EClass(A)]. ∀[Y:A ⟶ EClass(B)]. ∀[xpr:LocalClass(X)]. ∀[ypr:a:A ⟶ LocalClass(Y[a])].
    (xpr >>ypr ∈ LocalClass(X >a> Y[a])) 
  supposing valueall-type(B)
BY
(Auto
   THEN -2
   THEN (GenConcl ⌜ypr
                   G
                   ∈ {G:A ⟶ Id ⟶ hdataflow(Info;B)| 
                      ∀es:EO+(Info). ∀e:E. ∀a:A.
                        (Y[a](e) (snd(G loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))} ⌝⋅
         THENA (Auto
                THEN MemTypeCD
                THEN Auto
                THEN Try (Complete ((D THEN Auto)))
                THEN (GenApply (-4) THENA Auto)
                THEN (-2)
                THEN BackThruSomeHyp)
         )
   THEN ThinVar `ypr'
   THEN RenameVar `F' (-3)
   THEN Unfold `bind-class-program` 0
   THEN (-1)
   THEN (MemTypeCD THEN Reduce 0)
   THEN Auto
   THEN (Subst' X >a> Y[a](e) ~ ⋃e'∈≤loc(e).⋃a∈X(e').Y[a](e) 0
         THEN Try ((RepUR ``bind-class class-ap`` THEN Fold `class-ap` THEN Trivial)⋅)
         ))⋅ }

1
1. Info Type
2. Type
3. Type
4. valueall-type(B)
5. EClass(A)
6. A ⟶ EClass(B)
7. Id ⟶ hdataflow(Info;A)
8. ∀es:EO+(Info). ∀e:E.  (X(e) (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(A))
9. A ⟶ Id ⟶ hdataflow(Info;B)@i'
10. ∀es:EO+(Info). ∀e:E. ∀a:A.  (Y[a](e) (snd(G loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))@i'
11. es EO+(Info)@i'
12. E@i
⊢ ⋃e'∈≤loc(e).⋃a∈X(e').Y[a](e) (snd(F loc(e) >>= λx.(G loc(e))*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B)


Latex:


Latex:
\mforall{}[Info,A,B:Type].
    \mforall{}[X:EClass(A)].  \mforall{}[Y:A  {}\mrightarrow{}  EClass(B)].  \mforall{}[xpr:LocalClass(X)].  \mforall{}[ypr:a:A  {}\mrightarrow{}  LocalClass(Y[a])].
        (xpr  >>=  ypr  \mmember{}  LocalClass(X  >a>  Y[a])) 
    supposing  valueall-type(B)


By


Latex:
(Auto
  THEN  D  -2
  THEN  (GenConcl  \mkleeneopen{}ypr  =  G\mkleeneclose{}\mcdot{}
              THENA  (Auto
                            THEN  MemTypeCD
                            THEN  Auto
                            THEN  Try  (Complete  ((D  0  THEN  Auto)))
                            THEN  (GenApply  (-4)  THENA  Auto)
                            THEN  D  (-2)
                            THEN  BackThruSomeHyp)
              )
  THEN  ThinVar  `ypr'
  THEN  RenameVar  `F'  (-3)
  THEN  Unfold  `bind-class-program`  0
  THEN  D  (-1)
  THEN  (MemTypeCD  THEN  Reduce  0)
  THEN  Auto
  THEN  (Subst'  X  >a>  Y[a](e)  \msim{}  \mcup{}e'\mmember{}\mleq{}loc(e).\mcup{}a\mmember{}X(e').Y[a](e)  0
              THEN  Try  ((RepUR  ``bind-class  class-ap``  0  THEN  Fold  `class-ap`  0  THEN  Trivial)\mcdot{})
              ))\mcdot{}




Home Index