Step * 1 of Lemma apply-updated-alist


1. Type
2. Type
3. eq EqDecider(T)
4. T
5. T
⊢ ∀[z:A]. ∀[f:A ⟶ A].
    (apply-alist(eq;update-alist(eq;[];x;z;v.f[v]);y)
    case apply-alist(eq;[];y)
       of inl(v) =>
       inl if eq then f[v] else fi 
       inr(any) =>
       if eq then inl else inr ⋅  fi 
    ∈ (A?))
BY
TACTIC:(Auto THEN RepUR ``update-alist apply-alist eqof`` THEN (SplitOnConclITE THEN Auto) THEN Auto) }


Latex:


Latex:

1.  A  :  Type
2.  T  :  Type
3.  eq  :  EqDecider(T)
4.  x  :  T
5.  y  :  T
\mvdash{}  \mforall{}[z:A].  \mforall{}[f:A  {}\mrightarrow{}  A].
        (apply-alist(eq;update-alist(eq;[];x;z;v.f[v]);y)
        =  case  apply-alist(eq;[];y)
              of  inl(v)  =>
              inl  if  eq  x  y  then  f[v]  else  v  fi 
              |  inr(any)  =>
              if  eq  x  y  then  inl  z  else  inr  \mcdot{}    fi  )


By


Latex:
TACTIC:(Auto
                THEN  RepUR  ``update-alist  apply-alist  eqof``  0
                THEN  (SplitOnConclITE  THEN  Auto)
                THEN  Auto)




Home Index