Step * 1 1 of Lemma bag-map-filter

.....equality..... 
1. Type
2. Type
3. T ⟶ A
4. T ⟶ 𝔹
5. A ⟶ 𝔹
6. ∀x:T. Q[f x] P[x]
7. as List
8. bs List
9. permutation(T;as;bs)
⊢ bag-map(f;[x∈as|P[x]]) [x∈bag-map(f;as)|Q[x]]
BY
(RepUR ``bag-map bag-filter`` 0
   THEN (InstLemma `map-filter` [⌜T⌝;⌜A⌝;⌜f⌝;⌜λx.P[x]⌝;⌜Q⌝;⌜as⌝]⋅ THENA (Reduce THEN Auto))
   THEN HypSubst' (-1) 0
   THEN Thin (-1)) }

1
1. Type
2. Type
3. T ⟶ A
4. T ⟶ 𝔹
5. A ⟶ 𝔹
6. ∀x:T. Q[f x] P[x]
7. as List
8. bs List
9. permutation(T;as;bs)
⊢ filter(Q;map(f;as)) filter(λx.Q[x];map(f;as))


Latex:


Latex:
.....equality..... 
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{}  bag-map(f;[x\mmember{}as|P[x]])  \msim{}  [x\mmember{}bag-map(f;as)|Q[x]]


By


Latex:
(RepUR  ``bag-map  bag-filter``  0
  THEN  (InstLemma  `map-filter`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}\mlambda{}x.P[x]\mkleeneclose{};\mkleeneopen{}Q\mkleeneclose{};\mkleeneopen{}as\mkleeneclose{}]\mcdot{}  THENA  (Reduce  0  THEN  Auto))
  THEN  HypSubst'  (-1)  0
  THEN  Thin  (-1))




Home Index