Step
*
1
of Lemma
iterated-classrel-invariant2
.....truecase..... 
1. [Info] : Type
2. [A] : Type
3. [S] : Type
4. [init] : Id ─→ bag(S)
5. [f] : A ─→ S ─→ S
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. [P] : E ─→ S ─→ ℙ
9. e : E@i
10. ∀e1:E
      ((e1 < e)
      
⇒ (∀v:S
            ((∀s:S. ∀e':E.
                (e' ≤loc e1 
                
⇒ if first(e')
                   then s ↓∈ init loc(e')
                   else iterated-classrel(es;S;A;f;init;X;pred(e');s) ∧ P[pred(e');s]
                   fi 
                
⇒ if e' ∈b X then ∀a:A. (a ∈ X(e') 
⇒ P[e';f a s]) else P[e';s] fi ))
            
⇒ iterated-classrel(es;S;A;f;init;X;e1;v)
            
⇒ P[e1;v])))
11. v : S@i
12. ∀s:S. ∀e':E.
      (e' ≤loc e 
      
⇒ if first(e') then s ↓∈ init loc(e') else iterated-classrel(es;S;A;f;init;X;pred(e');s) ∧ P[pred(e');s] fi 
      
⇒ if e' ∈b X then ∀a:A. (a ∈ X(e') 
⇒ P[e';f a s]) else P[e';s] fi )@i
13. z : S@i
14. z ↓∈ init loc(e)@i
15. (∃a:A. (a ∈ X(e) ∧ (v = (f a z) ∈ S))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v = z ∈ S))@i
16. ↑first(e)
⊢ P[e;v]
BY
{ (D (-2) THEN ExRepD) }
1
1. [Info] : Type
2. [A] : Type
3. [S] : Type
4. [init] : Id ─→ bag(S)
5. [f] : A ─→ S ─→ S
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. [P] : E ─→ S ─→ ℙ
9. e : E@i
10. ∀e1:E
      ((e1 < e)
      
⇒ (∀v:S
            ((∀s:S. ∀e':E.
                (e' ≤loc e1 
                
⇒ if first(e')
                   then s ↓∈ init loc(e')
                   else iterated-classrel(es;S;A;f;init;X;pred(e');s) ∧ P[pred(e');s]
                   fi 
                
⇒ if e' ∈b X then ∀a:A. (a ∈ X(e') 
⇒ P[e';f a s]) else P[e';s] fi ))
            
⇒ iterated-classrel(es;S;A;f;init;X;e1;v)
            
⇒ P[e1;v])))
11. v : S@i
12. ∀s:S. ∀e':E.
      (e' ≤loc e 
      
⇒ if first(e') then s ↓∈ init loc(e') else iterated-classrel(es;S;A;f;init;X;pred(e');s) ∧ P[pred(e');s] fi 
      
⇒ if e' ∈b X then ∀a:A. (a ∈ X(e') 
⇒ P[e';f a s]) else P[e';s] fi )@i
13. z : S@i
14. z ↓∈ init loc(e)@i
15. a : A@i
16. a ∈ X(e)@i
17. v = (f a z) ∈ S@i
18. ↑first(e)
⊢ P[e;v]
2
1. [Info] : Type
2. [A] : Type
3. [S] : Type
4. [init] : Id ─→ bag(S)
5. [f] : A ─→ S ─→ S
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. [P] : E ─→ S ─→ ℙ
9. e : E@i
10. ∀e1:E
      ((e1 < e)
      
⇒ (∀v:S
            ((∀s:S. ∀e':E.
                (e' ≤loc e1 
                
⇒ if first(e')
                   then s ↓∈ init loc(e')
                   else iterated-classrel(es;S;A;f;init;X;pred(e');s) ∧ P[pred(e');s]
                   fi 
                
⇒ if e' ∈b X then ∀a:A. (a ∈ X(e') 
⇒ P[e';f a s]) else P[e';s] fi ))
            
⇒ iterated-classrel(es;S;A;f;init;X;e1;v)
            
⇒ P[e1;v])))
11. v : S@i
12. ∀s:S. ∀e':E.
      (e' ≤loc e 
      
⇒ if first(e') then s ↓∈ init loc(e') else iterated-classrel(es;S;A;f;init;X;pred(e');s) ∧ P[pred(e');s] fi 
      
⇒ if e' ∈b X then ∀a:A. (a ∈ X(e') 
⇒ P[e';f a s]) else P[e';s] fi )@i
13. z : S@i
14. z ↓∈ init loc(e)@i
15. ∀a:A. (¬a ∈ X(e))@i
16. v = z ∈ S@i
17. ↑first(e)
⊢ P[e;v]
Latex:
.....truecase..... 
1.  [Info]  :  Type
2.  [A]  :  Type
3.  [S]  :  Type
4.  [init]  :  Id  {}\mrightarrow{}  bag(S)
5.  [f]  :  A  {}\mrightarrow{}  S  {}\mrightarrow{}  S
6.  X  :  EClass(A)@i'
7.  es  :  EO+(Info)@i'
8.  [P]  :  E  {}\mrightarrow{}  S  {}\mrightarrow{}  \mBbbP{}
9.  e  :  E@i
10.  \mforall{}e1:E
            ((e1  <  e)
            {}\mRightarrow{}  (\mforall{}v:S
                        ((\mforall{}s:S.  \mforall{}e':E.
                                (e'  \mleq{}loc  e1 
                                {}\mRightarrow{}  if  first(e')
                                      then  s  \mdownarrow{}\mmember{}  init  loc(e')
                                      else  iterated-classrel(es;S;A;f;init;X;pred(e');s)  \mwedge{}  P[pred(e');s]
                                      fi 
                                {}\mRightarrow{}  if  e'  \mmember{}\msubb{}  X  then  \mforall{}a:A.  (a  \mmember{}  X(e')  {}\mRightarrow{}  P[e';f  a  s])  else  P[e';s]  fi  ))
                        {}\mRightarrow{}  iterated-classrel(es;S;A;f;init;X;e1;v)
                        {}\mRightarrow{}  P[e1;v])))
11.  v  :  S@i
12.  \mforall{}s:S.  \mforall{}e':E.
            (e'  \mleq{}loc  e 
            {}\mRightarrow{}  if  first(e')
                  then  s  \mdownarrow{}\mmember{}  init  loc(e')
                  else  iterated-classrel(es;S;A;f;init;X;pred(e');s)  \mwedge{}  P[pred(e');s]
                  fi 
            {}\mRightarrow{}  if  e'  \mmember{}\msubb{}  X  then  \mforall{}a:A.  (a  \mmember{}  X(e')  {}\mRightarrow{}  P[e';f  a  s])  else  P[e';s]  fi  )@i
13.  z  :  S@i
14.  z  \mdownarrow{}\mmember{}  init  loc(e)@i
15.  (\mexists{}a:A.  (a  \mmember{}  X(e)  \mwedge{}  (v  =  (f  a  z))))  \mvee{}  ((\mforall{}a:A.  (\mneg{}a  \mmember{}  X(e)))  \mwedge{}  (v  =  z))@i
16.  \muparrow{}first(e)
\mvdash{}  P[e;v]
By
(D  (-2)  THEN  ExRepD)
Home
Index