Step
*
1
3
1
1
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 : bag(T) × bag(T) × bag(T)
8. x2 : bag(T)
9. x3 : bag(T)
10. (x2 + x3) = bs ∈ bag(T)
11. v1 : bag(T)
12. v2 : bag(T)
13. (v1 + v2) = x3 ∈ bag(T)
14. x = <x2, v1, v2> ∈ (bag(T) × bag(T) × bag(T))
⊢ ↓∃x:bag(T) × bag(T). (x ↓∈ bag-partitions(eq;bs) ∧ <v2, x2, v1> ↓∈ bag-map(λy.<snd(x), y>bag-partitions(eq;fst(x))))
BY
{ (D 0
   THEN (RWO "bag-member-map" 0 THEN Reduce 0)
   THEN Auto
   THEN (With ⌜<x2 + v1, v2>⌝ (D 0)⋅ THEN Reduce 0)
   THEN Auto
   THEN Try ((D 0 THEN (InstConcl [⌜<x2, v1>⌝]⋅ THENA Complete (Auto))))⋅
   THEN EAuto 2⋅)⋅ }
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.  x  :  bag(T)  \mtimes{}  bag(T)  \mtimes{}  bag(T)
8.  x2  :  bag(T)
9.  x3  :  bag(T)
10.  (x2  +  x3)  =  bs
11.  v1  :  bag(T)
12.  v2  :  bag(T)
13.  (v1  +  v2)  =  x3
14.  x  =  <x2,  v1,  v2>
\mvdash{}  \mdownarrow{}\mexists{}x:bag(T)  \mtimes{}  bag(T)
        (x  \mdownarrow{}\mmember{}  bag-partitions(eq;bs)  \mwedge{}  <v2,  x2,  v1>  \mdownarrow{}\mmember{}  bag-map(\mlambda{}y.<snd(x),  y>bag-partitions(eq;fst(x))))
By
Latex:
(D  0
  THEN  (RWO  "bag-member-map"  0  THEN  Reduce  0)
  THEN  Auto
  THEN  (With  \mkleeneopen{}<x2  +  v1,  v2>\mkleeneclose{}  (D  0)\mcdot{}  THEN  Reduce  0)
  THEN  Auto
  THEN  Try  ((D  0  THEN  (InstConcl  [\mkleeneopen{}<x2,  v1>\mkleeneclose{}]\mcdot{}  THENA  Complete  (Auto))))\mcdot{}
  THEN  EAuto  2\mcdot{})\mcdot{}
Home
Index