Step
*
1
of Lemma
bag-induction
1. [T] : Type
2. [P] : bag(T) ⟶ ℙ
3. ∀x:T. P[[x]]
4. ∀bs:bag({b:bag(T)| P[b]} ). P[bag-union(bs)]
5. b : bag(T)
⊢ P[b]
BY
{ Subst' b ~ bag-union(bag-map(λx.[x];b)) 0 }
1
.....equality..... 
1. T : Type
2. P : bag(T) ⟶ ℙ
3. ∀x:T. P[[x]]
4. ∀bs:bag({b:bag(T)| P[b]} ). P[bag-union(bs)]
5. b : bag(T)
⊢ b ~ bag-union(bag-map(λx.[x];b))
2
1. [T] : Type
2. [P] : bag(T) ⟶ ℙ
3. ∀x:T. P[[x]]
4. ∀bs:bag({b:bag(T)| P[b]} ). P[bag-union(bs)]
5. b : bag(T)
⊢ P[bag-union(bag-map(λx.[x];b))]
Latex:
Latex:
1.  [T]  :  Type
2.  [P]  :  bag(T)  {}\mrightarrow{}  \mBbbP{}
3.  \mforall{}x:T.  P[[x]]
4.  \mforall{}bs:bag(\{b:bag(T)|  P[b]\}  ).  P[bag-union(bs)]
5.  b  :  bag(T)
\mvdash{}  P[b]
By
Latex:
Subst'  b  \msim{}  bag-union(bag-map(\mlambda{}x.[x];b))  0
Home
Index