Step
*
1
of Lemma
fpf-vals-singleton
1. A : Type
2. eq : EqDecider(A)
3. B : A ─→ Type
4. P : A ─→ 𝔹
5. d : A List
6. f1 : x:{x:A| (x ∈ d)}  ─→ B[x]
7. a : A
8. ↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) 
⇐⇒ b = a ∈ A)
⊢ zip(filter(P;remove-repeats(eq;d));map(f1;filter(P;remove-repeats(eq;d)))) = [<a, f1 a>] ∈ ((x:A × B[x]) List)
BY
{ Assert (a ∈ remove-repeats(eq;d)) ∧ no_repeats(A;remove-repeats(eq;d)) ⋅ }
1
.....assertion..... 
1. A : Type
2. eq : EqDecider(A)
3. B : A ─→ Type
4. P : A ─→ 𝔹
5. d : A List
6. f1 : x:{x:A| (x ∈ d)}  ─→ B[x]
7. a : A
8. ↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) 
⇐⇒ b = a ∈ A)
⊢ (a ∈ remove-repeats(eq;d)) ∧ no_repeats(A;remove-repeats(eq;d))
2
1. A : Type
2. eq : EqDecider(A)
3. B : A ─→ Type
4. P : A ─→ 𝔹
5. d : A List
6. f1 : x:{x:A| (x ∈ d)}  ─→ B[x]
7. a : A
8. ↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) 
⇐⇒ b = a ∈ A)
10. (a ∈ remove-repeats(eq;d)) ∧ no_repeats(A;remove-repeats(eq;d))
⊢ zip(filter(P;remove-repeats(eq;d));map(f1;filter(P;remove-repeats(eq;d)))) = [<a, f1 a>] ∈ ((x:A × B[x]) List)
Latex:
1.  A  :  Type
2.  eq  :  EqDecider(A)
3.  B  :  A  {}\mrightarrow{}  Type
4.  P  :  A  {}\mrightarrow{}  \mBbbB{}
5.  d  :  A  List
6.  f1  :  x:\{x:A|  (x  \mmember{}  d)\}    {}\mrightarrow{}  B[x]
7.  a  :  A
8.  \muparrow{}a  \mmember{}  dom(<d,  f1>)
9.  \mforall{}b:A.  (\muparrow{}(P  b)  \mLeftarrow{}{}\mRightarrow{}  b  =  a)
\mvdash{}  zip(filter(P;remove-repeats(eq;d));map(f1;filter(P;remove-repeats(eq;d))))  =  [<a,  f1  a>]
By
Assert  (a  \mmember{}  remove-repeats(eq;d))  \mwedge{}  no\_repeats(A;remove-repeats(eq;d))  \mcdot{}
Home
Index