Step
*
2
2
of Lemma
State-loc-comb-classrel-non-loc
1. Info : Type
2. B : Type
3. A : Type
4. f : Id ─→ A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. e : E@i
9. ∀e':E. ((e' < e) 
⇒ (∀v:B. (v ∈ State-loc-comb(init;f;X)(e') 
⇐⇒ v ∈ State-comb(init;f loc(e');X)(e'))))
10. v : B@i
11. ¬((X es e) = {} ∈ bag(A))
12. v ↓∈ lifting-2(f loc(e)) (X es e) 
         (Prior(λx,s. if bag-null(x) then s else lifting-2(f loc(e)) x s fi |X,Prior(self)?init|)?init es e)@i
⊢ v ∈ State-loc-comb(init;f;X)(e)
BY
{ (BagMemberD (-1)
   THEN TrySquashExRepD (-1)
   THEN Try (Fold `classrel` (-3))
   THEN Try (Fold `classrel` (-2))
   THEN RepeatFor 2 (MaUseClassRel 0)
   THEN BagMemberD 0
   THEN Auto
   THEN BagMemberD 0
   THEN D 0
   THEN InstConcl [⌈a⌉;⌈b⌉]⋅
   THEN Auto
   THEN Try (Complete (Try ((Fold `eclass` 0 THEN Auto))))
   THEN Try (Fold `classrel` 0)
   THEN Thin (-1)
   THEN MaUseClassRel (-3)
   THEN MaUseClassRel 0) }
1
1. Info : Type
2. B : Type
3. A : Type
4. f : Id ─→ A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. e : E@i
9. ∀e':E. ((e' < e) 
⇒ (∀v:B. (v ∈ State-loc-comb(init;f;X)(e') 
⇐⇒ v ∈ State-comb(init;f loc(e');X)(e'))))
10. v : B@i
11. ¬((X es e) = {} ∈ bag(A))
12. a : A
13. b : B
14. a ∈ X(e)
15. e' : E
16. es-p-local-pred(es;λe'.(↓∃w:B
                              w ∈ λx,s. if bag-null(x) then s else lifting-2(f loc(e)) x s fi |X,Prior(self)?init|(e')))\000C 
    e 
    e'
17. b ∈ λx,s. if bag-null(x) then s else lifting-2(f loc(e)) x s fi |X,Prior(self)?init|(e')
18. v = (f loc(e) a b) ∈ B
19. ¬((X es e) = {} ∈ bag(A))
⊢ ↓(∃e':E
     ((es-p-local-pred(es;λe'.(↓∃w:B
                                 w ∈ λl,x,s. if bag-null(x) then s else lifting-loc-2(f) l x s fi |Loc, X, Prior(self)?i\000Cnit|(
                                     e'))) 
       e 
       e')
     ∧ b ∈ λl,x,s. if bag-null(x) then s else lifting-loc-2(f) l x s fi |Loc, X, Prior(self)?init|(e')))
   ∨ ((∀e':E
         ((e' <loc e)
         
⇒ (∀w:B. (¬w ∈ λl,x,s. if bag-null(x) then s else lifting-loc-2(f) l x s fi |Loc, X, Prior(self)?init|(e')))))
     ∧ b ↓∈ init loc(e))
2
1. Info : Type
2. B : Type
3. A : Type
4. f : Id ─→ A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. e : E@i
9. ∀e':E. ((e' < e) 
⇒ (∀v:B. (v ∈ State-loc-comb(init;f;X)(e') 
⇐⇒ v ∈ State-comb(init;f loc(e');X)(e'))))
10. v : B@i
11. ¬((X es e) = {} ∈ bag(A))
12. a : A
13. b : B
14. a ∈ X(e)
15. ∀e':E
      ((e' <loc e) 
⇒ (∀w:B. (¬w ∈ λx,s. if bag-null(x) then s else lifting-2(f loc(e)) x s fi |X,Prior(self)?init|(e'))\000C))
16. b ↓∈ init loc(e)
17. v = (f loc(e) a b) ∈ B
18. ¬((X es e) = {} ∈ bag(A))
⊢ ↓(∃e':E
     ((es-p-local-pred(es;λe'.(↓∃w:B
                                 w ∈ λl,x,s. if bag-null(x) then s else lifting-loc-2(f) l x s fi |Loc, X, Prior(self)?i\000Cnit|(
                                     e'))) 
       e 
       e')
     ∧ b ∈ λl,x,s. if bag-null(x) then s else lifting-loc-2(f) l x s fi |Loc, X, Prior(self)?init|(e')))
   ∨ ((∀e':E
         ((e' <loc e)
         
⇒ (∀w:B. (¬w ∈ λl,x,s. if bag-null(x) then s else lifting-loc-2(f) l x s fi |Loc, X, Prior(self)?init|(e')))))
     ∧ b ↓∈ init loc(e))
Latex:
Latex:
1.  Info  :  Type
2.  B  :  Type
3.  A  :  Type
4.  f  :  Id  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B
5.  init  :  Id  {}\mrightarrow{}  bag(B)
6.  X  :  EClass(A)@i'
7.  es  :  EO+(Info)@i'
8.  e  :  E@i
9.  \mforall{}e':E
          ((e'  <  e)
          {}\mRightarrow{}  (\mforall{}v:B.  (v  \mmember{}  State-loc-comb(init;f;X)(e')  \mLeftarrow{}{}\mRightarrow{}  v  \mmember{}  State-comb(init;f  loc(e');X)(e'))))
10.  v  :  B@i
11.  \mneg{}((X  es  e)  =  \{\})
12.  v  \mdownarrow{}\mmember{}  lifting-2(f  loc(e))  (X  es  e) 
                  (Prior(\mlambda{}x,s.  if  bag-null(x)  then  s  else  lifting-2(f  loc(e))  x  s  fi  |X,Prior(self)?init|)?in\000Cit 
                    es 
                    e)@i
\mvdash{}  v  \mmember{}  State-loc-comb(init;f;X)(e)
By
Latex:
(BagMemberD  (-1)
  THEN  TrySquashExRepD  (-1)
  THEN  Try  (Fold  `classrel`  (-3))
  THEN  Try  (Fold  `classrel`  (-2))
  THEN  RepeatFor  2  (MaUseClassRel  0)
  THEN  BagMemberD  0
  THEN  Auto
  THEN  BagMemberD  0
  THEN  D  0
  THEN  InstConcl  [\mkleeneopen{}a\mkleeneclose{};\mkleeneopen{}b\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  Try  (Complete  (Try  ((Fold  `eclass`  0  THEN  Auto))))
  THEN  Try  (Fold  `classrel`  0)
  THEN  Thin  (-1)
  THEN  MaUseClassRel  (-3)
  THEN  MaUseClassRel  0)
Home
Index