Step
*
1
1
of Lemma
bag-bind-append2
1. A : Type
2. B : Type
3. F : A ⟶ bag(B)
4. G : A ⟶ bag(B)
5. as : A List@i
⊢ bag-bind(as;λa.((F a) + (G a))) = (bag-bind(as;F) + bag-bind(as;G)) ∈ bag(B)
BY
{ (ListInd (-1)
   THEN RepUR ``bag-bind bag-union concat bag-map bag-append`` 0
   THEN Try (Fold `concat` 0)
   THEN Folds ``empty-bag bag-union bag-map bag-append`` 0
   THEN Auto
   THEN Fold `bag-bind` 0)⋅ }
1
1. A : Type
2. B : Type
3. F : A ⟶ bag(B)
4. G : A ⟶ bag(B)
5. u : A@i
6. v : A List@i
7. bag-bind(v;λa.((F a) + (G a))) = (bag-bind(v;F) + bag-bind(v;G)) ∈ bag(B)
⊢ (((F u) + (G u)) + bag-bind(v;λa.((F a) + (G a)))) = (((F u) + bag-bind(v;F)) + (G u) + bag-bind(v;G)) ∈ bag(B)
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  F  :  A  {}\mrightarrow{}  bag(B)
4.  G  :  A  {}\mrightarrow{}  bag(B)
5.  as  :  A  List@i
\mvdash{}  bag-bind(as;\mlambda{}a.((F  a)  +  (G  a)))  =  (bag-bind(as;F)  +  bag-bind(as;G))
By
Latex:
(ListInd  (-1)
  THEN  RepUR  ``bag-bind  bag-union  concat  bag-map  bag-append``  0
  THEN  Try  (Fold  `concat`  0)
  THEN  Folds  ``empty-bag  bag-union  bag-map  bag-append``  0
  THEN  Auto
  THEN  Fold  `bag-bind`  0)\mcdot{}
Home
Index