Step * 2 2 1 1 of Lemma values-for-distinct-property

.....subterm..... T:t
2:n
1. Type
2. Type
3. eq EqDecider(A)
4. (A × V) List
5. ||values-for-distinct(eq;L)|| ||remove-repeats(eq;map(λp.(fst(p));L))|| ∈ ℤ
6. : ℕ||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
BY
((Unfold `values-for-distinct` THEN (RWO "select-map" THENA Try (Complete (Auto)))) THEN Reduce THEN Auto) }


Latex:


Latex:
.....subterm.....  T:t
2:n
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{}  values-for-distinct(eq;L)[i]  =  outl(apply-alist(eq;L;remove-repeats(eq;map(\mlambda{}p.(fst(p));L))[i]))


By


Latex:
((Unfold  `values-for-distinct`  0  THEN  (RWO  "select-map"  0  THENA  Try  (Complete  (Auto))))
  THEN  Reduce  0
  THEN  Auto)




Home Index