Step
*
of Lemma
fpf-vals_wf
∀[A:Type]. ∀[eq:EqDecider(A)]. ∀[B:A ─→ Type]. ∀[P:A ─→ 𝔹]. ∀[f:x:A fp-> B[x]].  (fpf-vals(eq;P;f) ∈ (x:{a:A| ↑(P a)}  ×\000C B[x]) List)
BY
{ (Auto THEN Unfold `fpf-vals` 0 THEN (D (-1)) THEN Unfold `let` 0 THEN Reduce 0) }
1
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]
⊢ zip(filter(P;remove-repeats(eq;d));map(f1;filter(P;remove-repeats(eq;d)))) ∈ (x:{a:A| ↑(P a)}  × B[x]) List
Latex:
\mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[P:A  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[f:x:A  fp->  B[x]].
    (fpf-vals(eq;P;f)  \mmember{}  (x:\{a:A|  \muparrow{}(P  a)\}    \mtimes{}  B[x])  List)
By
(Auto  THEN  Unfold  `fpf-vals`  0  THEN  (D  (-1))  THEN  Unfold  `let`  0  THEN  Reduce  0)
Home
Index