Step * 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)))
⊢ cs ∈ basic-formal-sum(K;S)
BY
(All (Unfold `basic-formal-sum`)
   THEN (Assert ⌜∀x:|K| × T. (x ↓∈ cs  x ↓∈ as)⌝⋅
         THENA (Auto THEN Eliminate ⌜as⌝⋅ THEN Auto THEN RWO "bag-member-append" THEN Auto)
         )
   THEN BLemma `bag-in-subtype2`
   THEN Auto) }


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))
\mvdash{}  cs  \mmember{}  basic-formal-sum(K;S)


By


Latex:
(All  (Unfold  `basic-formal-sum`)
  THEN  (Assert  \mkleeneopen{}\mforall{}x:|K|  \mtimes{}  T.  (x  \mdownarrow{}\mmember{}  cs  {}\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  BLemma  `bag-in-subtype2`
  THEN  Auto)




Home Index