Step * 1 1 of Lemma filter-fpf-vals


1. Type
2. eq EqDecider(A)
3. A ─→ Type
4. A ─→ 𝔹
5. A ─→ 𝔹
6. List
7. f1 x:{x:A| (x ∈ d)}  ─→ B[x]
⊢ filter(λpL.Q[fst(pL)];zip(filter(P;remove-repeats(eq;d));map(f1;filter(P;remove-repeats(eq;d))))) 
zip(filter(λa.((P a) ∧b (Q a));remove-repeats(eq;d));map(f1;filter(λa.((P a) ∧b (Q a));remove-repeats(eq;d))))
BY
(GenConcl ⌈remove-repeats(eq;d) L ∈ ({x:A| (x ∈ d)}  List)⌉⋅ THENA Auto) }

1
1. Type
2. eq EqDecider(A)
3. A ─→ Type
4. A ─→ 𝔹
5. A ─→ 𝔹
6. List
7. f1 x:{x:A| (x ∈ d)}  ─→ B[x]
8. {x:A| (x ∈ d)}  List@i
9. remove-repeats(eq;d) L ∈ ({x:A| (x ∈ d)}  List)@i
⊢ filter(λpL.Q[fst(pL)];zip(filter(P;L);map(f1;filter(P;L)))) 
zip(filter(λa.((P a) ∧b (Q a));L);map(f1;filter(λa.((P a) ∧b (Q a));L)))


Latex:



1.  A  :  Type
2.  eq  :  EqDecider(A)
3.  B  :  A  {}\mrightarrow{}  Type
4.  P  :  A  {}\mrightarrow{}  \mBbbB{}
5.  Q  :  A  {}\mrightarrow{}  \mBbbB{}
6.  d  :  A  List
7.  f1  :  x:\{x:A|  (x  \mmember{}  d)\}    {}\mrightarrow{}  B[x]
\mvdash{}  filter(\mlambda{}pL.Q[fst(pL)];zip(filter(P;remove-repeats(eq;d));map(f1;filter(P;remove-repeats(eq;d))))) 
\msim{}  zip(filter(\mlambda{}a.((P  a)  \mwedge{}\msubb{}  (Q  a));remove-repeats(eq;d));
            map(f1;filter(\mlambda{}a.((P  a)  \mwedge{}\msubb{}  (Q  a));remove-repeats(eq;d))))


By

(GenConcl  \mkleeneopen{}remove-repeats(eq;d)  =  L\mkleeneclose{}\mcdot{}  THENA  Auto)




Home Index