Step
*
1
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 : A
12. x ↓∈ X es e
13. x@0 : B
14. ∀e':E
      ((e' <loc e)
      
⇒ (∀w:B. (¬w ∈ λl,x,s. if bag-null(x) then s else ∪x1∈x.∪x1@0∈s.{f l x1 x1@0} fi |Loc, X, Prior(self)?init|(e')))\000C)
15. x@0 ↓∈ init loc(e)
16. v ↓∈ {f loc(e) x x@0}
17. ¬((X es e) = {} ∈ bag(A))
18. ¬((X es e) = {} ∈ bag(A))
19. x ↓∈ X es e
⊢ ↓(∃e':E
     ((es-p-local-pred(es;λe'.(↓∃w:B
                                 w ∈ λx,s. if bag-null(x)
                                          then s
                                          else ∪x1∈x.∪x1@0∈s.{f loc(e) x1 x1@0}
                                          fi |X,Prior(self)?init|(e'))) 
       e 
       e')
     ∧ x@0 ∈ λx,s. if bag-null(x) then s else ∪x1∈x.∪x1@0∈s.{f loc(e) x1 x1@0} fi |X,Prior(self)?init|(e')))
   ∨ ((∀e':E
         ((e' <loc e)
         
⇒ (∀w:B. (¬w ∈ λx,s. if bag-null(x) then s else ∪x1∈x.∪x1@0∈s.{f loc(e) x1 x1@0} fi |X,Prior(self)?init|(e')))\000C))
     ∧ x@0 ↓∈ init loc(e))
BY
{ (Thin (-1)
   THEN D 0
   THEN OrRight
   THEN Auto
   THEN (InstHyp [⌈e'⌉;⌈w⌉] (-8)⋅ THENA Auto)
   THEN ParallelLast
   THEN (InstHyp [⌈e'⌉;⌈w⌉] (-14)⋅ THENA Auto)
   THEN RepUR ``State-loc-comb State-comb lifting-loc-2 lifting-2 lifting2-loc lifting2`` (-1)
   THEN RepUR ``lifting-loc-gen-rev lifting-gen-rev`` (-1)
   THEN RepeatFor 3 ((RecUnfold `lifting-gen-list-rev` (-1) THEN Reduce (-1)))
   THEN (RepeatFor 2 (D (-1)) THENA (Subst ⌈loc(e') = loc(e) ∈ Id⌉ 0⋅ THEN MaAuto))
   THEN Auto) }
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.  x  :  A
12.  x  \mdownarrow{}\mmember{}  X  es  e
13.  x@0  :  B
14.  \mforall{}e':E
            ((e'  <loc  e)
            {}\mRightarrow{}  (\mforall{}w:B
                        (\mneg{}w  \mmember{}  \mlambda{}l,x,s.  if  bag-null(x)
                                                  then  s
                                                  else  \mcup{}x1\mmember{}x.\mcup{}x1@0\mmember{}s.\{f  l  x1  x1@0\}
                                                  fi  |Loc,  X,  Prior(self)?init|(e'))))
15.  x@0  \mdownarrow{}\mmember{}  init  loc(e)
16.  v  \mdownarrow{}\mmember{}  \{f  loc(e)  x  x@0\}
17.  \mneg{}((X  es  e)  =  \{\})
18.  \mneg{}((X  es  e)  =  \{\})
19.  x  \mdownarrow{}\mmember{}  X  es  e
\mvdash{}  \mdownarrow{}(\mexists{}e':E
          ((es-p-local-pred(es;\mlambda{}e'.(\mdownarrow{}\mexists{}w:B
                                                                  w  \mmember{}  \mlambda{}x,s.  if  bag-null(x)
                                                                                    then  s
                                                                                    else  \mcup{}x1\mmember{}x.\mcup{}x1@0\mmember{}s.\{f  loc(e)  x1  x1@0\}
                                                                                    fi  |X,Prior(self)?init|(e'))) 
              e 
              e')
          \mwedge{}  x@0  \mmember{}  \mlambda{}x,s.  if  bag-null(x)  then  s  else  \mcup{}x1\mmember{}x.\mcup{}x1@0\mmember{}s.\{f  loc(e)  x1  x1@0\}  fi  |X,Prior(self)?ini\000Ct|(
                          e')))
      \mvee{}  ((\mforall{}e':E
                  ((e'  <loc  e)
                  {}\mRightarrow{}  (\mforall{}w:B
                              (\mneg{}w  \mmember{}  \mlambda{}x,s.  if  bag-null(x)
                                                    then  s
                                                    else  \mcup{}x1\mmember{}x.\mcup{}x1@0\mmember{}s.\{f  loc(e)  x1  x1@0\}
                                                    fi  |X,Prior(self)?init|(e')))))
          \mwedge{}  x@0  \mdownarrow{}\mmember{}  init  loc(e))
By
Latex:
(Thin  (-1)
  THEN  D  0
  THEN  OrRight
  THEN  Auto
  THEN  (InstHyp  [\mkleeneopen{}e'\mkleeneclose{};\mkleeneopen{}w\mkleeneclose{}]  (-8)\mcdot{}  THENA  Auto)
  THEN  ParallelLast
  THEN  (InstHyp  [\mkleeneopen{}e'\mkleeneclose{};\mkleeneopen{}w\mkleeneclose{}]  (-14)\mcdot{}  THENA  Auto)
  THEN  RepUR  ``State-loc-comb  State-comb  lifting-loc-2  lifting-2  lifting2-loc  lifting2``  (-1)
  THEN  RepUR  ``lifting-loc-gen-rev  lifting-gen-rev``  (-1)
  THEN  RepeatFor  3  ((RecUnfold  `lifting-gen-list-rev`  (-1)  THEN  Reduce  (-1)))
  THEN  (RepeatFor  2  (D  (-1))  THENA  (Subst  \mkleeneopen{}loc(e')  =  loc(e)\mkleeneclose{}  0\mcdot{}  THEN  MaAuto))
  THEN  Auto)
Home
Index