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 s]))))
         iterated_classrel(es;S;A;f;init;X;e;v)
         P[v])))
BY
((UnivCD THENA Auto)
   THEN (Unhide THENA Auto)
   THEN RepeatFor (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. Type
3. Type
4. init Id ─→ bag(S)
5. A ─→ S ─→ S
6. EClass(A)
7. es EO+(Info)
8. S ─→ ℙ
9. ∀s:S. SqStable(P[s])@i
10. 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 s]))))
             iterated_classrel(es;S;A;f;init;X;e1;v)
             P[v])))
12. 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 s])))@i
15. S@i
16. z ↓∈ init loc(e)@i
17. (∃a:A. (a ∈ X(e) ∧ (v (f z) ∈ S))) ∨ ((∀a:A. a ∈ X(e))) ∧ (v z ∈ S))@i
18. ↑first(e)
⊢ P[v]

2
.....falsecase..... 
1. Info Type
2. Type
3. Type
4. init Id ─→ bag(S)
5. A ─→ S ─→ S
6. EClass(A)
7. es EO+(Info)
8. S ─→ ℙ
9. ∀s:S. SqStable(P[s])@i
10. 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 s]))))
             iterated_classrel(es;S;A;f;init;X;e1;v)
             P[v])))
12. 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 s])))@i
15. S@i
16. iterated_classrel(es;S;A;f;init;X;pred(e);z)@i
17. (∃a:A. (a ∈ X(e) ∧ (v (f 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