Step
*
1
1
1
2
of Lemma
values-for-distinct_wf
1. A : Type
2. V : Type
3. eq : EqDecider(A)
4. u : A × V
5. v : (A × V) List
6. map(λp.(fst(p));v) ∈ {a:A| ↑isl(apply-alist(eq;v;a))}  List
⊢ [fst(u) / map(λp.(fst(p));v)] ∈ {a:A| ↑isl(if eqof(eq) (fst(u)) a then inl (snd(u)) else apply-alist(eq;v;a) fi )}  Li\000Cst
BY
{ (Try (Unfold `eqof` 0) THEN MemCD) }
1
.....implicit subterm..... 
1. A : Type
2. V : Type
3. eq : EqDecider(A)
4. u : A × V
5. v : (A × V) List
6. map(λp.(fst(p));v) ∈ {a:A| ↑isl(apply-alist(eq;v;a))}  List
⊢ {a:A| ↑isl(if eq (fst(u)) a then inl (snd(u)) else apply-alist(eq;v;a) fi )}  ∈ Type
2
.....subterm..... T:t
1:n
1. A : Type
2. V : Type
3. eq : EqDecider(A)
4. u : A × V
5. v : (A × V) List
6. map(λp.(fst(p));v) ∈ {a:A| ↑isl(apply-alist(eq;v;a))}  List
⊢ fst(u) ∈ {a:A| ↑isl(if eq (fst(u)) a then inl (snd(u)) else apply-alist(eq;v;a) fi )} 
3
.....subterm..... T:t
2:n
1. A : Type
2. V : Type
3. eq : EqDecider(A)
4. u : A × V
5. v : (A × V) List
6. map(λp.(fst(p));v) ∈ {a:A| ↑isl(apply-alist(eq;v;a))}  List
⊢ map(λp.(fst(p));v) ∈ {a:A| ↑isl(if eq (fst(u)) a then inl (snd(u)) else apply-alist(eq;v;a) fi )}  List
Latex:
Latex:
1.  A  :  Type
2.  V  :  Type
3.  eq  :  EqDecider(A)
4.  u  :  A  \mtimes{}  V
5.  v  :  (A  \mtimes{}  V)  List
6.  map(\mlambda{}p.(fst(p));v)  \mmember{}  \{a:A|  \muparrow{}isl(apply-alist(eq;v;a))\}    List
\mvdash{}  [fst(u)  /  map(\mlambda{}p.(fst(p));v)]  \mmember{}  \{a:A| 
                                                                      \muparrow{}isl(if  eqof(eq)  (fst(u))  a
                                                                      then  inl  (snd(u))
                                                                      else  apply-alist(eq;v;a)
                                                                      fi  )\}    List
By
Latex:
(Try  (Unfold  `eqof`  0)  THEN  MemCD)
Home
Index