Step
*
of Lemma
bag-member-mapfilter
∀[T,U:Type]. ∀[P:T ⟶ 𝔹]. ∀[x:U]. ∀[bs:bag(T)]. ∀[f:{x:T| ↑(P x)} ⟶ U].
uiff(x ↓∈ bag-mapfilter(f;P;bs);↓∃v:{x:T| ↑(P x)} . (v ↓∈ bs ∧ (x = (f v) ∈ U)))
BY
{ ((UnivCD THENA Auto)
THEN UseWitness ⌜<Ax, Ax>⌝⋅
THEN BagD (-2)
THEN ThinVar `bs'
THEN Auto
THEN All (RepUR ``bag-mapfilter bag-map bag-filter``)
THEN All (Fold `mapfilter`)
THEN D -1
THEN ExRepD) }
1
1. T : Type
2. U : Type
3. P : T ⟶ 𝔹
4. x : U
5. f : {x:T| ↑(P x)} ⟶ U
6. as : T List
7. L : U List
8. L = mapfilter(f;λx.(P x);as) ∈ bag(U)
9. (x ∈ L)
⊢ Ax ∈ ↓∃v@0:{x:T| ↑(P x)} . (v@0 ↓∈ as ∧ (x = (f v@0) ∈ U))
2
1. T : Type
2. U : Type
3. P : T ⟶ 𝔹
4. x : U
5. f : {x:T| ↑(P x)} ⟶ U
6. as : T List
7. v@0 : {x:T| ↑(P x)}
8. v@0 ↓∈ as
9. x = (f v@0) ∈ U
⊢ Ax ∈ x ↓∈ mapfilter(f;λx.(P x);as)
Latex:
Latex:
\mforall{}[T,U:Type]. \mforall{}[P:T {}\mrightarrow{} \mBbbB{}]. \mforall{}[x:U]. \mforall{}[bs:bag(T)]. \mforall{}[f:\{x:T| \muparrow{}(P x)\} {}\mrightarrow{} U].
uiff(x \mdownarrow{}\mmember{} bag-mapfilter(f;P;bs);\mdownarrow{}\mexists{}v:\{x:T| \muparrow{}(P x)\} . (v \mdownarrow{}\mmember{} bs \mwedge{} (x = (f v))))
By
Latex:
((UnivCD THENA Auto)
THEN UseWitness \mkleeneopen{}<Ax, Ax>\mkleeneclose{}\mcdot{}
THEN BagD (-2)
THEN ThinVar `bs'
THEN Auto
THEN All (RepUR ``bag-mapfilter bag-map bag-filter``)
THEN All (Fold `mapfilter`)
THEN D -1
THEN ExRepD)
Home
Index