Step
*
1
2
2
of Lemma
Memory-class-trans1
1. [Info] : Type
2. [B] : Type
3. [A] : Type
4. R : B ─→ 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. e1 : E@i
10. e2 : E@i
11. v1 : B@i
12. v2 : B@i
13. Trans(B;x,y.R[x;y])@i
14. ∀a:A. ∀e:E. (e1 ≤loc e
⇒ (e <loc e2)
⇒ a ∈ X(e)
⇒ (∀s:B. (s ∈ Memory-class(f;init;X)(e)
⇒ R[s;f a s])))@i
15. single-valued-classrel(es;X;A)@i
16. single-valued-bag(init loc(e1);B)@i
17. ↓((↑first(e1)) ∧ v1 ↓∈ init loc(e1)) ∨ ((¬↑first(e1)) ∧ iterated-classrel(es;B;A;f;init;X;pred(e1);v1))
18. ↓((↑first(e2)) ∧ v2 ↓∈ init loc(e2)) ∨ ((¬↑first(e2)) ∧ iterated-classrel(es;B;A;f;init;X;pred(e2);v2))
19. (e1 <loc e2)@i
20. e : E@i
21. e1 ≤loc e @i
22. (e <loc e2)@i
23. a : A@i
24. a ∈ X(e)@i
25. ¬↑first(e2)
26. ↑first(e1)
27. iterated-classrel(es;B;A;f;init;X;pred(e2);v2)
28. ¬(∃v:A. v ∈ X(e1))
29. iterated-classrel(es;B;A;f;init;X;e1;v1)
30. loc(pred(e2)) = loc(e2) ∈ Id
31. (pred(e2) < e2)
32. ∀e':E. (e' < e2)
⇒ ((e' = pred(e2) ∈ E) ∨ (e' < pred(e2))) supposing loc(e') = loc(e2) ∈ Id
33. (e1 < pred(e2))
⊢ R[v1;v2]
BY
{ ((InstLemma `iterated-classrel-trans`
[⌈Info⌉;⌈A⌉;⌈B⌉;⌈init⌉;⌈f⌉;⌈R⌉;⌈X⌉;⌈es⌉;⌈e1⌉;⌈pred(e2)⌉;⌈v1⌉;⌈v2⌉]⋅
THENA (MaAuto
THEN Using [`e',⌈e3⌉] (BHyp (-27))⋅
THEN MaAuto
THEN Try (Complete ((InstLemma `es-pred-locl` [⌈es⌉;⌈e2⌉]⋅
THEN Auto
THEN D (-5)
THEN D (-1)
THEN D 0
THEN MaAuto)))
THEN BLemma `Memory-classrel2`
THEN Auto
THEN Unfold `prior-iterated-classrel` 0
THEN D 0
THEN OrRight
THEN MaAuto)
)
THEN RepD
THEN D (-2)
THEN Auto
THEN InstConcl [⌈e⌉]⋅
THEN MaAuto
THEN UseLoclTri ⌈es⌉⌈e⌉⌈e1⌉⋅
THEN Auto
THEN Assert ⌈False⌉⋅
THEN Auto
THEN D (-8)
THEN MaAuto) }
Latex:
Latex:
1. [Info] : Type
2. [B] : Type
3. [A] : Type
4. R : B {}\mrightarrow{} B {}\mrightarrow{} \mBbbP{}@i'
5. f : A {}\mrightarrow{} B {}\mrightarrow{} B@i
6. init : Id {}\mrightarrow{} bag(B)@i
7. X : EClass(A)@i'
8. es : EO+(Info)@i'
9. e1 : E@i
10. e2 : E@i
11. v1 : B@i
12. v2 : B@i
13. Trans(B;x,y.R[x;y])@i
14. \mforall{}a:A. \mforall{}e:E.
(e1 \mleq{}loc e
{}\mRightarrow{} (e <loc e2)
{}\mRightarrow{} a \mmember{} X(e)
{}\mRightarrow{} (\mforall{}s:B. (s \mmember{} Memory-class(f;init;X)(e) {}\mRightarrow{} R[s;f a s])))@i
15. single-valued-classrel(es;X;A)@i
16. single-valued-bag(init loc(e1);B)@i
17. \mdownarrow{}((\muparrow{}first(e1)) \mwedge{} v1 \mdownarrow{}\mmember{} init loc(e1))
\mvee{} ((\mneg{}\muparrow{}first(e1)) \mwedge{} iterated-classrel(es;B;A;f;init;X;pred(e1);v1))
18. \mdownarrow{}((\muparrow{}first(e2)) \mwedge{} v2 \mdownarrow{}\mmember{} init loc(e2))
\mvee{} ((\mneg{}\muparrow{}first(e2)) \mwedge{} iterated-classrel(es;B;A;f;init;X;pred(e2);v2))
19. (e1 <loc e2)@i
20. e : E@i
21. e1 \mleq{}loc e @i
22. (e <loc e2)@i
23. a : A@i
24. a \mmember{} X(e)@i
25. \mneg{}\muparrow{}first(e2)
26. \muparrow{}first(e1)
27. iterated-classrel(es;B;A;f;init;X;pred(e2);v2)
28. \mneg{}(\mexists{}v:A. v \mmember{} X(e1))
29. iterated-classrel(es;B;A;f;init;X;e1;v1)
30. loc(pred(e2)) = loc(e2)
31. (pred(e2) < e2)
32. \mforall{}e':E. (e' < e2) {}\mRightarrow{} ((e' = pred(e2)) \mvee{} (e' < pred(e2))) supposing loc(e') = loc(e2)
33. (e1 < pred(e2))
\mvdash{} R[v1;v2]
By
Latex:
((InstLemma `iterated-classrel-trans`
[\mkleeneopen{}Info\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}B\mkleeneclose{};\mkleeneopen{}init\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}R\mkleeneclose{};\mkleeneopen{}X\mkleeneclose{};\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}e1\mkleeneclose{};\mkleeneopen{}pred(e2)\mkleeneclose{};\mkleeneopen{}v1\mkleeneclose{};\mkleeneopen{}v2\mkleeneclose{}]\mcdot{}
THENA (MaAuto
THEN Using [`e',\mkleeneopen{}e3\mkleeneclose{}] (BHyp (-27))\mcdot{}
THEN MaAuto
THEN Try (Complete ((InstLemma `es-pred-locl` [\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}e2\mkleeneclose{}]\mcdot{}
THEN Auto
THEN D (-5)
THEN D (-1)
THEN D 0
THEN MaAuto)))
THEN BLemma `Memory-classrel2`
THEN Auto
THEN Unfold `prior-iterated-classrel` 0
THEN D 0
THEN OrRight
THEN MaAuto)
)
THEN RepD
THEN D (-2)
THEN Auto
THEN InstConcl [\mkleeneopen{}e\mkleeneclose{}]\mcdot{}
THEN MaAuto
THEN UseLoclTri \mkleeneopen{}es\mkleeneclose{}\mkleeneopen{}e\mkleeneclose{}\mkleeneopen{}e1\mkleeneclose{}\mcdot{}
THEN Auto
THEN Assert \mkleeneopen{}False\mkleeneclose{}\mcdot{}
THEN Auto
THEN D (-8)
THEN MaAuto)
Home
Index