Step * 2 2 1 of Lemma bfs-reduce-strong-subtype

.....assertion..... 
1. [K] RngSig
2. [S] Type
3. [T] Type
4. strong-subtype(S;T)
5. [as] basic-formal-sum(K;S)
6. [bs] basic-formal-sum(K;S)
7. cs basic-formal-sum(K;T)
8. |K|
9. k' |K|
10. fs basic-formal-sum(K;T)
11. as (cs +K k' fs) ∈ basic-formal-sum(K;T)
12. bs (cs fs k' fs) ∈ basic-formal-sum(K;T)
13. strong-subtype(basic-formal-sum(K;S);basic-formal-sum(K;T))
14. ∀b:basic-formal-sum(K;T). ∀a:basic-formal-sum(K;S).
      ((b a ∈ basic-formal-sum(K;T))  (b a ∈ basic-formal-sum(K;S)))
15. cs ∈ basic-formal-sum(K;S)
⊢ fs ∈ basic-formal-sum(K;S)
BY
(All (Unfold `basic-formal-sum`)
   THEN (Assert ⌜∀x:|K| × T. (x ↓∈ +K k' fs  x ↓∈ as)⌝⋅
         THENA (Auto THEN Eliminate ⌜as⌝⋅ THEN Auto THEN RWO "bag-member-append" THEN Auto)
         )
   THEN (Assert +K k' fs ∈ bag(|K| × S) BY
               (BLemma `bag-in-subtype2` THEN Auto))) }

1
1. [K] RngSig
2. [S] Type
3. [T] Type
4. strong-subtype(S;T)
5. [as] bag(|K| × S)
6. [bs] bag(|K| × S)
7. cs bag(|K| × T)
8. |K|
9. k' |K|
10. fs bag(|K| × T)
11. as (cs +K k' fs) ∈ bag(|K| × T)
12. bs (cs fs k' fs) ∈ bag(|K| × T)
13. strong-subtype(bag(|K| × S);bag(|K| × T))
14. ∀b:bag(|K| × T). ∀a:bag(|K| × S).  ((b a ∈ bag(|K| × T))  (b a ∈ bag(|K| × S)))
15. cs ∈ bag(|K| × S)
16. ∀x:|K| × T. (x ↓∈ +K k' fs  x ↓∈ as)
17. +K k' fs ∈ bag(|K| × S)
⊢ fs ∈ bag(|K| × S)


Latex:


Latex:
.....assertion..... 
1.  [K]  :  RngSig
2.  [S]  :  Type
3.  [T]  :  Type
4.  strong-subtype(S;T)
5.  [as]  :  basic-formal-sum(K;S)
6.  [bs]  :  basic-formal-sum(K;S)
7.  cs  :  basic-formal-sum(K;T)
8.  k  :  |K|
9.  k'  :  |K|
10.  fs  :  basic-formal-sum(K;T)
11.  as  =  (cs  +  k  +K  k'  *  fs)
12.  bs  =  (cs  +  k  *  fs  +  k'  *  fs)
13.  strong-subtype(basic-formal-sum(K;S);basic-formal-sum(K;T))
14.  \mforall{}b:basic-formal-sum(K;T).  \mforall{}a:basic-formal-sum(K;S).    ((b  =  a)  {}\mRightarrow{}  (b  =  a))
15.  cs  \mmember{}  basic-formal-sum(K;S)
\mvdash{}  fs  \mmember{}  basic-formal-sum(K;S)


By


Latex:
(All  (Unfold  `basic-formal-sum`)
  THEN  (Assert  \mkleeneopen{}\mforall{}x:|K|  \mtimes{}  T.  (x  \mdownarrow{}\mmember{}  k  +K  k'  *  fs  {}\mRightarrow{}  x  \mdownarrow{}\mmember{}  as)\mkleeneclose{}\mcdot{}
              THENA  (Auto  THEN  Eliminate  \mkleeneopen{}as\mkleeneclose{}\mcdot{}  THEN  Auto  THEN  RWO  "bag-member-append"  0  THEN  Auto)
              )
  THEN  (Assert  k  +K  k'  *  fs  \mmember{}  bag(|K|  \mtimes{}  S)  BY
                          (BLemma  `bag-in-subtype2`  THEN  Auto)))




Home Index