Step
*
1
1
2
2
of Lemma
bag-parts-no-repeats
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. n : ℕ
5. ∀n:ℕn. ∀bs:bag(T).  ((#(bs) ≤ n) 
⇒ bag-no-repeats(bag(T) List+;bag-parts(eq;bs)))
6. u : T
7. v : T List
8. #(u.v) ≤ n
9. bag-no-repeats(bag(T) List+;bag-parts(eq;v))
⊢ bag-no-repeats(bag(T) List+;bag-parts(eq;u.v))
BY
{ (RecUnfold `bag-parts` 0⋅ THEN (CallByValueReduce 0 THENA Auto)) }
1
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. n : ℕ
5. ∀n:ℕn. ∀bs:bag(T).  ((#(bs) ≤ n) 
⇒ bag-no-repeats(bag(T) List+;bag-parts(eq;bs)))
6. u : T
7. v : T List
8. #(u.v) ≤ n
9. bag-no-repeats(bag(T) List+;bag-parts(eq;v))
⊢ bag-no-repeats(bag(T) List+;⋃p∈bag-partitions(eq;u.v).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 )
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-no-repeats(bag(T)  List\msupplus{};bag-parts(eq;bs)))
6.  u  :  T
7.  v  :  T  List
8.  \#(u.v)  \mleq{}  n
9.  bag-no-repeats(bag(T)  List\msupplus{};bag-parts(eq;v))
\mvdash{}  bag-no-repeats(bag(T)  List\msupplus{};bag-parts(eq;u.v))
By
Latex:
(RecUnfold  `bag-parts`  0\mcdot{}  THEN  (CallByValueReduce  0  THENA  Auto))
Home
Index