Step
*
1
of Lemma
accum-class-programmable
1. Info : Type
2. A : Type
3. B : Type
4. X : EClass(A)
5. base : A ─→ B
6. f : B ─→ A ─→ B
7. v : EClass(B)@i'
8. λB,r. if (#(B 0) =z 1)
        then if (#(r) =z 1) then {f[only(r);only(B 0)]} else {base[only(B 0)]} fi 
        else {}
        fi |λi.X,(self)'|
= v
∈ EClass(B)@i'
⊢ accum-class(b,a.f[b;a];a.base[a];X) = v ∈ EClass(B)
BY
{ (RenameVar `Y' (-2)
   THEN Assert ⌈∀es:EO+(Info). ∀e:E.
                  ((Y es e)
                  = if (#(X es e) =z 1)
                    then if (#(Prior(Y) es e) =z 1)
                         then {f[only(Prior(Y) es e);only(X es e)]}
                         else {base[only(X es e)]}
                         fi 
                    else {}
                    fi 
                  ∈ bag(B))⌉⋅
   )⋅ }
1
.....assertion..... 
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. λB,r. if (#(B 0) =z 1)
        then if (#(r) =z 1) then {f[only(r);only(B 0)]} else {base[only(B 0)]} fi 
        else {}
        fi |λi.X,(self)'|
= Y
∈ EClass(B)@i'
⊢ ∀es:EO+(Info). ∀e:E.
    ((Y es e)
    = if (#(X es e) =z 1)
      then if (#(Prior(Y) es e) =z 1) then {f[only(Prior(Y) es e);only(X es e)]} else {base[only(X es e)]} fi 
      else {}
      fi 
    ∈ bag(B))
2
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. λB,r. if (#(B 0) =z 1)
        then if (#(r) =z 1) then {f[only(r);only(B 0)]} else {base[only(B 0)]} fi 
        else {}
        fi |λi.X,(self)'|
= Y
∈ EClass(B)@i'
9. ∀es:EO+(Info). ∀e:E.
     ((Y es e)
     = if (#(X es e) =z 1)
       then if (#(Prior(Y) es e) =z 1) then {f[only(Prior(Y) es e);only(X es e)]} else {base[only(X es e)]} fi 
       else {}
       fi 
     ∈ bag(B))
⊢ accum-class(b,a.f[b;a];a.base[a];X) = Y ∈ EClass(B)
Latex:
Latex:
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.  v  :  EClass(B)@i'
8.  \mlambda{}B,r.  if  (\#(B  0)  =\msubz{}  1)
                then  if  (\#(r)  =\msubz{}  1)  then  \{f[only(r);only(B  0)]\}  else  \{base[only(B  0)]\}  fi 
                else  \{\}
                fi  |\mlambda{}i.X,(self)'|
=  v@i'
\mvdash{}  accum-class(b,a.f[b;a];a.base[a];X)  =  v
By
Latex:
(RenameVar  `Y'  (-2)
  THEN  Assert  \mkleeneopen{}\mforall{}es:EO+(Info).  \mforall{}e:E.
                                ((Y  es  e)
                                =  if  (\#(X  es  e)  =\msubz{}  1)
                                    then  if  (\#(Prior(Y)  es  e)  =\msubz{}  1)
                                              then  \{f[only(Prior(Y)  es  e);only(X  es  e)]\}
                                              else  \{base[only(X  es  e)]\}
                                              fi 
                                    else  \{\}
                                    fi  )\mkleeneclose{}\mcdot{}
  )\mcdot{}
Home
Index