Step
*
1
2
3
2
1
of Lemma
member-fpf-vals
.....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. x : A
8. v : B[x]
9. u : A
10. v1 : A List
11. βg:x:{x:A| (x β v1)} βΆ B[x]
((<x, v> β zip(filter(P;v1);map(g;filter(P;v1))))
ββ {((βx βb v1) β§ (β(P x))) β§ (v = (g x) β B[x])})
12. g : x:{x:A| (x β [u / v1])} βΆ B[x]
13. (<x, v> β zip(filter(P;v1);map(g;filter(P;v1))))
ββ {((βx βb v1) β§ (β(P x))) β§ (v = (g x) β B[x])}
14. (u β [u / v1])
β’ zip(filter(P;v1);map(g;filter(P;v1))) β (x:A Γ B[x]) List
BY
{ SubsumeC β(x:{a:A| β(P a)} Γ B[x]) Listββ
}
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]
7. x : A
8. v : B[x]
9. u : A
10. v1 : A List
11. βg:x:{x:A| (x β v1)} βΆ B[x]
((<x, v> β zip(filter(P;v1);map(g;filter(P;v1))))
ββ {((βx βb v1) β§ (β(P x))) β§ (v = (g x) β B[x])})
12. g : x:{x:A| (x β [u / v1])} βΆ B[x]
13. (<x, v> β zip(filter(P;v1);map(g;filter(P;v1))))
ββ {((βx βb v1) β§ (β(P x))) β§ (v = (g x) β B[x])}
14. (u β [u / v1])
β’ zip(filter(P;v1);map(g;filter(P;v1))) β (x:{a:A| β(P a)} Γ B[x]) List
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. x : A
8. v : B[x]
9. u : A
10. v1 : A List
11. βg:x:{x:A| (x β v1)} βΆ B[x]
((<x, v> β zip(filter(P;v1);map(g;filter(P;v1))))
ββ {((βx βb v1) β§ (β(P x))) β§ (v = (g x) β B[x])})
12. g : x:{x:A| (x β [u / v1])} βΆ B[x]
13. (<x, v> β zip(filter(P;v1);map(g;filter(P;v1))))
ββ {((βx βb v1) β§ (β(P x))) β§ (v = (g x) β B[x])}
14. (u β [u / v1])
15. zip(filter(P;v1);map(g;filter(P;v1))) = zip(filter(P;v1);map(g;filter(P;v1))) β ((x:{a:A| β(P a)} Γ B[x]) List)
β’ ((x:{a:A| β(P a)} Γ B[x]) List) βr ((x:A Γ B[x]) List)
Latex:
Latex:
.....assertion.....
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. x : A
8. v : B[x]
9. u : A
10. v1 : A List
11. \mforall{}g:x:\{x:A| (x \mmember{} v1)\} {}\mrightarrow{} B[x]
((<x, v> \mmember{} zip(filter(P;v1);map(g;filter(P;v1)))) \mLeftarrow{}{}\mRightarrow{} \{((\muparrow{}x \mmember{}\msubb{} v1) \mwedge{} (\muparrow{}(P x))) \mwedge{} (v = (g x))\})
12. g : x:\{x:A| (x \mmember{} [u / v1])\} {}\mrightarrow{} B[x]
13. (<x, v> \mmember{} zip(filter(P;v1);map(g;filter(P;v1)))) \mLeftarrow{}{}\mRightarrow{} \{((\muparrow{}x \mmember{}\msubb{} v1) \mwedge{} (\muparrow{}(P x))) \mwedge{} (v = (g x))\}
14. (u \mmember{} [u / v1])
\mvdash{} zip(filter(P;v1);map(g;filter(P;v1))) \mmember{} (x:A \mtimes{} B[x]) List
By
Latex:
SubsumeC \mkleeneopen{}(x:\{a:A| \muparrow{}(P a)\} \mtimes{} B[x]) List\mkleeneclose{}\mcdot{}
Home
Index