Step
*
2
1
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. 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)
BY
{ ((InstConcl [⌜y⌝]⋅ THEN Auto) THEN (HypSubst' (-1) 0 THENA Auto)) }
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
⊢ (<y, outl(apply-alist(eq;L;y))> ∈ 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.  y  :  \{a:A|  (a  \mmember{}  remove-repeats(eq;map(\mlambda{}p.(fst(p));L)))\} 
8.  (y  \mmember{}  remove-repeats(eq;map(\mlambda{}p.(fst(p));L)))
9.  v  =  outl(apply-alist(eq;L;y))
\mvdash{}  \mexists{}a:A.  (<a,  v>  \mmember{}  L)
By
Latex:
((InstConcl  [\mkleeneopen{}y\mkleeneclose{}]\mcdot{}  THEN  Auto)  THEN  (HypSubst'  (-1)  0  THENA  Auto))
Home
Index