Step * 1 1 3 1 2 of Lemma bag-member-parts


1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. : ℕ
5. ∀n:ℕn. ∀bs:bag(T).
     ((#(bs) ≤ n)
      (∀L:bag(T) List+uiff(L ↓∈ bag-parts(eq;bs);(bag-union(L) bs ∈ bag(T)) ∧ (∀x∈L.¬(x {} ∈ bag(T))))))
6. bs bag(T)
7. #(bs) ≤ n
8. bag(T)
9. bag(T) List
10. (u bag-union(v)) bs ∈ bag(T)
11. (u {} ∈ bag(T))) ∧ (∀x∈v.¬(x {} ∈ bag(T)))
12. (#(u) #(bag-union(v))) #(bs) ∈ ℤ
13. ¬(#(u) ≤ 0)
⊢ ↓∃a,b:bag(T)
    (<a, b> ↓∈ bag-partitions(eq;bs)
    ∧ [u v] ↓∈ if bag-null(a) then {}
      if bag-null(b) then {[a]}
      else let parts ⟵ bag-parts(eq;b)
           in bag-map(λL.[a L];parts)
      fi )
BY
((D THEN InstConcl [⌜u⌝;⌜bag-union(v)⌝]⋅ THEN Auto) THEN Try ((CallByValueReduce THEN Auto)⋅))⋅ }

1
1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. : ℕ
5. ∀n:ℕn. ∀bs:bag(T).
     ((#(bs) ≤ n)
      (∀L:bag(T) List+uiff(L ↓∈ bag-parts(eq;bs);(bag-union(L) bs ∈ bag(T)) ∧ (∀x∈L.¬(x {} ∈ bag(T))))))
6. bs bag(T)
7. #(bs) ≤ n
8. bag(T)
9. bag(T) List
10. (u bag-union(v)) bs ∈ bag(T)
11. ¬(u {} ∈ bag(T))
12. (∀x∈v.¬(x {} ∈ bag(T)))
13. (#(u) #(bag-union(v))) #(bs) ∈ ℤ
14. ¬(#(u) ≤ 0)
⊢ <u, bag-union(v)> ↓∈ bag-partitions(eq;bs)

2
1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. : ℕ
5. ∀n:ℕn. ∀bs:bag(T).
     ((#(bs) ≤ n)
      (∀L:bag(T) List+uiff(L ↓∈ bag-parts(eq;bs);(bag-union(L) bs ∈ bag(T)) ∧ (∀x∈L.¬(x {} ∈ bag(T))))))
6. bs bag(T)
7. #(bs) ≤ n
8. bag(T)
9. bag(T) List
10. (u bag-union(v)) bs ∈ bag(T)
11. ¬(u {} ∈ bag(T))
12. (∀x∈v.¬(x {} ∈ bag(T)))
13. (#(u) #(bag-union(v))) #(bs) ∈ ℤ
14. ¬(#(u) ≤ 0)
15. <u, bag-union(v)> ↓∈ bag-partitions(eq;bs)
⊢ [u v] ↓∈ if bag-null(u) then {}
if bag-null(bag-union(v)) then {[u]}
else bag-map(λL.[u L];bag-parts(eq;bag-union(v)))
fi 


Latex:


Latex:

1.  T  :  Type
2.  valueall-type(T)
3.  eq  :  EqDecider(T)
4.  n  :  \mBbbN{}
5.  \mforall{}n:\mBbbN{}n.  \mforall{}bs:bag(T).
          ((\#(bs)  \mleq{}  n)
          {}\mRightarrow{}  (\mforall{}L:bag(T)  List\msupplus{}.  uiff(L  \mdownarrow{}\mmember{}  bag-parts(eq;bs);(bag-union(L)  =  bs)  \mwedge{}  (\mforall{}x\mmember{}L.\mneg{}(x  =  \{\})))))
6.  bs  :  bag(T)
7.  \#(bs)  \mleq{}  n
8.  u  :  bag(T)
9.  v  :  bag(T)  List
10.  (u  +  bag-union(v))  =  bs
11.  (\mneg{}(u  =  \{\}))  \mwedge{}  (\mforall{}x\mmember{}v.\mneg{}(x  =  \{\}))
12.  (\#(u)  +  \#(bag-union(v)))  =  \#(bs)
13.  \mneg{}(\#(u)  \mleq{}  0)
\mvdash{}  \mdownarrow{}\mexists{}a,b:bag(T)
        (<a,  b>  \mdownarrow{}\mmember{}  bag-partitions(eq;bs)
        \mwedge{}  [u  /  v]  \mdownarrow{}\mmember{}  if  bag-null(a)  then  \{\}
            if  bag-null(b)  then  \{[a]\}
            else  let  parts  \mleftarrow{}{}  bag-parts(eq;b)
                      in  bag-map(\mlambda{}L.[a  /  L];parts)
            fi  )


By


Latex:
((D  0  THEN  InstConcl  [\mkleeneopen{}u\mkleeneclose{};\mkleeneopen{}bag-union(v)\mkleeneclose{}]\mcdot{}  THEN  Auto)  THEN  Try  ((CallByValueReduce  0  THEN  Auto)\mcdot{}))\mcdot{}




Home Index