Step
*
2
1
of Lemma
bag-mapfilter-mapfilter
.....subterm..... T:t
1:n
1. A : Type
2. B : Type
3. C : Type
4. b : bag(A)
5. P : A ⟶ 𝔹
6. f : {x:A| ↑P[x]}  ⟶ B
7. Q : B ⟶ 𝔹
8. g : {x:B| ↑Q[x]}  ⟶ C
9. bag-map(g o f;[x∈b|P[x] ∧b Q[f[x]]]) ∈ bag(C)
⊢ (g o f) = (g o f) ∈ ({x:{x:A| ↑(P x)} | ↑(Q (f x))}  ⟶ C)
BY
{ (Thin (-1)
   THEN Try (Fold `member` 0)
   THEN Unfold `compose` 0
   THEN (MemCD THENA Auto)
   THEN D (-1)
   THEN (Decide ↑P[x] THENA Auto)) }
1
1. A : Type
2. B : Type
3. C : Type
4. b : bag(A)
5. P : A ⟶ 𝔹
6. f : {x:A| ↑P[x]}  ⟶ B
7. Q : B ⟶ 𝔹
8. g : {x:B| ↑Q[x]}  ⟶ C
9. x : {x:A| ↑(P x)} 
10. ↑(Q (f x))
11. ↑P[x]
⊢ g (f x) ∈ C
2
1. A : Type
2. B : Type
3. C : Type
4. b : bag(A)
5. P : A ⟶ 𝔹
6. f : {x:A| ↑P[x]}  ⟶ B
7. Q : B ⟶ 𝔹
8. g : {x:B| ↑Q[x]}  ⟶ C
9. x : {x:A| ↑(P x)} 
10. ↑(Q (f x))
11. ¬↑P[x]
⊢ g (f x) ∈ C
Latex:
Latex:
.....subterm.....  T:t
1:n
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{}  (g  o  f)  =  (g  o  f)
By
Latex:
(Thin  (-1)
  THEN  Try  (Fold  `member`  0)
  THEN  Unfold  `compose`  0
  THEN  (MemCD  THENA  Auto)
  THEN  D  (-1)
  THEN  (Decide  \muparrow{}P[x]  THENA  Auto))
Home
Index