Step
*
of Lemma
iterated_classrel_trans1
∀[Info,A,S:Type]. ∀[init:Id ─→ bag(S)]. ∀[f:A ─→ S ─→ S]. ∀[X:EClass(A)].
∀es:EO+(Info)
(single-valued-classrel(es;X;A)
⇒ (∀[R:S ─→ S ─→ ℙ]
((∀x,y:S. Dec(R[x;y]))
⇒ Trans(S;x,y.R[x;y])
⇒ (∀a:A. ∀s:S. R[s;f a s])
⇒ (∀e1,e2:E.
(single-valued-bag(init loc(e1);S)
⇒ (e1 <loc e2)
⇒ (∀v1,v2:S.
(iterated_classrel(es;S;A;f;init;X;e1;v1)
⇒ iterated_classrel(es;S;A;f;init;X;e2;v2)
⇒ (((∃e:E. ((e1 <loc e) ∧ e ≤loc e2 ∧ (∃a:A. a ∈ X(e))))
⇒ R[v1;v2])
∧ ((∀e:E. ((e1 <loc e)
⇒ e ≤loc e2
⇒ (∀a:A. (¬a ∈ X(e)))))
⇒ (v1 = v2 ∈ S))))))))))
BY
{ ((UnivCD THENA Auto)
THEN RepeatFor 7 (MoveToConcl (-1))
THEN VrCausalInd'
THEN (UnivCD THENA Auto)
THEN RecUnfold `iterated_classrel` (-1)
THEN TrySquashExRepD (-1)
THEN (SplitOnHypITE (-2) THENA Auto)
THEN Try (Complete ((Assert ⌈False⌉⋅ THEN Auto)))) }
1
.....falsecase.....
1. Info : Type
2. A : Type
3. S : Type
4. init : Id ─→ bag(S)
5. f : A ─→ S ─→ S
6. X : EClass(A)
7. es : EO+(Info)@i'
8. single-valued-classrel(es;X;A)@i
9. R : S ─→ S ─→ ℙ
10. ∀x,y:S. Dec(R[x;y])@i
11. Trans(S;x,y.R[x;y])@i
12. ∀a:A. ∀s:S. R[s;f a s]@i
13. e1 : E@i
14. e2 : E@i
15. ∀e':E
((e' < e2)
⇒ single-valued-bag(init loc(e1);S)
⇒ (e1 <loc e')
⇒ (∀v1,v2:S.
(iterated_classrel(es;S;A;f;init;X;e1;v1)
⇒ iterated_classrel(es;S;A;f;init;X;e';v2)
⇒ (((∃e:E. ((e1 <loc e) ∧ e ≤loc e' ∧ (∃a:A. a ∈ X(e))))
⇒ R[v1;v2])
∧ ((∀e:E. ((e1 <loc e)
⇒ e ≤loc e'
⇒ (∀a:A. (¬a ∈ X(e)))))
⇒ (v1 = v2 ∈ S))))))
16. single-valued-bag(init loc(e1);S)@i
17. (e1 <loc e2)@i
18. v1 : S@i
19. v2 : S@i
20. iterated_classrel(es;S;A;f;init;X;e1;v1)@i
21. z : S@i
22. iterated_classrel(es;S;A;f;init;X;pred(e2);z)@i
23. (∃a:A. (a ∈ X(e2) ∧ (v2 = (f a z) ∈ S))) ∨ ((∀a:A. (¬a ∈ X(e2))) ∧ (v2 = z ∈ S))@i
24. ¬↑first(e2)
⊢ ((∃e:E. ((e1 <loc e) ∧ e ≤loc e2 ∧ (∃a:A. a ∈ X(e))))
⇒ R[v1;v2])
∧ ((∀e:E. ((e1 <loc e)
⇒ e ≤loc e2
⇒ (∀a:A. (¬a ∈ X(e)))))
⇒ (v1 = v2 ∈ S))
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)
(single-valued-classrel(es;X;A)
{}\mRightarrow{} (\mforall{}[R:S {}\mrightarrow{} S {}\mrightarrow{} \mBbbP{}]
((\mforall{}x,y:S. Dec(R[x;y]))
{}\mRightarrow{} Trans(S;x,y.R[x;y])
{}\mRightarrow{} (\mforall{}a:A. \mforall{}s:S. R[s;f a s])
{}\mRightarrow{} (\mforall{}e1,e2:E.
(single-valued-bag(init loc(e1);S)
{}\mRightarrow{} (e1 <loc e2)
{}\mRightarrow{} (\mforall{}v1,v2:S.
(iterated\_classrel(es;S;A;f;init;X;e1;v1)
{}\mRightarrow{} iterated\_classrel(es;S;A;f;init;X;e2;v2)
{}\mRightarrow{} (((\mexists{}e:E. ((e1 <loc e) \mwedge{} e \mleq{}loc e2 \mwedge{} (\mexists{}a:A. a \mmember{} X(e)))) {}\mRightarrow{} R[v1;v2])
\mwedge{} ((\mforall{}e:E. ((e1 <loc e) {}\mRightarrow{} e \mleq{}loc e2 {}\mRightarrow{} (\mforall{}a:A. (\mneg{}a \mmember{} X(e)))))
{}\mRightarrow{} (v1 = v2))))))))))
By
((UnivCD THENA Auto)
THEN RepeatFor 7 (MoveToConcl (-1))
THEN VrCausalInd'
THEN (UnivCD THENA Auto)
THEN RecUnfold `iterated\_classrel` (-1)
THEN TrySquashExRepD (-1)
THEN (SplitOnHypITE (-2) THENA Auto)
THEN Try (Complete ((Assert \mkleeneopen{}False\mkleeneclose{}\mcdot{} THEN Auto))))
Home
Index