Step
*
of Lemma
iterated_classrel_invariant3
∀[Info,A,S:Type]. ∀[init:Id ─→ bag(S)]. ∀[f:A ─→ S ─→ S]. ∀[X:EClass(A)]. ∀[es:EO+(Info)]. ∀[P:S ─→ ℙ].
  ((∀s:S. SqStable(P[s]))
  
⇒ (∀e:E. ∀v:S.
        ((∀s:S. (s ↓∈ init loc(e) 
⇒ P[s]))
        
⇒ (∀a:A. ∀e':E.  (e' ≤loc e  
⇒ a ∈ X(e') 
⇒ (∀s:S. (s ∈ prior(X*(f,init,e')) 
⇒ P[s] 
⇒ P[f a s]))))
        
⇒ iterated_classrel(es;S;A;f;init;X;e;v)
        
⇒ P[v])))
BY
{ ((UnivCD THENA Auto)
   THEN (Unhide THENA Auto)
   THEN RepeatFor 5 (MoveToConcl (-1))
   THEN StrongCausalInd
   THEN (UnivCD THENA Auto)
   THEN RecUnfold `iterated_classrel` (-1)
   THEN TrySquashExRepD (-1)
   THEN (SplitOnHypITE (-2) THENA Auto)) }
1
.....truecase..... 
1. Info : Type
2. A : Type
3. S : Type
4. init : Id ─→ bag(S)
5. f : A ─→ S ─→ S
6. X : EClass(A)
7. es : EO+(Info)
8. P : S ─→ ℙ
9. ∀s:S. SqStable(P[s])@i
10. e : E@i
11. ∀e1:E
      ((e1 < e)
      
⇒ (∀v:S
            ((∀s:S. (s ↓∈ init loc(e1) 
⇒ P[s]))
            
⇒ (∀a:A. ∀e':E.  (e' ≤loc e1  
⇒ a ∈ X(e') 
⇒ (∀s:S. (s ∈ prior(X*(f,init,e')) 
⇒ P[s] 
⇒ P[f a s]))))
            
⇒ iterated_classrel(es;S;A;f;init;X;e1;v)
            
⇒ P[v])))
12. v : S@i
13. ∀s:S. (s ↓∈ init loc(e) 
⇒ P[s])@i
14. ∀a:A. ∀e':E.  (e' ≤loc e  
⇒ a ∈ X(e') 
⇒ (∀s:S. (s ∈ prior(X*(f,init,e')) 
⇒ P[s] 
⇒ P[f a s])))@i
15. z : S@i
16. z ↓∈ init loc(e)@i
17. (∃a:A. (a ∈ X(e) ∧ (v = (f a z) ∈ S))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v = z ∈ S))@i
18. ↑first(e)
⊢ P[v]
2
.....falsecase..... 
1. Info : Type
2. A : Type
3. S : Type
4. init : Id ─→ bag(S)
5. f : A ─→ S ─→ S
6. X : EClass(A)
7. es : EO+(Info)
8. P : S ─→ ℙ
9. ∀s:S. SqStable(P[s])@i
10. e : E@i
11. ∀e1:E
      ((e1 < e)
      
⇒ (∀v:S
            ((∀s:S. (s ↓∈ init loc(e1) 
⇒ P[s]))
            
⇒ (∀a:A. ∀e':E.  (e' ≤loc e1  
⇒ a ∈ X(e') 
⇒ (∀s:S. (s ∈ prior(X*(f,init,e')) 
⇒ P[s] 
⇒ P[f a s]))))
            
⇒ iterated_classrel(es;S;A;f;init;X;e1;v)
            
⇒ P[v])))
12. v : S@i
13. ∀s:S. (s ↓∈ init loc(e) 
⇒ P[s])@i
14. ∀a:A. ∀e':E.  (e' ≤loc e  
⇒ a ∈ X(e') 
⇒ (∀s:S. (s ∈ prior(X*(f,init,e')) 
⇒ P[s] 
⇒ P[f a s])))@i
15. z : S@i
16. iterated_classrel(es;S;A;f;init;X;pred(e);z)@i
17. (∃a:A. (a ∈ X(e) ∧ (v = (f a z) ∈ S))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v = z ∈ S))@i
18. ¬↑first(e)
⊢ P[v]
Latex:
\mforall{}[Info,A,S:Type].  \mforall{}[init:Id  {}\mrightarrow{}  bag(S)].  \mforall{}[f:A  {}\mrightarrow{}  S  {}\mrightarrow{}  S].  \mforall{}[X:EClass(A)].  \mforall{}[es:EO+(Info)].
\mforall{}[P:S  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}s:S.  SqStable(P[s]))
    {}\mRightarrow{}  (\mforall{}e:E.  \mforall{}v:S.
                ((\mforall{}s:S.  (s  \mdownarrow{}\mmember{}  init  loc(e)  {}\mRightarrow{}  P[s]))
                {}\mRightarrow{}  (\mforall{}a:A.  \mforall{}e':E.
                            (e'  \mleq{}loc  e    {}\mRightarrow{}  a  \mmember{}  X(e')  {}\mRightarrow{}  (\mforall{}s:S.  (s  \mmember{}  prior(X*(f,init,e'))  {}\mRightarrow{}  P[s]  {}\mRightarrow{}  P[f  a  s]))))
                {}\mRightarrow{}  iterated\_classrel(es;S;A;f;init;X;e;v)
                {}\mRightarrow{}  P[v])))
By
((UnivCD  THENA  Auto)
  THEN  (Unhide  THENA  Auto)
  THEN  RepeatFor  5  (MoveToConcl  (-1))
  THEN  StrongCausalInd
  THEN  (UnivCD  THENA  Auto)
  THEN  RecUnfold  `iterated\_classrel`  (-1)
  THEN  TrySquashExRepD  (-1)
  THEN  (SplitOnHypITE  (-2)  THENA  Auto))
Home
Index