Step
*
1
1
2
of Lemma
bag-partitions-assoc
1. T : 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. x : bag(T) × bag(T)
⊢ bag-no-repeats(bag(T) × bag(T) × bag(T);bag-map(λy.<fst(x), y>bag-partitions(eq;snd(x))))
BY
{ xxx(Using [`eq1',⌜proddeq(bag-deq(eq);bag-deq(eq))⌝ ] (BLemma `bag-map-no-repeats`)⋅
      THEN Auto
      THEN Try ((BLemma `no-repeats-bag-partitions` THEN Auto)))xxx }
1
1. T : 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. x : bag(T) × bag(T)
⊢ Inj(bag(T) × bag(T);bag(T) × bag(T) × bag(T);λy.<fst(x), y>)
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))
7.  \mforall{}x,y:bag(T)  \mtimes{}  bag(T).  \mforall{}z:bag(T)  \mtimes{}  bag(T)  \mtimes{}  bag(T).
          (z  \mdownarrow{}\mmember{}  bag-map(\mlambda{}y.<fst(x),  y>bag-partitions(eq;snd(x)))
          {}\mRightarrow{}  z  \mdownarrow{}\mmember{}  bag-map(\mlambda{}y@0.<fst(y),  y@0>bag-partitions(eq;snd(y)))
          {}\mRightarrow{}  (x  =  y))
8.  x  :  bag(T)  \mtimes{}  bag(T)
\mvdash{}  bag-no-repeats(bag(T)  \mtimes{}  bag(T)  \mtimes{}  bag(T);bag-map(\mlambda{}y.<fst(x),  y>bag-partitions(eq;snd(x))))
By
Latex:
xxx(Using  [`eq1',\mkleeneopen{}proddeq(bag-deq(eq);bag-deq(eq))\mkleeneclose{}  ]  (BLemma  `bag-map-no-repeats`)\mcdot{}
        THEN  Auto
        THEN  Try  ((BLemma  `no-repeats-bag-partitions`  THEN  Auto)))xxx
Home
Index