Step
*
1
of Lemma
bind-return-left
1. Info : Type
2. T : Type
3. S : Type
4. x : T
5. f : T ─→ EClass(S)@i'
6. ∀[X:EClass(T)]. ∀[Y:T ─→ EClass(S)].  (X >x> Y[x] ∈ EClass(S))
7. es : EO+(Info)
8. e : E
⊢ (f[x] es e) = ∪e'∈≤loc(e).∪z∈return-class(x) es e'.f[z] es.e' e ∈ bag(S)
BY
{ Assert ⌈∃e1:{e':E| e' ≤loc e } 
           ∃b:bag({e':E| e' ≤loc e  ∧ (¬↑first(e'))} )
            (e1 ≤loc e  ∧ (↑first(e1)) ∧ (≤loc(e) = ([e1] + b) ∈ bag({e':E| e' ≤loc e } )))⌉⋅ }
1
.....assertion..... 
1. Info : Type
2. T : Type
3. S : Type
4. x : T
5. f : T ─→ EClass(S)@i'
6. ∀[X:EClass(T)]. ∀[Y:T ─→ EClass(S)].  (X >x> Y[x] ∈ EClass(S))
7. es : EO+(Info)
8. e : E
⊢ ∃e1:{e':E| e' ≤loc e } 
   ∃b:bag({e':E| e' ≤loc e  ∧ (¬↑first(e'))} ). (e1 ≤loc e  ∧ (↑first(e1)) ∧ (≤loc(e) = ([e1] + b) ∈ bag({e':E| e' ≤loc \000Ce } )))
2
1. Info : Type
2. T : Type
3. S : Type
4. x : T
5. f : T ─→ EClass(S)@i'
6. ∀[X:EClass(T)]. ∀[Y:T ─→ EClass(S)].  (X >x> Y[x] ∈ EClass(S))
7. es : EO+(Info)
8. e : E
9. ∃e1:{e':E| e' ≤loc e } 
    ∃b:bag({e':E| e' ≤loc e  ∧ (¬↑first(e'))} ). (e1 ≤loc e  ∧ (↑first(e1)) ∧ (≤loc(e) = ([e1] + b) ∈ bag({e':E| e' ≤loc\000C e } )))
⊢ (f[x] es e) = ∪e'∈≤loc(e).∪z∈return-class(x) es e'.f[z] es.e' e ∈ bag(S)
Latex:
1.  Info  :  Type
2.  T  :  Type
3.  S  :  Type
4.  x  :  T
5.  f  :  T  {}\mrightarrow{}  EClass(S)@i'
6.  \mforall{}[X:EClass(T)].  \mforall{}[Y:T  {}\mrightarrow{}  EClass(S)].    (X  >x>  Y[x]  \mmember{}  EClass(S))
7.  es  :  EO+(Info)
8.  e  :  E
\mvdash{}  (f[x]  es  e)  =  \mcup{}e'\mmember{}\mleq{}loc(e).\mcup{}z\mmember{}return-class(x)  es  e'.f[z]  es.e'  e
By
Assert  \mkleeneopen{}\mexists{}e1:\{e':E|  e'  \mleq{}loc  e  \} 
                  \mexists{}b:bag(\{e':E|  e'  \mleq{}loc  e    \mwedge{}  (\mneg{}\muparrow{}first(e'))\}  )
                    (e1  \mleq{}loc  e    \mwedge{}  (\muparrow{}first(e1))  \mwedge{}  (\mleq{}loc(e)  =  ([e1]  +  b)))\mkleeneclose{}\mcdot{}
Home
Index