Step
*
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. 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))))
⊢ bag-no-repeats(bag(T) × bag(T) × bag(T);bag-map(λ2p.<fst(snd(p)), snd(snd(p)), fst(p)>;
⋃x∈bag-partitions(eq;bs).bag-map(λy.<snd(x), y>;bag-partitions(eq;fst(x)))))
BY
{ (Using [`T1',⌜bag(T) × bag(T) × bag(T)⌝;`eq1',⌜proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq)))⌝
] (BLemma `bag-map-no-repeats`)⋅
THEN Auto
)⋅ }
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. 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))))
⊢ Inj(bag(T) × bag(T) × bag(T);bag(T) × bag(T) × bag(T);λ2p.<fst(snd(p)), snd(snd(p)), fst(p)>)
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. proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq))) ∈ EqDecider(bag(T) × bag(T) × bag(T))
7. 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))))
⊢ bag-no-repeats(bag(T) × bag(T) × bag(T);⋃x∈bag-partitions(eq;bs).bag-map(λy.<snd(x), y>;bag-partitions(eq;fst(x))))
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. 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))))
\mvdash{} bag-no-repeats(bag(T) \mtimes{} bag(T) \mtimes{} bag(T);bag-map(\mlambda{}\msubtwo{}p.<fst(snd(p)), snd(snd(p)), fst(p)>
\mcup{}x\mmember{}bag-partitions(eq;bs).
bag-map(\mlambda{}y.<snd(x), y>bag-partitions(eq;fst(x)))))
By
Latex:
(Using [`T1',\mkleeneopen{}bag(T) \mtimes{} bag(T) \mtimes{} bag(T)\mkleeneclose{};`eq1',
\mkleeneopen{}proddeq(bag-deq(eq);proddeq(bag-deq(eq);bag-deq(eq)))\mkleeneclose{}] (BLemma `bag-map-no-repeats`)\mcdot{}
THEN Auto
)\mcdot{}
Home
Index