Step
*
2
2
1
of Lemma
values-for-distinct-property
1. [A] : Type
2. [V] : Type
3. eq : EqDecider(A)
4. L : (A × V) List
5. ||values-for-distinct(eq;L)|| = ||remove-repeats(eq;map(λp.(fst(p));L))|| ∈ ℤ
6. i : ℕ||remove-repeats(eq;map(λp.(fst(p));L))||
7. (remove-repeats(eq;map(λp.(fst(p));L))[i] ∈ map(λp.(fst(p));L))
8. ↑isl(apply-alist(eq;L;remove-repeats(eq;map(λp.(fst(p));L))[i]))
9. (<remove-repeats(eq;map(λp.(fst(p));L))[i], outl(apply-alist(eq;L;remove-repeats(eq;map(λp.(fst(p));L))[i]))> ∈ L)
⊢ (<remove-repeats(eq;map(λp.(fst(p));L))[i], values-for-distinct(eq;L)[i]> ∈ L)
BY
{ (NthHypEq (-1) THEN RepeatFor 2 ((EqCD THEN Auto))) }
1
.....subterm..... T:t
2:n
1. A : Type
2. V : Type
3. eq : EqDecider(A)
4. L : (A × V) List
5. ||values-for-distinct(eq;L)|| = ||remove-repeats(eq;map(λp.(fst(p));L))|| ∈ ℤ
6. i : ℕ||remove-repeats(eq;map(λp.(fst(p));L))||
7. (remove-repeats(eq;map(λp.(fst(p));L))[i] ∈ map(λp.(fst(p));L))
8. ↑isl(apply-alist(eq;L;remove-repeats(eq;map(λp.(fst(p));L))[i]))
9. (<remove-repeats(eq;map(λp.(fst(p));L))[i], outl(apply-alist(eq;L;remove-repeats(eq;map(λp.(fst(p));L))[i]))> ∈ L)
⊢ values-for-distinct(eq;L)[i] = outl(apply-alist(eq;L;remove-repeats(eq;map(λp.(fst(p));L))[i])) ∈ V
Latex:
Latex:
1.  [A]  :  Type
2.  [V]  :  Type
3.  eq  :  EqDecider(A)
4.  L  :  (A  \mtimes{}  V)  List
5.  ||values-for-distinct(eq;L)||  =  ||remove-repeats(eq;map(\mlambda{}p.(fst(p));L))||
6.  i  :  \mBbbN{}||remove-repeats(eq;map(\mlambda{}p.(fst(p));L))||
7.  (remove-repeats(eq;map(\mlambda{}p.(fst(p));L))[i]  \mmember{}  map(\mlambda{}p.(fst(p));L))
8.  \muparrow{}isl(apply-alist(eq;L;remove-repeats(eq;map(\mlambda{}p.(fst(p));L))[i]))
9.  (<remove-repeats(eq;map(\mlambda{}p.(fst(p));L))[i]
        ,  outl(apply-alist(eq;L;remove-repeats(eq;map(\mlambda{}p.(fst(p));L))[i]))
        >  \mmember{}  L)
\mvdash{}  (<remove-repeats(eq;map(\mlambda{}p.(fst(p));L))[i],  values-for-distinct(eq;L)[i]>  \mmember{}  L)
By
Latex:
(NthHypEq  (-1)  THEN  RepeatFor  2  ((EqCD  THEN  Auto)))
Home
Index