Step
*
of Lemma
Accum-class-progress
∀[Info,B,A:Type].
  ∀R:B ─→ B ─→ ℙ. ∀P:A ─→ B ─→ ℙ. ∀f:A ─→ B ─→ B. ∀init:Id ─→ bag(B). ∀X:EClass(A). ∀es:EO+(Info). ∀e1,e2:E. ∀v1,v2:B.
    ((∀a:A. ∀s:B.  Dec(P[a;s]))
    
⇒ Trans(B;x,y.R[x;y])
    
⇒ (∀s1,s2:B.  SqStable(R[s1;s2]))
    
⇒ (∀a:A. ∀e:E. ∀s:B.
          ((e1 <loc e)
          
⇒ e ≤loc e2 
          
⇒ a ∈ X(e)
          
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
          
⇒ ((P[a;s] 
⇒ R[s;f a s]) ∧ ((¬P[a;s]) 
⇒ (s = (f a s) ∈ B)))))
    
⇒ single-valued-classrel(es;X;A)
    
⇒ single-valued-bag(init loc(e1);B)
    
⇒ v1 ∈ Accum-class(f;init;X)(e1)
    
⇒ v2 ∈ Accum-class(f;init;X)(e2)
    
⇒ (e1 <loc e2)
    
⇒ (((∃e:E. ∃a:A. ∃s:B. ((e1 <loc e) ∧ e ≤loc e2  ∧ s ∈ Prior(Accum-class(f;init;X))?init(e) ∧ a ∈ X(e) ∧ P[a;s]))
       
⇒ R[v1;v2])
       ∧ ((∀e:E. ∀s:B.
             ((e1 <loc e)
             
⇒ e ≤loc e2 
             
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
             
⇒ (∀a:A. ((¬a ∈ X(e)) ∨ (¬P[a;s])))))
         
⇒ (v1 = v2 ∈ B))))
BY
{ (RepeatFor 10 ((D 0 THENA Auto))
   THEN VrCausalInd'
   THEN (UnivCD THENA Auto)
   THEN RepeatFor 2 (MaUseClassRel'' (-2))
   THEN TrySquashExRepD (-2)
   THEN (Assert ⌈b ∈ Prior(lifting-2(f)|X,Prior(self)?init|)?init(e2)⌉⋅ THENA Trivial)
   THEN MaUseClassRel'' (-4)
   THEN TrySquashExRepD (-4)
   THEN D (-4)
   THEN ExRepD
   THEN All (\h. Try (Fold `Accum-class` h))
   THEN Try (Complete ((Assert ⌈False⌉⋅ THEN Auto)))
   THEN RepUR ``es-p-local-pred`` (-5)
   THEN RepD
   THEN UseLoclTri ⌈es⌉⌈e1⌉⌈e'⌉⋅) }
1
1. Info : Type
2. B : Type
3. A : Type
4. R : B ─→ B ─→ ℙ@i'
5. P : A ─→ B ─→ ℙ@i'
6. f : A ─→ B ─→ B@i
7. init : Id ─→ bag(B)@i
8. X : EClass(A)@i'
9. es : EO+(Info)@i'
10. e1 : E@i
11. e2 : E@i
12. ∀e':E
      ((e' < e2)
      
⇒ (∀v1,v2:B.
            ((∀a:A. ∀s:B.  Dec(P[a;s]))
            
⇒ Trans(B;x,y.R[x;y])
            
⇒ (∀s1,s2:B.  SqStable(R[s1;s2]))
            
⇒ (∀a:A. ∀e:E. ∀s:B.
                  ((e1 <loc e)
                  
⇒ e ≤loc e' 
                  
⇒ a ∈ X(e)
                  
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
                  
⇒ ((P[a;s] 
⇒ R[s;f a s]) ∧ ((¬P[a;s]) 
⇒ (s = (f a s) ∈ B)))))
            
⇒ single-valued-classrel(es;X;A)
            
⇒ single-valued-bag(init loc(e1);B)
            
⇒ v1 ∈ Accum-class(f;init;X)(e1)
            
⇒ v2 ∈ Accum-class(f;init;X)(e')
            
⇒ (e1 <loc e')
            
⇒ (((∃e:E
                   ∃a:A
                    ∃s:B. ((e1 <loc e) ∧ e ≤loc e'  ∧ s ∈ Prior(Accum-class(f;init;X))?init(e) ∧ a ∈ X(e) ∧ P[a;s]))
               
⇒ R[v1;v2])
               ∧ ((∀e:E. ∀s:B.
                     ((e1 <loc e)
                     
⇒ e ≤loc e' 
                     
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
                     
⇒ (∀a:A. ((¬a ∈ X(e)) ∨ (¬P[a;s])))))
                 
⇒ (v1 = v2 ∈ B))))))
13. v1 : B@i
14. v2 : B@i
15. ∀a:A. ∀s:B.  Dec(P[a;s])@i
16. Trans(B;x,y.R[x;y])@i
17. ∀s1,s2:B.  SqStable(R[s1;s2])@i
18. ∀a:A. ∀e:E. ∀s:B.
      ((e1 <loc e)
      
⇒ e ≤loc e2 
      
⇒ a ∈ X(e)
      
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
      
⇒ ((P[a;s] 
⇒ R[s;f a s]) ∧ ((¬P[a;s]) 
⇒ (s = (f a s) ∈ B))))@i
19. single-valued-classrel(es;X;A)@i
20. single-valued-bag(init loc(e1);B)@i
21. v1 ∈ Accum-class(f;init;X)(e1)@i
22. a : A
23. b : B
24. v2 = (f a b) ∈ B
25. e' : E
26. (e' <loc e2)
27. ↓∃w:B. w ∈ Accum-class(f;init;X)(e')
28. ∀e'':E. ((e'' <loc e2) 
⇒ (e' <loc e'') 
⇒ (¬↓∃w:B. w ∈ Accum-class(f;init;X)(e'')))
29. b ∈ Accum-class(f;init;X)(e')
30. a ∈ X(e2)
31. (e1 <loc e2)@i
32. b ∈ Prior(Accum-class(f;init;X))?init(e2)
33. (e1 <loc e')
⊢ ((∃e:E. ∃a:A. ∃s:B. ((e1 <loc e) ∧ e ≤loc e2  ∧ s ∈ Prior(Accum-class(f;init;X))?init(e) ∧ a ∈ X(e) ∧ P[a;s]))
⇒ R[v1;v2])
∧ ((∀e:E. ∀s:B.
      ((e1 <loc e) 
⇒ e ≤loc e2  
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e) 
⇒ (∀a:A. ((¬a ∈ X(e)) ∨ (¬P[a;s])))))
  
⇒ (v1 = v2 ∈ B))
2
1. Info : Type
2. B : Type
3. A : Type
4. R : B ─→ B ─→ ℙ@i'
5. P : A ─→ B ─→ ℙ@i'
6. f : A ─→ B ─→ B@i
7. init : Id ─→ bag(B)@i
8. X : EClass(A)@i'
9. es : EO+(Info)@i'
10. e1 : E@i
11. e2 : E@i
12. ∀e':E
      ((e' < e2)
      
⇒ (∀v1,v2:B.
            ((∀a:A. ∀s:B.  Dec(P[a;s]))
            
⇒ Trans(B;x,y.R[x;y])
            
⇒ (∀s1,s2:B.  SqStable(R[s1;s2]))
            
⇒ (∀a:A. ∀e:E. ∀s:B.
                  ((e1 <loc e)
                  
⇒ e ≤loc e' 
                  
⇒ a ∈ X(e)
                  
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
                  
⇒ ((P[a;s] 
⇒ R[s;f a s]) ∧ ((¬P[a;s]) 
⇒ (s = (f a s) ∈ B)))))
            
⇒ single-valued-classrel(es;X;A)
            
⇒ single-valued-bag(init loc(e1);B)
            
⇒ v1 ∈ Accum-class(f;init;X)(e1)
            
⇒ v2 ∈ Accum-class(f;init;X)(e')
            
⇒ (e1 <loc e')
            
⇒ (((∃e:E
                   ∃a:A
                    ∃s:B. ((e1 <loc e) ∧ e ≤loc e'  ∧ s ∈ Prior(Accum-class(f;init;X))?init(e) ∧ a ∈ X(e) ∧ P[a;s]))
               
⇒ R[v1;v2])
               ∧ ((∀e:E. ∀s:B.
                     ((e1 <loc e)
                     
⇒ e ≤loc e' 
                     
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
                     
⇒ (∀a:A. ((¬a ∈ X(e)) ∨ (¬P[a;s])))))
                 
⇒ (v1 = v2 ∈ B))))))
13. v1 : B@i
14. v2 : B@i
15. ∀a:A. ∀s:B.  Dec(P[a;s])@i
16. Trans(B;x,y.R[x;y])@i
17. ∀s1,s2:B.  SqStable(R[s1;s2])@i
18. ∀a:A. ∀e:E. ∀s:B.
      ((e1 <loc e)
      
⇒ e ≤loc e2 
      
⇒ a ∈ X(e)
      
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
      
⇒ ((P[a;s] 
⇒ R[s;f a s]) ∧ ((¬P[a;s]) 
⇒ (s = (f a s) ∈ B))))@i
19. single-valued-classrel(es;X;A)@i
20. single-valued-bag(init loc(e1);B)@i
21. v1 ∈ Accum-class(f;init;X)(e1)@i
22. a : A
23. b : B
24. v2 = (f a b) ∈ B
25. e' : E
26. (e' <loc e2)
27. ↓∃w:B. w ∈ Accum-class(f;init;X)(e')
28. ∀e'':E. ((e'' <loc e2) 
⇒ (e' <loc e'') 
⇒ (¬↓∃w:B. w ∈ Accum-class(f;init;X)(e'')))
29. b ∈ Accum-class(f;init;X)(e')
30. a ∈ X(e2)
31. (e1 <loc e2)@i
32. b ∈ Prior(Accum-class(f;init;X))?init(e2)
33. e1 = e' ∈ E
⊢ ((∃e:E. ∃a:A. ∃s:B. ((e1 <loc e) ∧ e ≤loc e2  ∧ s ∈ Prior(Accum-class(f;init;X))?init(e) ∧ a ∈ X(e) ∧ P[a;s]))
⇒ R[v1;v2])
∧ ((∀e:E. ∀s:B.
      ((e1 <loc e) 
⇒ e ≤loc e2  
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e) 
⇒ (∀a:A. ((¬a ∈ X(e)) ∨ (¬P[a;s])))))
  
⇒ (v1 = v2 ∈ B))
3
1. Info : Type
2. B : Type
3. A : Type
4. R : B ─→ B ─→ ℙ@i'
5. P : A ─→ B ─→ ℙ@i'
6. f : A ─→ B ─→ B@i
7. init : Id ─→ bag(B)@i
8. X : EClass(A)@i'
9. es : EO+(Info)@i'
10. e1 : E@i
11. e2 : E@i
12. ∀e':E
      ((e' < e2)
      
⇒ (∀v1,v2:B.
            ((∀a:A. ∀s:B.  Dec(P[a;s]))
            
⇒ Trans(B;x,y.R[x;y])
            
⇒ (∀s1,s2:B.  SqStable(R[s1;s2]))
            
⇒ (∀a:A. ∀e:E. ∀s:B.
                  ((e1 <loc e)
                  
⇒ e ≤loc e' 
                  
⇒ a ∈ X(e)
                  
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
                  
⇒ ((P[a;s] 
⇒ R[s;f a s]) ∧ ((¬P[a;s]) 
⇒ (s = (f a s) ∈ B)))))
            
⇒ single-valued-classrel(es;X;A)
            
⇒ single-valued-bag(init loc(e1);B)
            
⇒ v1 ∈ Accum-class(f;init;X)(e1)
            
⇒ v2 ∈ Accum-class(f;init;X)(e')
            
⇒ (e1 <loc e')
            
⇒ (((∃e:E
                   ∃a:A
                    ∃s:B. ((e1 <loc e) ∧ e ≤loc e'  ∧ s ∈ Prior(Accum-class(f;init;X))?init(e) ∧ a ∈ X(e) ∧ P[a;s]))
               
⇒ R[v1;v2])
               ∧ ((∀e:E. ∀s:B.
                     ((e1 <loc e)
                     
⇒ e ≤loc e' 
                     
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
                     
⇒ (∀a:A. ((¬a ∈ X(e)) ∨ (¬P[a;s])))))
                 
⇒ (v1 = v2 ∈ B))))))
13. v1 : B@i
14. v2 : B@i
15. ∀a:A. ∀s:B.  Dec(P[a;s])@i
16. Trans(B;x,y.R[x;y])@i
17. ∀s1,s2:B.  SqStable(R[s1;s2])@i
18. ∀a:A. ∀e:E. ∀s:B.
      ((e1 <loc e)
      
⇒ e ≤loc e2 
      
⇒ a ∈ X(e)
      
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e)
      
⇒ ((P[a;s] 
⇒ R[s;f a s]) ∧ ((¬P[a;s]) 
⇒ (s = (f a s) ∈ B))))@i
19. single-valued-classrel(es;X;A)@i
20. single-valued-bag(init loc(e1);B)@i
21. v1 ∈ Accum-class(f;init;X)(e1)@i
22. a : A
23. b : B
24. v2 = (f a b) ∈ B
25. e' : E
26. (e' <loc e2)
27. ↓∃w:B. w ∈ Accum-class(f;init;X)(e')
28. ∀e'':E. ((e'' <loc e2) 
⇒ (e' <loc e'') 
⇒ (¬↓∃w:B. w ∈ Accum-class(f;init;X)(e'')))
29. b ∈ Accum-class(f;init;X)(e')
30. a ∈ X(e2)
31. (e1 <loc e2)@i
32. b ∈ Prior(Accum-class(f;init;X))?init(e2)
33. (e' <loc e1)
⊢ ((∃e:E. ∃a:A. ∃s:B. ((e1 <loc e) ∧ e ≤loc e2  ∧ s ∈ Prior(Accum-class(f;init;X))?init(e) ∧ a ∈ X(e) ∧ P[a;s]))
⇒ R[v1;v2])
∧ ((∀e:E. ∀s:B.
      ((e1 <loc e) 
⇒ e ≤loc e2  
⇒ s ∈ Prior(Accum-class(f;init;X))?init(e) 
⇒ (∀a:A. ((¬a ∈ X(e)) ∨ (¬P[a;s])))))
  
⇒ (v1 = v2 ∈ B))
Latex:
Latex:
\mforall{}[Info,B,A:Type].
    \mforall{}R:B  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}.  \mforall{}P:A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}.  \mforall{}f:A  {}\mrightarrow{}  B  {}\mrightarrow{}  B.  \mforall{}init:Id  {}\mrightarrow{}  bag(B).  \mforall{}X:EClass(A).  \mforall{}es:EO+(Info).
    \mforall{}e1,e2:E.  \mforall{}v1,v2:B.
        ((\mforall{}a:A.  \mforall{}s:B.    Dec(P[a;s]))
        {}\mRightarrow{}  Trans(B;x,y.R[x;y])
        {}\mRightarrow{}  (\mforall{}s1,s2:B.    SqStable(R[s1;s2]))
        {}\mRightarrow{}  (\mforall{}a:A.  \mforall{}e:E.  \mforall{}s:B.
                    ((e1  <loc  e)
                    {}\mRightarrow{}  e  \mleq{}loc  e2 
                    {}\mRightarrow{}  a  \mmember{}  X(e)
                    {}\mRightarrow{}  s  \mmember{}  Prior(Accum-class(f;init;X))?init(e)
                    {}\mRightarrow{}  ((P[a;s]  {}\mRightarrow{}  R[s;f  a  s])  \mwedge{}  ((\mneg{}P[a;s])  {}\mRightarrow{}  (s  =  (f  a  s))))))
        {}\mRightarrow{}  single-valued-classrel(es;X;A)
        {}\mRightarrow{}  single-valued-bag(init  loc(e1);B)
        {}\mRightarrow{}  v1  \mmember{}  Accum-class(f;init;X)(e1)
        {}\mRightarrow{}  v2  \mmember{}  Accum-class(f;init;X)(e2)
        {}\mRightarrow{}  (e1  <loc  e2)
        {}\mRightarrow{}  (((\mexists{}e:E
                      \mexists{}a:A
                        \mexists{}s:B
                          ((e1  <loc  e)
                          \mwedge{}  e  \mleq{}loc  e2 
                          \mwedge{}  s  \mmember{}  Prior(Accum-class(f;init;X))?init(e)
                          \mwedge{}  a  \mmember{}  X(e)
                          \mwedge{}  P[a;s]))
              {}\mRightarrow{}  R[v1;v2])
              \mwedge{}  ((\mforall{}e:E.  \mforall{}s:B.
                          ((e1  <loc  e)
                          {}\mRightarrow{}  e  \mleq{}loc  e2 
                          {}\mRightarrow{}  s  \mmember{}  Prior(Accum-class(f;init;X))?init(e)
                          {}\mRightarrow{}  (\mforall{}a:A.  ((\mneg{}a  \mmember{}  X(e))  \mvee{}  (\mneg{}P[a;s])))))
                  {}\mRightarrow{}  (v1  =  v2))))
By
Latex:
(RepeatFor  10  ((D  0  THENA  Auto))
  THEN  VrCausalInd'
  THEN  (UnivCD  THENA  Auto)
  THEN  RepeatFor  2  (MaUseClassRel''  (-2))
  THEN  TrySquashExRepD  (-2)
  THEN  (Assert  \mkleeneopen{}b  \mmember{}  Prior(lifting-2(f)|X,Prior(self)?init|)?init(e2)\mkleeneclose{}\mcdot{}  THENA  Trivial)
  THEN  MaUseClassRel''  (-4)
  THEN  TrySquashExRepD  (-4)
  THEN  D  (-4)
  THEN  ExRepD
  THEN  All  (\mbackslash{}h.  Try  (Fold  `Accum-class`  h))
  THEN  Try  (Complete  ((Assert  \mkleeneopen{}False\mkleeneclose{}\mcdot{}  THEN  Auto)))
  THEN  RepUR  ``es-p-local-pred``  (-5)
  THEN  RepD
  THEN  UseLoclTri  \mkleeneopen{}es\mkleeneclose{}\mkleeneopen{}e1\mkleeneclose{}\mkleeneopen{}e'\mkleeneclose{}\mcdot{})
Home
Index