Step * 1 1 of Lemma bag-partitions-assoc


1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. bs bag(T)
5. proddeq(bag-deq(eq);bag-deq(eq)) ∈ EqDecider(bag(T) × bag(T))
6. proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq))) ∈ EqDecider(bag(T) × bag(T) × bag(T))
⊢ bag-no-repeats(bag(T) × bag(T) × bag(T);⋃x∈bag-partitions(eq;bs).bag-map(λy.<fst(x), y>;bag-partitions(eq;snd(x))))
BY
(Using [`eq1',⌜proddeq(bag-deq(eq);bag-deq(eq))⌝;`eq2',proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq)))
   (BLemma `bag-combine-no-repeats`)⋅
   THEN Auto
   )⋅ }

1
1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. bs bag(T)
5. proddeq(bag-deq(eq);bag-deq(eq)) ∈ EqDecider(bag(T) × bag(T))
6. proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq))) ∈ EqDecider(bag(T) × bag(T) × bag(T))
7. bag(T) × bag(T)
8. bag(T) × bag(T)
9. bag(T) × bag(T) × bag(T)
10. z ↓∈ bag-map(λy.<fst(x), y>;bag-partitions(eq;snd(x)))
11. z ↓∈ bag-map(λy@0.<fst(y), y@0>;bag-partitions(eq;snd(y)))
⊢ y ∈ (bag(T) × bag(T))

2
1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. bs bag(T)
5. proddeq(bag-deq(eq);bag-deq(eq)) ∈ EqDecider(bag(T) × bag(T))
6. proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq))) ∈ EqDecider(bag(T) × bag(T) × bag(T))
7. ∀x,y:bag(T) × bag(T). ∀z:bag(T) × bag(T) × bag(T).
     (z ↓∈ bag-map(λy.<fst(x), y>;bag-partitions(eq;snd(x)))
      z ↓∈ bag-map(λy@0.<fst(y), y@0>;bag-partitions(eq;snd(y)))
      (x y ∈ (bag(T) × bag(T))))
8. bag(T) × bag(T)
⊢ bag-no-repeats(bag(T) × bag(T) × bag(T);bag-map(λy.<fst(x), y>;bag-partitions(eq;snd(x))))

3
1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. bs bag(T)
5. proddeq(bag-deq(eq);bag-deq(eq)) ∈ EqDecider(bag(T) × bag(T))
6. proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq))) ∈ EqDecider(bag(T) × bag(T) × bag(T))
⊢ bag-no-repeats(bag(T) × bag(T);bag-partitions(eq;bs))


Latex:


Latex:

1.  T  :  Type
2.  valueall-type(T)
3.  eq  :  EqDecider(T)
4.  bs  :  bag(T)
5.  proddeq(bag-deq(eq);bag-deq(eq))  \mmember{}  EqDecider(bag(T)  \mtimes{}  bag(T))
6.  proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq)))  \mmember{}  EqDecider(bag(T)  \mtimes{}  bag(T)  \mtimes{}  bag(T))
\mvdash{}  bag-no-repeats(bag(T)  \mtimes{}  bag(T)  \mtimes{}  bag(T);\mcup{}x\mmember{}bag-partitions(eq;bs).
                                                                                    bag-map(\mlambda{}y.<fst(x),  y>bag-partitions(eq;snd(x))))


By


Latex:
(Using  [`eq1',\mkleeneopen{}proddeq(bag-deq(eq);bag-deq(eq))\mkleeneclose{};`eq2',
  proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq)))]  (BLemma  `bag-combine-no-repeats`)\mcdot{}
  THEN  Auto
  )\mcdot{}




Home Index