Step
*
1
2
2
1
2
4
1
1
of Lemma
accum-class-programmable
.....equality..... 
1. Info : Type
2. A : Type
3. B : Type
4. X : EClass(A)
5. base : A ─→ B
6. f : B ─→ A ─→ B
7. Y : EClass(B)@i'
8. ∀es:EO+(Info). ∀e:E.
     ((Y es e) = if e ∈b X then if e ∈b Prior(Y) then {f[Prior(Y)(e);X(e)]} else {base[X(e)]} fi  else {} fi  ∈ bag(B))
9. Singlevalued(Y)
10. ∀es:EO+(Info). ∀e:E.  (↑e ∈b X 
⇐⇒ ↑e ∈b Y)
11. es : EO+(Info)@i'
12. e : E@i
13. ∀e1:E. ((e1 < e) 
⇒ (↑e1 ∈b X) 
⇒ (accum_list(b,e.f[b;X(e)];e.base[X(e)];≤(X)(e1)) = Y(e1) ∈ B))
14. ↑e ∈b X@i
⊢ Y(e) = if e ∈b Prior(Y) then f[Prior(Y)(e);X(e)] else base[X(e)] fi  ∈ B
BY
{ ((InstHyp [⌈es⌉;⌈e⌉] (-7)⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN RepeatFor 2 (AutoSplit)
   THEN GenConclAtAddr [2;3]⋅
   THEN Thin (-1)
   THEN Auto
   THEN Unfold `eclass-val` 0
   THEN StrongHypSubst (-1) 0
   THEN Reduce 0
   THEN Auto
   THEN (SubstFor ⌈z⌉ 0⋅ THEN Reduce 0 THEN Auto)⋅)⋅ }
Latex:
Latex:
.....equality..... 
1.  Info  :  Type
2.  A  :  Type
3.  B  :  Type
4.  X  :  EClass(A)
5.  base  :  A  {}\mrightarrow{}  B
6.  f  :  B  {}\mrightarrow{}  A  {}\mrightarrow{}  B
7.  Y  :  EClass(B)@i'
8.  \mforall{}es:EO+(Info).  \mforall{}e:E.
          ((Y  es  e)
          =  if  e  \mmember{}\msubb{}  X  then  if  e  \mmember{}\msubb{}  Prior(Y)  then  \{f[Prior(Y)(e);X(e)]\}  else  \{base[X(e)]\}  fi    else  \{\}  fi  )
9.  Singlevalued(Y)
10.  \mforall{}es:EO+(Info).  \mforall{}e:E.    (\muparrow{}e  \mmember{}\msubb{}  X  \mLeftarrow{}{}\mRightarrow{}  \muparrow{}e  \mmember{}\msubb{}  Y)
11.  es  :  EO+(Info)@i'
12.  e  :  E@i
13.  \mforall{}e1:E.  ((e1  <  e)  {}\mRightarrow{}  (\muparrow{}e1  \mmember{}\msubb{}  X)  {}\mRightarrow{}  (accum\_list(b,e.f[b;X(e)];e.base[X(e)];\mleq{}(X)(e1))  =  Y(e1)))
14.  \muparrow{}e  \mmember{}\msubb{}  X@i
\mvdash{}  Y(e)  =  if  e  \mmember{}\msubb{}  Prior(Y)  then  f[Prior(Y)(e);X(e)]  else  base[X(e)]  fi 
By
Latex:
((InstHyp  [\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}e\mkleeneclose{}]  (-7)\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  RepeatFor  2  (AutoSplit)
  THEN  GenConclAtAddr  [2;3]\mcdot{}
  THEN  Thin  (-1)
  THEN  Auto
  THEN  Unfold  `eclass-val`  0
  THEN  StrongHypSubst  (-1)  0
  THEN  Reduce  0
  THEN  Auto
  THEN  (SubstFor  \mkleeneopen{}z\mkleeneclose{}  0\mcdot{}  THEN  Reduce  0  THEN  Auto)\mcdot{})\mcdot{}
Home
Index