Step
*
of Lemma
Memory-class-trans2
∀[Info,B,A:Type].
∀R:B ─→ B ─→ ℙ. ∀f:A ─→ B ─→ B. ∀init:Id ─→ bag(B). ∀X:EClass(A). ∀es:EO+(Info). ∀e1,e2:E. ∀v1,v2:B.
(Trans(B;x,y.R[x;y])
⇒ (∀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]))))
⇒ single-valued-classrel(es;X;A)
⇒ single-valued-bag(init loc(e1);B)
⇒ v1 ∈ Memory-class(f;init;X)(e1)
⇒ v2 ∈ Memory-class(f;init;X)(e2)
⇒ (e1 <loc e2)
⇒ (∀e:E. (e1 ≤loc e
⇒ (e <loc e2)
⇒ (∀a:A. (¬a ∈ X(e)))))
⇒ (v1 = v2 ∈ B))
BY
{ (Auto
THEN (RWO "Memory-classrel2" (-4) THENA Auto)
THEN (RWO "Memory-classrel2" (-3) THENA Auto)
THEN Unsquash
THEN All (RepUR ``prior-iterated-classrel``)
THEN SplitOrHyps
THEN Auto) }
1
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)
18. v1 ↓∈ init loc(e1)
19. ¬↑first(e2)
20. iterated-classrel(es;B;A;f;init;X;pred(e2);v2)
21. (e1 <loc e2)@i
22. ∀e:E. (e1 ≤loc e
⇒ (e <loc e2)
⇒ (∀a:A. (¬a ∈ X(e))))@i
⊢ v1 = v2 ∈ B
2
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)
18. iterated-classrel(es;B;A;f;init;X;pred(e1);v1)
19. ¬↑first(e2)
20. iterated-classrel(es;B;A;f;init;X;pred(e2);v2)
21. (e1 <loc e2)@i
22. ∀e:E. (e1 ≤loc e
⇒ (e <loc e2)
⇒ (∀a:A. (¬a ∈ X(e))))@i
⊢ v1 = v2 ∈ B
Latex:
Latex:
\mforall{}[Info,B,A:Type].
\mforall{}R:B {}\mrightarrow{} 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{}e1,e2:E.
\mforall{}v1,v2:B.
(Trans(B;x,y.R[x;y])
{}\mRightarrow{} (\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]))))
{}\mRightarrow{} single-valued-classrel(es;X;A)
{}\mRightarrow{} single-valued-bag(init loc(e1);B)
{}\mRightarrow{} v1 \mmember{} Memory-class(f;init;X)(e1)
{}\mRightarrow{} v2 \mmember{} Memory-class(f;init;X)(e2)
{}\mRightarrow{} (e1 <loc e2)
{}\mRightarrow{} (\mforall{}e:E. (e1 \mleq{}loc e {}\mRightarrow{} (e <loc e2) {}\mRightarrow{} (\mforall{}a:A. (\mneg{}a \mmember{} X(e)))))
{}\mRightarrow{} (v1 = v2))
By
Latex:
(Auto
THEN (RWO "Memory-classrel2" (-4) THENA Auto)
THEN (RWO "Memory-classrel2" (-3) THENA Auto)
THEN Unsquash
THEN All (RepUR ``prior-iterated-classrel``)
THEN SplitOrHyps
THEN Auto)
Home
Index