Step
*
1
of Lemma
bag-partitions-cons
1. X : Type
2. valueall-type(X)
3. eq : EqDecider(X)
4. x : X
5. b : bag(X)
6. bag-no-repeats(bag(X) × bag(X);bag-partitions(eq;x.b))
⊢ bag-no-repeats(bag(X) × bag(X);bag-map(λp.<x.fst(p), snd(p)>[p∈bag-partitions(eq;b)|((#x in snd(p)) =z 0)])
+ bag-map(λp.<fst(p), x.snd(p)>bag-partitions(eq;b)))
BY
{ (BLemma `bag-no-repeats-append`  THEN Auto) }
1
1. X : Type
2. valueall-type(X)
3. eq : EqDecider(X)
4. x : X
5. b : bag(X)
6. bag-no-repeats(bag(X) × bag(X);bag-partitions(eq;x.b))
⊢ bag-no-repeats(bag(X) × bag(X);bag-map(λp.<x.fst(p), snd(p)>[p∈bag-partitions(eq;b)|((#x in snd(p)) =z 0)]))
2
1. X : Type
2. valueall-type(X)
3. eq : EqDecider(X)
4. x : X
5. b : bag(X)
6. bag-no-repeats(bag(X) × bag(X);bag-partitions(eq;x.b))
7. bag-no-repeats(bag(X) × bag(X);bag-map(λp.<x.fst(p), snd(p)>[p∈bag-partitions(eq;b)|((#x in snd(p)) =z 0)]))
⊢ bag-no-repeats(bag(X) × bag(X);bag-map(λp.<fst(p), x.snd(p)>bag-partitions(eq;b)))
3
1. X : Type
2. valueall-type(X)
3. eq : EqDecider(X)
4. x : X
5. b : bag(X)
6. bag-no-repeats(bag(X) × bag(X);bag-partitions(eq;x.b))
7. bag-no-repeats(bag(X) × bag(X);bag-map(λp.<x.fst(p), snd(p)>[p∈bag-partitions(eq;b)|((#x in snd(p)) =z 0)]))
8. bag-no-repeats(bag(X) × bag(X);bag-map(λp.<fst(p), x.snd(p)>bag-partitions(eq;b)))
9. x1 : bag(X) × bag(X)
10. x1 ↓∈ bag-map(λp.<x.fst(p), snd(p)>[p∈bag-partitions(eq;b)|((#x in snd(p)) =z 0)])
⊢ ¬x1 ↓∈ bag-map(λp.<fst(p), x.snd(p)>bag-partitions(eq;b))
Latex:
Latex:
1.  X  :  Type
2.  valueall-type(X)
3.  eq  :  EqDecider(X)
4.  x  :  X
5.  b  :  bag(X)
6.  bag-no-repeats(bag(X)  \mtimes{}  bag(X);bag-partitions(eq;x.b))
\mvdash{}  bag-no-repeats(bag(X)  \mtimes{}  bag(X);bag-map(\mlambda{}p.<x.fst(p),  snd(p)>
                                                                  [p\mmember{}bag-partitions(eq;b)|((\#x  in  snd(p))  =\msubz{}  0)])
+  bag-map(\mlambda{}p.<fst(p),  x.snd(p)>bag-partitions(eq;b)))
By
Latex:
(BLemma  `bag-no-repeats-append`    THEN  Auto)
Home
Index