Step * of Lemma iterated_classrel_invariant2

[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. (P[s]  P[f s]))))
             iterated_classrel(es;S;A;f;init;X;e;v)
             P[v])))
BY
(RepeatFor ((D THENA Auto))
   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)@i'
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. (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. (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)@i'
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. (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. (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.  (P[s]  {}\mRightarrow{}  P[f  a  s]))))
                        {}\mRightarrow{}  iterated\_classrel(es;S;A;f;init;X;e;v)
                        {}\mRightarrow{}  P[v])))


By

(RepeatFor  8  ((D  0  THENA  Auto))
  THEN  StrongCausalInd
  THEN  (UnivCD  THENA  Auto)
  THEN  RecUnfold  `iterated\_classrel`  (-1)
  THEN  TrySquashExRepD  (-1)
  THEN  (SplitOnHypITE  (-2)  THENA  Auto))




Home Index