Step
*
of Lemma
Memory-class-invariant-sv1
∀[Info,B,A:Type].
  ∀P:B ─→ ℙ. ∀f:A ─→ B ─→ B. ∀init:Id ─→ bag(B). ∀X:EClass(A). ∀es:EO+(Info). ∀e:E. ∀v:B.
    (single-valued-classrel(es;X;A)
    
⇒ single-valued-bag(init loc(e);B)
    
⇒ (∀v:B. (v ↓∈ init loc(e) 
⇒ P[v]))
    
⇒ (∀a:A. ∀e':E. ∀s:B.  ((e' <loc e) 
⇒ a ∈ X(e') 
⇒ s ∈ Memory-class(f;init;X)(e') 
⇒ P[s] 
⇒ P[f a s]))
    
⇒ v ∈ Memory-class(f;init;X)(e)
    
⇒ P[v])
BY
{ ((UnivCD THENA MaAuto)
   THEN (RWO "Memory-classrel2" (-1) THENA Auto)
   THEN Unfold `prior-iterated-classrel` (-1)
   THEN (Decide ↑first(e) THENA Auto)
   THEN Try (Complete (((BHyp (-4)  THENA Auto) THEN D (-2) THEN (Unhide THENA Auto) THEN D (-2) THEN Auto)))
   THEN InstLemma `iterated-classrel-invariant` [⌈Info⌉;⌈A⌉;⌈B⌉;⌈init⌉;⌈f⌉;⌈X⌉;⌈P⌉;⌈es⌉;⌈pred(e)⌉;⌈v⌉]⋅
   THEN Auto) }
1
1. [Info] : Type
2. [B] : Type
3. [A] : Type
4. P : B ─→ ℙ@i'
5. f : A ─→ B ─→ B@i
6. init : Id ─→ bag(B)@i
7. X : EClass(A)@i'
8. es : EO+(Info)@i'
9. e : E@i
10. v : B@i
11. single-valued-classrel(es;X;A)@i
12. single-valued-bag(init loc(e);B)@i
13. ∀v:B. (v ↓∈ init loc(e) 
⇒ P[v])@i
14. ∀a:A. ∀e':E. ∀s:B.  ((e' <loc e) 
⇒ a ∈ X(e') 
⇒ s ∈ Memory-class(f;init;X)(e') 
⇒ P[s] 
⇒ P[f a s])@i
15. ↓((↑first(e)) ∧ v ↓∈ init loc(e)) ∨ ((¬↑first(e)) ∧ iterated-classrel(es;B;A;f;init;X;pred(e);v))
16. ¬↑first(e)
17. a : A@i
18. e' : E@i
19. s : B@i
20. e' ≤loc pred(e) @i
21. a ∈ X(e')@i
22. prior-iterated-classrel(es;A;B;s;X;f;init;e')@i
23. P[s]@i
⊢ P[f a s]
2
.....antecedent..... 
1. [Info] : Type
2. [B] : Type
3. [A] : Type
4. P : B ─→ ℙ@i'
5. f : A ─→ B ─→ B@i
6. init : Id ─→ bag(B)@i
7. X : EClass(A)@i'
8. es : EO+(Info)@i'
9. e : E@i
10. v : B@i
11. single-valued-classrel(es;X;A)@i
12. single-valued-bag(init loc(e);B)@i
13. ∀v:B. (v ↓∈ init loc(e) 
⇒ P[v])@i
14. ∀a:A. ∀e':E. ∀s:B.  ((e' <loc e) 
⇒ a ∈ X(e') 
⇒ s ∈ Memory-class(f;init;X)(e') 
⇒ P[s] 
⇒ P[f a s])@i
15. ↓((↑first(e)) ∧ v ↓∈ init loc(e)) ∨ ((¬↑first(e)) ∧ iterated-classrel(es;B;A;f;init;X;pred(e);v))
16. ¬↑first(e)
⊢ iterated-classrel(es;B;A;f;init;X;pred(e);v)
Latex:
Latex:
\mforall{}[Info,B,A:Type].
    \mforall{}P: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{}e:E.  \mforall{}v:B.
        (single-valued-classrel(es;X;A)
        {}\mRightarrow{}  single-valued-bag(init  loc(e);B)
        {}\mRightarrow{}  (\mforall{}v:B.  (v  \mdownarrow{}\mmember{}  init  loc(e)  {}\mRightarrow{}  P[v]))
        {}\mRightarrow{}  (\mforall{}a:A.  \mforall{}e':E.  \mforall{}s:B.
                    ((e'  <loc  e)  {}\mRightarrow{}  a  \mmember{}  X(e')  {}\mRightarrow{}  s  \mmember{}  Memory-class(f;init;X)(e')  {}\mRightarrow{}  P[s]  {}\mRightarrow{}  P[f  a  s]))
        {}\mRightarrow{}  v  \mmember{}  Memory-class(f;init;X)(e)
        {}\mRightarrow{}  P[v])
By
Latex:
((UnivCD  THENA  MaAuto)
  THEN  (RWO  "Memory-classrel2"  (-1)  THENA  Auto)
  THEN  Unfold  `prior-iterated-classrel`  (-1)
  THEN  (Decide  \muparrow{}first(e)  THENA  Auto)
  THEN  Try  (Complete  (((BHyp  (-4)    THENA  Auto)
                                            THEN  D  (-2)
                                            THEN  (Unhide  THENA  Auto)
                                            THEN  D  (-2)
                                            THEN  Auto)))
  THEN  InstLemma  `iterated-classrel-invariant`  [\mkleeneopen{}Info\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}B\mkleeneclose{};\mkleeneopen{}init\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}X\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{};\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}pred(e)\mkleeneclose{};\mkleeneopen{}v\mkleeneclose{}]
  \mcdot{}
  THEN  Auto)
Home
Index