Step * 1 of Lemma bag-parts_wf

.....assertion..... 
1. Type
2. valueall-type(T)
3. eq EqDecider(T)
⊢ ∀n:ℕ. ∀bs:bag(T).  ((#(bs) ≤ n)  (bag-parts(eq;bs) ∈ bag(bag(T) List+)))
BY
((CompleteInductionOnNat THEN Auto) THEN RecUnfold `bag-parts` THEN CallByValueReduce 0)⋅ }

1
.....aux..... 
1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. : ℕ
5. ∀n:ℕn. ∀bs:bag(T).  ((#(bs) ≤ n)  (bag-parts(eq;bs) ∈ bag(bag(T) List+)))
6. bs bag(T)@i
7. #(bs) ≤ n
⊢ has-valueall(bag-partitions(eq;bs))

2
1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. : ℕ
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+)


Latex:


Latex:
.....assertion..... 
1.  T  :  Type
2.  valueall-type(T)
3.  eq  :  EqDecider(T)
\mvdash{}  \mforall{}n:\mBbbN{}.  \mforall{}bs:bag(T).    ((\#(bs)  \mleq{}  n)  {}\mRightarrow{}  (bag-parts(eq;bs)  \mmember{}  bag(bag(T)  List\msupplus{})))


By


Latex:
((CompleteInductionOnNat  THEN  Auto)  THEN  RecUnfold  `bag-parts`  0  THEN  CallByValueReduce  0)\mcdot{}




Home Index