Step
*
1
of Lemma
values-for-distinct-nil
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)
7. values-for-distinct(eq;L) = [] ∈ (V List)
⊢ L = [] ∈ ((A × V) List)
BY
{ (HypSubst' (-1) (-3) THEN Reduce (-3)) }
1
1. A : Type
2. V : Type
3. eq : EqDecider(A)
4. L : (A × V) List
5. 0 = ||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)
7. values-for-distinct(eq;L) = [] ∈ (V List)
⊢ L = [] ∈ ((A × V) List)
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.  \mforall{}i:\mBbbN{}||remove-repeats(eq;map(\mlambda{}p.(fst(p));L))||
          (<remove-repeats(eq;map(\mlambda{}p.(fst(p));L))[i],  values-for-distinct(eq;L)[i]>  \mmember{}  L)
7.  values-for-distinct(eq;L)  =  []
\mvdash{}  L  =  []
By
Latex:
(HypSubst'  (-1)  (-3)  THEN  Reduce  (-3))
Home
Index