Step * 2 of Lemma member-values-for-distinct2


1. [A] Type
2. [V] Type
3. eq EqDecider(A)
4. (A × V) List
5. 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. (A × V) List
5. V
6. (v ∈ map(λa.outl(apply-alist(eq;L;a));remove-repeats(eq;map(λp.(fst(p));L))))
7. {a:A| (a ∈ remove-repeats(eq;map(λp.(fst(p));L)))} 
8. (y ∈ remove-repeats(eq;map(λp.(fst(p));L)))
9. 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