Step
*
of Lemma
state-class1-fun-eq
∀[Info,B,A:Type]. ∀[init:Id ─→ B]. ∀[tr:Id ─→ A ─→ B ─→ B]. ∀[X:EClass(A)]. ∀[es:EO+(Info)]. ∀[e:E].
  state-class1(init;tr;X)(e)
  = if e ∈b X then if first(e) then tr loc(e) X@e (init loc(e)) else tr loc(e) X@e state-class1(init;tr;X)(pred(e)) fi 
    if first(e) then init loc(e)
    else state-class1(init;tr;X)(pred(e))
    fi 
  ∈ B 
  supposing single-valued-classrel(es;X;A)
BY
{ ((UnivCD THENA Auto)
   THEN UnfoldAtAddr [2;2] 0
   THEN (RWO "loop-class-state-fun-eq" 0 THENA Auto)
   THEN ProveFunctional
   THEN Auto) }
1
1. Info : Type
2. B : Type
3. A : Type
4. init : Id ─→ B
5. tr : Id ─→ A ─→ B ─→ B
6. X : EClass(A)
7. es : EO+(Info)
8. e : E
9. single-valued-classrel(es;X;A)
⊢ if e ∈b (tr o X)
    then if first(e)
         then (tr o X)@e (init loc(e))
         else (tr o X)@e loop-class-state((tr o X);λloc.{init loc})(pred(e))
         fi 
if first(e) then init loc(e)
else loop-class-state((tr o X);λloc.{init loc})(pred(e))
fi 
= if e ∈b X then if first(e) then tr loc(e) X@e (init loc(e)) else tr loc(e) X@e state-class1(init;tr;X)(pred(e)) fi 
  if first(e) then init loc(e)
  else state-class1(init;tr;X)(pred(e))
  fi 
∈ B
Latex:
Latex:
\mforall{}[Info,B,A:Type].  \mforall{}[init:Id  {}\mrightarrow{}  B].  \mforall{}[tr:Id  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B].  \mforall{}[X:EClass(A)].  \mforall{}[es:EO+(Info)].  \mforall{}[e:E].
    state-class1(init;tr;X)(e)
    =  if  e  \mmember{}\msubb{}  X
            then  if  first(e)
                      then  tr  loc(e)  X@e  (init  loc(e))
                      else  tr  loc(e)  X@e  state-class1(init;tr;X)(pred(e))
                      fi 
        if  first(e)  then  init  loc(e)
        else  state-class1(init;tr;X)(pred(e))
        fi   
    supposing  single-valued-classrel(es;X;A)
By
Latex:
((UnivCD  THENA  Auto)
  THEN  UnfoldAtAddr  [2;2]  0
  THEN  (RWO  "loop-class-state-fun-eq"  0  THENA  Auto)
  THEN  ProveFunctional
  THEN  Auto)
Home
Index