Step
*
of Lemma
iterated_classrel-single-val
∀[Info,A,S:Type]. ∀[init:Id ─→ bag(S)]. ∀[f:A ─→ S ─→ S]. ∀[X:EClass(A)].
  ∀es:EO+(Info)
    (single-valued-classrel(es;X;A)
    
⇒ (∀e:E
          (single-valued-bag(init loc(e);S)
          
⇒ (∀v1,v2:S.
                (iterated_classrel(es;S;A;f;init;X;e;v1)
                
⇒ iterated_classrel(es;S;A;f;init;X;e;v2)
                
⇒ (v1 = v2 ∈ S))))))
BY
{ (RepeatFor 8 ((D 0 THENA Auto))
   THEN StrongCausalInd
   THEN (UnivCD THENA Auto)
   THEN RecUnfold `iterated_classrel` (-1)
   THEN RecUnfold `iterated_classrel` (-2)
   THEN SquashExRepD
   THEN (SplitOnHypITE  (-5) THENA Auto)
   THEN (SplitOnHypITE  (-3) THENA Auto)
   THEN Auto) }
1
.....truecase..... 
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. e : E@i
10. ∀e1:E
      ((e1 < e)
      
⇒ single-valued-bag(init loc(e1);S)
      
⇒ (∀v1,v2:S.
            (iterated_classrel(es;S;A;f;init;X;e1;v1) 
⇒ iterated_classrel(es;S;A;f;init;X;e1;v2) 
⇒ (v1 = v2 ∈ S))))
11. single-valued-bag(init loc(e);S)@i
12. v1 : S@i
13. v2 : S@i
14. z1 : S@i
15. z1 ↓∈ init loc(e)@i
16. (∃a:A. (a ∈ X(e) ∧ (v1 = (f a z1) ∈ S))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v1 = z1 ∈ S))@i
17. z : S@i
18. z ↓∈ init loc(e)@i
19. (∃a:A. (a ∈ X(e) ∧ (v2 = (f a z) ∈ S))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v2 = z ∈ S))@i
20. ↑first(e)
21. ↑first(e)
⊢ v1 = v2 ∈ S
2
.....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. e : E@i
10. ∀e1:E
      ((e1 < e)
      
⇒ single-valued-bag(init loc(e1);S)
      
⇒ (∀v1,v2:S.
            (iterated_classrel(es;S;A;f;init;X;e1;v1) 
⇒ iterated_classrel(es;S;A;f;init;X;e1;v2) 
⇒ (v1 = v2 ∈ S))))
11. single-valued-bag(init loc(e);S)@i
12. v1 : S@i
13. v2 : S@i
14. z1 : S@i
15. iterated_classrel(es;S;A;f;init;X;pred(e);z1)@i
16. (∃a:A. (a ∈ X(e) ∧ (v1 = (f a z1) ∈ S))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v1 = z1 ∈ S))@i
17. z : S@i
18. iterated_classrel(es;S;A;f;init;X;pred(e);z)@i
19. (∃a:A. (a ∈ X(e) ∧ (v2 = (f a z) ∈ S))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v2 = z ∈ S))@i
20. ¬↑first(e)
21. ¬↑first(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{}e:E
                    (single-valued-bag(init  loc(e);S)
                    {}\mRightarrow{}  (\mforall{}v1,v2:S.
                                (iterated\_classrel(es;S;A;f;init;X;e;v1)
                                {}\mRightarrow{}  iterated\_classrel(es;S;A;f;init;X;e;v2)
                                {}\mRightarrow{}  (v1  =  v2))))))
By
(RepeatFor  8  ((D  0  THENA  Auto))
  THEN  StrongCausalInd
  THEN  (UnivCD  THENA  Auto)
  THEN  RecUnfold  `iterated\_classrel`  (-1)
  THEN  RecUnfold  `iterated\_classrel`  (-2)
  THEN  SquashExRepD
  THEN  (SplitOnHypITE    (-5)  THENA  Auto)
  THEN  (SplitOnHypITE    (-3)  THENA  Auto)
  THEN  Auto)
Home
Index