Step
*
2
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))||
⊢ (<remove-repeats(eq;map(λp.(fst(p));L))[i], values-for-distinct(eq;L)[i]> ∈ L)
BY
{ Assert ⌜(remove-repeats(eq;map(λp.(fst(p));L))[i] ∈ map(λp.(fst(p));L))⌝⋅ }
1
.....assertion..... 
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))||
⊢ (remove-repeats(eq;map(λp.(fst(p));L))[i] ∈ map(λp.(fst(p));L))
2
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))
⊢ (<remove-repeats(eq;map(λp.(fst(p));L))[i], values-for-distinct(eq;L)[i]> ∈ L)
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))||
\mvdash{}  (<remove-repeats(eq;map(\mlambda{}p.(fst(p));L))[i],  values-for-distinct(eq;L)[i]>  \mmember{}  L)
By
Latex:
Assert  \mkleeneopen{}(remove-repeats(eq;map(\mlambda{}p.(fst(p));L))[i]  \mmember{}  map(\mlambda{}p.(fst(p));L))\mkleeneclose{}\mcdot{}
Home
Index