Step
*
1
1
1
of Lemma
bag-map-filter
1. T : Type
2. A : Type
3. f : T ⟶ A
4. P : T ⟶ 𝔹
5. Q : A ⟶ 𝔹
6. ∀x:T. Q[f x] = P[x]
7. as : T List
8. bs : T List
9. permutation(T;as;bs)
⊢ filter(Q;map(f;as)) ~ filter(λx.Q[x];map(f;as))
BY
{ (GenConclAtAddr [2;2]
   THEN Thin (-1)
   THEN ListInd (-1)
   THEN Reduce 0
   THEN Repeat (AutoSplit)
   THEN (RepUR ``so_apply`` (-1) THEN Auto)⋅) }
Latex:
Latex:
1.  T  :  Type
2.  A  :  Type
3.  f  :  T  {}\mrightarrow{}  A
4.  P  :  T  {}\mrightarrow{}  \mBbbB{}
5.  Q  :  A  {}\mrightarrow{}  \mBbbB{}
6.  \mforall{}x:T.  Q[f  x]  =  P[x]
7.  as  :  T  List
8.  bs  :  T  List
9.  permutation(T;as;bs)
\mvdash{}  filter(Q;map(f;as))  \msim{}  filter(\mlambda{}x.Q[x];map(f;as))
By
Latex:
(GenConclAtAddr  [2;2]
  THEN  Thin  (-1)
  THEN  ListInd  (-1)
  THEN  Reduce  0
  THEN  Repeat  (AutoSplit)
  THEN  (RepUR  ``so\_apply``  (-1)  THEN  Auto)\mcdot{})
Home
Index