Step * 1 of Lemma filter-fpf-vals


1. Type
2. eq EqDecider(A)
3. A ─→ Type
4. A ─→ 𝔹
5. A ─→ 𝔹
6. x:A fp-> B[x]
⊢ filter(λpL.Q[fst(pL)];fpf-vals(eq;P;f)) fpf-vals(eq;λa.((P a) ∧b (Q a));f)
BY
(Unfold `fpf-vals` THEN (D (-1)) THEN Unfold `let` THEN Reduce 0) }

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]
⊢ 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))))


Latex:



1.  A  :  Type
2.  eq  :  EqDecider(A)
3.  B  :  A  {}\mrightarrow{}  Type
4.  P  :  A  {}\mrightarrow{}  \mBbbB{}
5.  Q  :  A  {}\mrightarrow{}  \mBbbB{}
6.  f  :  x:A  fp->  B[x]
\mvdash{}  filter(\mlambda{}pL.Q[fst(pL)];fpf-vals(eq;P;f))  \msim{}  fpf-vals(eq;\mlambda{}a.((P  a)  \mwedge{}\msubb{}  (Q  a));f)


By

(Unfold  `fpf-vals`  0  THEN  (D  (-1))  THEN  Unfold  `let`  0  THEN  Reduce  0)




Home Index