Step
*
1
of Lemma
State-comb-classrel-mem2
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. e : E@i
9. v : B
10. v ∈ State-comb(init;f;X)(e)@i
⊢ if e ∈b X
then ↓∃w:B. ∃a:A. (w ∈ Memory-class(f;init;X)(e) ∧ (v = (f a w) ∈ B) ∧ a ∈ X(e))
else v ∈ Memory-class(f;init;X)(e)
fi 
BY
{ (MaUseClassRel (-1) THEN RecUnfold `iterated_classrel` (-1) THEN (SplitOnHypITE (-1) THENA Auto)) }
1
.....truecase..... 
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. e : E@i
9. v : B
10. ↓∃z@0:B. (z@0 ↓∈ init loc(e) ∧ ((∃a:A. (a ∈ X(e) ∧ (v = (f a z@0) ∈ B))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v = z@0 ∈ B))))
11. ↑first(e)
⊢ if e ∈b X
then ↓∃w:B. ∃a:A. (w ∈ Memory-class(f;init;X)(e) ∧ (v = (f a w) ∈ B) ∧ a ∈ X(e))
else v ∈ Memory-class(f;init;X)(e)
fi 
2
.....falsecase..... 
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. e : E@i
9. v : B
10. ↓∃z@0:B
      (iterated_classrel(es;B;A;f;init;X;pred(e);z@0)
      ∧ ((∃a:A. (a ∈ X(e) ∧ (v = (f a z@0) ∈ B))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v = z@0 ∈ B))))
11. ¬↑first(e)
⊢ if e ∈b X
then ↓∃w:B. ∃a:A. (w ∈ Memory-class(f;init;X)(e) ∧ (v = (f a w) ∈ B) ∧ a ∈ X(e))
else v ∈ Memory-class(f;init;X)(e)
fi 
Latex:
Latex:
1.  Info  :  Type
2.  B  :  Type
3.  A  :  Type
4.  f  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B
5.  init  :  Id  {}\mrightarrow{}  bag(B)
6.  X  :  EClass(A)@i'
7.  es  :  EO+(Info)@i'
8.  e  :  E@i
9.  v  :  B
10.  v  \mmember{}  State-comb(init;f;X)(e)@i
\mvdash{}  if  e  \mmember{}\msubb{}  X
then  \mdownarrow{}\mexists{}w:B.  \mexists{}a:A.  (w  \mmember{}  Memory-class(f;init;X)(e)  \mwedge{}  (v  =  (f  a  w))  \mwedge{}  a  \mmember{}  X(e))
else  v  \mmember{}  Memory-class(f;init;X)(e)
fi 
By
Latex:
(MaUseClassRel  (-1)  THEN  RecUnfold  `iterated\_classrel`  (-1)  THEN  (SplitOnHypITE  (-1)  THENA  Auto))
Home
Index