Step
*
1
of Lemma
bag-partitions-symmetry
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))
⊢ bag-map(λp.<snd(p), fst(p)>bag-partitions(eq;bs)) = bag-partitions(eq;bs) ∈ bag(bag(T) × bag(T))
BY
{ xxx(Symmetry THEN Using [`eq',⌜proddeq(bag-deq(eq);bag-deq(eq))⌝] (BLemma `bag-extensionality2`)⋅ 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. x : bag(T) × bag(T)
7. x ↓∈ bag-partitions(eq;bs)
⊢ (#x in bag-partitions(eq;bs)) = (#x in bag-map(λp.<snd(p), fst(p)>bag-partitions(eq;bs))) ∈ ℤ
2
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. ∀x:bag(T) × bag(T)
     (x ↓∈ bag-partitions(eq;bs)
     
⇒ ((#x in bag-partitions(eq;bs)) = (#x in bag-map(λp.<snd(p), fst(p)>bag-partitions(eq;bs))) ∈ ℤ))
7. x : bag(T) × bag(T)
8. x ↓∈ bag-map(λp.<snd(p), fst(p)>bag-partitions(eq;bs))
⊢ x ↓∈ 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))
\mvdash{}  bag-map(\mlambda{}p.<snd(p),  fst(p)>bag-partitions(eq;bs))  =  bag-partitions(eq;bs)
By
Latex:
xxx(Symmetry
        THEN  Using  [`eq',\mkleeneopen{}proddeq(bag-deq(eq);bag-deq(eq))\mkleeneclose{}]  (BLemma  `bag-extensionality2`)\mcdot{}
        THEN  Auto)xxx
Home
Index