Step
*
1
1
1
of Lemma
bag-bind-append2
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)
BY
{ (Assert v ∈ bag(A) BY
         ((DoSubsume THEN Auto) THEN BLemma `list-subtype-bag` THEN Auto))⋅ }
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)
8. v ∈ bag(A)
⊢ (((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.  u  :  A@i
6.  v  :  A  List@i
7.  bag-bind(v;\mlambda{}a.((F  a)  +  (G  a)))  =  (bag-bind(v;F)  +  bag-bind(v;G))
\mvdash{}  (((F  u)  +  (G  u))  +  bag-bind(v;\mlambda{}a.((F  a)  +  (G  a))))
=  (((F  u)  +  bag-bind(v;F))  +  (G  u)  +  bag-bind(v;G))
By
Latex:
(Assert  v  \mmember{}  bag(A)  BY
              ((DoSubsume  THEN  Auto)  THEN  BLemma  `list-subtype-bag`  THEN  Auto))\mcdot{}
Home
Index