Step
*
2
of Lemma
bag-product-no-repeats
1. A : Type
2. B : Type
3. u : A
4. v : A List
5. bag-no-repeats(A;v) 
⇒ (∀bs:bag(B). (bag-no-repeats(B;bs) 
⇒ bag-no-repeats(A × B;v × bs)))
6. bag-no-repeats(A;[u / v])
7. bs : bag(B)
8. bag-no-repeats(B;bs)
⊢ bag-no-repeats(A × B;[u / v] × bs)
BY
{ ((Fold `cons-bag` 0 THEN RWO "cons-bag-as-append" 0 THEN Auto)
   THEN RWO "bag-product-append" 0
   THEN Auto
   THEN BLemma `bag-append-no-repeats` 
   THEN Auto) }
1
1. A : Type
2. B : Type
3. u : A
4. v : A List
5. bag-no-repeats(A;v) 
⇒ (∀bs:bag(B). (bag-no-repeats(B;bs) 
⇒ bag-no-repeats(A × B;v × bs)))
6. bag-no-repeats(A;[u / v])
7. bs : bag(B)
8. bag-no-repeats(B;bs)
⊢ bag-no-repeats(A × B;{u} × bs)
2
1. A : Type
2. B : Type
3. u : A
4. v : A List
5. bag-no-repeats(A;v) 
⇒ (∀bs:bag(B). (bag-no-repeats(B;bs) 
⇒ bag-no-repeats(A × B;v × bs)))
6. bag-no-repeats(A;[u / v])
7. bs : bag(B)
8. bag-no-repeats(B;bs)
9. bag-no-repeats(A × B;{u} × bs)
⊢ bag-no-repeats(A × B;v × bs)
3
1. A : Type
2. B : Type
3. u : A
4. v : A List
5. bag-no-repeats(A;v) 
⇒ (∀bs:bag(B). (bag-no-repeats(B;bs) 
⇒ bag-no-repeats(A × B;v × bs)))
6. bag-no-repeats(A;[u / v])
7. bs : bag(B)
8. bag-no-repeats(B;bs)
9. bag-no-repeats(A × B;{u} × bs)
10. bag-no-repeats(A × B;v × bs)
11. z : A × B
12. z ↓∈ {u} × bs
⊢ ¬z ↓∈ v × bs
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  u  :  A
4.  v  :  A  List
5.  bag-no-repeats(A;v)  {}\mRightarrow{}  (\mforall{}bs:bag(B).  (bag-no-repeats(B;bs)  {}\mRightarrow{}  bag-no-repeats(A  \mtimes{}  B;v  \mtimes{}  bs)))
6.  bag-no-repeats(A;[u  /  v])
7.  bs  :  bag(B)
8.  bag-no-repeats(B;bs)
\mvdash{}  bag-no-repeats(A  \mtimes{}  B;[u  /  v]  \mtimes{}  bs)
By
Latex:
((Fold  `cons-bag`  0  THEN  RWO  "cons-bag-as-append"  0  THEN  Auto)
  THEN  RWO  "bag-product-append"  0
  THEN  Auto
  THEN  BLemma  `bag-append-no-repeats` 
  THEN  Auto)
Home
Index