Step * of Lemma bag-partitions-symmetry

[T:Type]
  ∀[eq:EqDecider(T)]. ∀[bs:bag(T)].
    (bag-map(λp.<snd(p), fst(p)>;bag-partitions(eq;bs)) bag-partitions(eq;bs) ∈ bag(bag(T) × bag(T))) 
  supposing valueall-type(T)
BY
(Auto
   THEN (Assert proddeq(bag-deq(eq);bag-deq(eq)) ∈ EqDecider(bag(T) × bag(T)) BY
               ((Subst' proddeq(bag-deq(eq);bag-deq(eq)) product-deq(bag(T);bag(T);bag-deq(eq);bag-deq(eq)) 0
                 THEN Auto
                 )
                THEN RepUR ``product-deq`` 0
                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))
⊢ bag-map(λp.<snd(p), fst(p)>;bag-partitions(eq;bs)) bag-partitions(eq;bs) ∈ bag(bag(T) × bag(T))


Latex:


Latex:
\mforall{}[T:Type]
    \mforall{}[eq:EqDecider(T)].  \mforall{}[bs:bag(T)].
        (bag-map(\mlambda{}p.<snd(p),  fst(p)>bag-partitions(eq;bs))  =  bag-partitions(eq;bs)) 
    supposing  valueall-type(T)


By


Latex:
(Auto
  THEN  (Assert  proddeq(bag-deq(eq);bag-deq(eq))  \mmember{}  EqDecider(bag(T)  \mtimes{}  bag(T))  BY
                          ((Subst'  proddeq(bag-deq(eq);bag-deq(eq)) 
                              \msim{}  product-deq(bag(T);bag(T);bag-deq(eq);bag-deq(eq))  0
                              THEN  Auto
                              )
                            THEN  RepUR  ``product-deq``  0
                            THEN  Auto))
  )




Home Index