Step * 2 of Lemma bag-mapfilter-mapfilter


1. Type
2. Type
3. Type
4. bag(A)
5. A ⟶ 𝔹
6. {x:A| ↑P[x]}  ⟶ B
7. B ⟶ 𝔹
8. {x:B| ↑Q[x]}  ⟶ C
9. bag-map(g f;[x∈b|P[x] ∧b Q[f[x]]]) ∈ bag(C)
⊢ bag-map(g;[x∈bag-map(f;[x∈b|P x])|Q x]) bag-map(g f;[x∈b|P[x] ∧b Q[f[x]]]) ∈ bag(C)
BY
((RWO "bag-filter-map2" THENA Auto)
   THEN (RWO "bag-map-map" THENA (Auto THEN DoSubsume THEN Auto))
   THEN MemCD
   THEN Try (Complete (Auto))) }

1
.....subterm..... T:t
1:n
1. Type
2. Type
3. Type
4. bag(A)
5. A ⟶ 𝔹
6. {x:A| ↑P[x]}  ⟶ B
7. B ⟶ 𝔹
8. {x:B| ↑Q[x]}  ⟶ C
9. bag-map(g f;[x∈b|P[x] ∧b Q[f[x]]]) ∈ bag(C)
⊢ (g f) (g f) ∈ ({x:{x:A| ↑(P x)} | ↑(Q (f x))}  ⟶ C)

2
.....subterm..... T:t
2:n
1. Type
2. Type
3. Type
4. bag(A)
5. A ⟶ 𝔹
6. {x:A| ↑P[x]}  ⟶ B
7. B ⟶ 𝔹
8. {x:B| ↑Q[x]}  ⟶ C
9. bag-map(g f;[x∈b|P[x] ∧b Q[f[x]]]) ∈ bag(C)
⊢ [x∈[x∈b|P x]|Q (f x)] [x∈b|P[x] ∧b Q[f[x]]] ∈ bag({x:{x:A| ↑(P x)} | ↑(Q (f x))} )


Latex:


Latex:

1.  A  :  Type
2.  B  :  Type
3.  C  :  Type
4.  b  :  bag(A)
5.  P  :  A  {}\mrightarrow{}  \mBbbB{}
6.  f  :  \{x:A|  \muparrow{}P[x]\}    {}\mrightarrow{}  B
7.  Q  :  B  {}\mrightarrow{}  \mBbbB{}
8.  g  :  \{x:B|  \muparrow{}Q[x]\}    {}\mrightarrow{}  C
9.  bag-map(g  o  f;[x\mmember{}b|P[x]  \mwedge{}\msubb{}  Q[f[x]]])  \mmember{}  bag(C)
\mvdash{}  bag-map(g;[x\mmember{}bag-map(f;[x\mmember{}b|P  x])|Q  x])  =  bag-map(g  o  f;[x\mmember{}b|P[x]  \mwedge{}\msubb{}  Q[f[x]]])


By


Latex:
((RWO  "bag-filter-map2"  0  THENA  Auto)
  THEN  (RWO  "bag-map-map"  0  THENA  (Auto  THEN  DoSubsume  THEN  Auto))
  THEN  MemCD
  THEN  Try  (Complete  (Auto)))




Home Index