Step
*
2
of Lemma
member-values-for-distinct2
1. [A] : Type
2. [V] : Type
3. eq : EqDecider(A)
4. L : (A × V) List
5. v : V
6. (v ∈ map(λa.outl(apply-alist(eq;L;a));remove-repeats(eq;map(λp.(fst(p));L))))
7. (v ∈ map(λa.outl(apply-alist(eq;L;a));remove-repeats(eq;map(λp.(fst(p));L))))
⇐⇒ ∃y:{a:A| (a ∈ remove-repeats(eq;map(λp.(fst(p));L)))} 
     ((y ∈ remove-repeats(eq;map(λp.(fst(p));L))) ∧ (v = ((λa.outl(apply-alist(eq;L;a))) y) ∈ V))
⊢ ∃a:A. (<a, v> ∈ L)
BY
{ ((ThinTrivial THEN ExRepD) THEN All Reduce) }
1
1. [A] : Type
2. [V] : Type
3. eq : EqDecider(A)
4. L : (A × V) List
5. v : V
6. (v ∈ map(λa.outl(apply-alist(eq;L;a));remove-repeats(eq;map(λp.(fst(p));L))))
7. y : {a:A| (a ∈ remove-repeats(eq;map(λp.(fst(p));L)))} 
8. (y ∈ remove-repeats(eq;map(λp.(fst(p));L)))
9. v = outl(apply-alist(eq;L;y)) ∈ V
⊢ ∃a:A. (<a, v> ∈ L)
Latex:
Latex:
1.  [A]  :  Type
2.  [V]  :  Type
3.  eq  :  EqDecider(A)
4.  L  :  (A  \mtimes{}  V)  List
5.  v  :  V
6.  (v  \mmember{}  map(\mlambda{}a.outl(apply-alist(eq;L;a));remove-repeats(eq;map(\mlambda{}p.(fst(p));L))))
7.  (v  \mmember{}  map(\mlambda{}a.outl(apply-alist(eq;L;a));remove-repeats(eq;map(\mlambda{}p.(fst(p));L))))
\mLeftarrow{}{}\mRightarrow{}  \mexists{}y:\{a:A|  (a  \mmember{}  remove-repeats(eq;map(\mlambda{}p.(fst(p));L)))\} 
          ((y  \mmember{}  remove-repeats(eq;map(\mlambda{}p.(fst(p));L)))  \mwedge{}  (v  =  ((\mlambda{}a.outl(apply-alist(eq;L;a)))  y)))
\mvdash{}  \mexists{}a:A.  (<a,  v>  \mmember{}  L)
By
Latex:
((ThinTrivial  THEN  ExRepD)  THEN  All  Reduce)
Home
Index