Step
*
1
2
of Lemma
bag-parts_wf
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. n : ℕ
5. ∀n:ℕn. ∀bs:bag(T).  ((#(bs) ≤ n) 
⇒ (bag-parts(eq;bs) ∈ bag(bag(T) List+)))
6. bs : bag(T)@i
7. #(bs) ≤ n
⊢ ⋃p∈bag-partitions(eq;bs).if bag-null(fst(p)) then {}
  if bag-null(snd(p)) then {[fst(p)]}
  else let parts ⟵ bag-parts(eq;snd(p))
       in bag-map(λL.[fst(p) / L];parts)
  fi  ∈ bag(bag(T) List+)
BY
{ (GenConcl ⌜bag-partitions(eq;bs) = BB ∈ bag({p:bag(T) × bag(T)| ((fst(p)) + (snd(p))) = bs ∈ bag(T)} )⌝⋅ THENA Auto) }
1
.....wf..... 
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. n : ℕ
5. ∀n:ℕn. ∀bs:bag(T).  ((#(bs) ≤ n) 
⇒ (bag-parts(eq;bs) ∈ bag(bag(T) List+)))
6. bs : bag(T)@i
7. #(bs) ≤ n
⊢ bag-partitions(eq;bs) ∈ bag({p:bag(T) × bag(T)| ((fst(p)) + (snd(p))) = bs ∈ bag(T)} )
2
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. n : ℕ
5. ∀n:ℕn. ∀bs:bag(T).  ((#(bs) ≤ n) 
⇒ (bag-parts(eq;bs) ∈ bag(bag(T) List+)))
6. bs : bag(T)@i
7. #(bs) ≤ n
8. BB : bag({p:bag(T) × bag(T)| ((fst(p)) + (snd(p))) = bs ∈ bag(T)} )@i
9. bag-partitions(eq;bs) = BB ∈ bag({p:bag(T) × bag(T)| ((fst(p)) + (snd(p))) = bs ∈ bag(T)} )
⊢ ⋃p∈BB.if bag-null(fst(p)) then {}
  if bag-null(snd(p)) then {[fst(p)]}
  else let parts ⟵ bag-parts(eq;snd(p))
       in bag-map(λL.[fst(p) / L];parts)
  fi  ∈ bag(bag(T) List+)
Latex:
Latex:
1.  T  :  Type
2.  valueall-type(T)
3.  eq  :  EqDecider(T)
4.  n  :  \mBbbN{}
5.  \mforall{}n:\mBbbN{}n.  \mforall{}bs:bag(T).    ((\#(bs)  \mleq{}  n)  {}\mRightarrow{}  (bag-parts(eq;bs)  \mmember{}  bag(bag(T)  List\msupplus{})))
6.  bs  :  bag(T)@i
7.  \#(bs)  \mleq{}  n
\mvdash{}  \mcup{}p\mmember{}bag-partitions(eq;bs).if  bag-null(fst(p))  then  \{\}
    if  bag-null(snd(p))  then  \{[fst(p)]\}
    else  let  parts  \mleftarrow{}{}  bag-parts(eq;snd(p))
              in  bag-map(\mlambda{}L.[fst(p)  /  L];parts)
    fi    \mmember{}  bag(bag(T)  List\msupplus{})
By
Latex:
(GenConcl  \mkleeneopen{}bag-partitions(eq;bs)  =  BB\mkleeneclose{}\mcdot{}  THENA  Auto)
Home
Index