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 : |K|
9. k' : |K|
10. fs : basic-formal-sum(K;T)
11. as = (cs + k +K k' * fs) ∈ basic-formal-sum(K;T)
12. bs = (cs + k * 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 k' * fs 
⇒ x ↓∈ as)⌝⋅
         THENA (Auto THEN Eliminate ⌜as⌝⋅ THEN Auto THEN RWO "bag-member-append" 0 THEN Auto)
         )
   THEN (Assert k +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 : |K|
9. k' : |K|
10. fs : bag(|K| × T)
11. as = (cs + k +K k' * fs) ∈ bag(|K| × T)
12. bs = (cs + k * 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 k' * fs 
⇒ x ↓∈ as)
17. k +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