Step * of Lemma bag-to-list_wf

[T:Type]
  ∀[b:bag(T)]. ∀[cmp:comparison({x:T| x ↓∈ b} )].
    bag-to-list(cmp;b) ∈ List supposing ∀x,y:{x:T| x ↓∈ b} .  (((cmp y) 0 ∈ ℤ (x y ∈ T)) 
  supposing valueall-type(T)
BY
(Auto
   THEN 3
   THEN (FLemma  `member-permutation` [-3] THENA Auto)
   THEN (InstLemma `bag-member-iff-sq-list-member` [⌜T⌝;⌜b⌝]⋅ THENA Auto)
   THEN (Assert {x:T| x ↓∈ b}  ≡ {x:T| (x ∈ b)}  BY
               (RepeatFor ((D THENA Auto))
                THEN (D -1 THEN Auto)
                THEN (FHyp (-3) [-1] THENA Auto)
                THEN -1
                THEN Auto⋅))
   THEN (Assert Linorder({x:T| (x ∈ b)} ;a,b.0 ≤ (cmp b)) BY
               (RepeatFor ((D THEN Auto))
                THEN BLemma `comparison-antisym`
                THEN Auto
                THEN -3
                THEN EqTypeCD
                THEN Auto))
   THEN Thin (-5)
   THEN PromoteHyp (-1) (-4)) }

1
1. Type
2. valueall-type(T)
3. Base
4. b1 Base
5. b1 ∈ pertype(λas,bs. ((as ∈ List) ∧ (bs ∈ List) ∧ permutation(T;as;bs)))
6. b ∈ List
7. b1 ∈ List
8. permutation(T;b;b1)
9. cmp comparison({x:T| x ↓∈ b} )
10. Linorder({x:T| (x ∈ b)} ;a,b.0 ≤ (cmp b))
11. ∀a:T. ((a ∈ b) ⇐⇒ (a ∈ b1))
12. ∀x:T. uiff(x ↓∈ b;↓(x ∈ b))
13. {x:T| x ↓∈ b}  ≡ {x:T| (x ∈ b)} 
⊢ bag-to-list(cmp;b) bag-to-list(cmp;b1) ∈ (T List)


Latex:


Latex:
\mforall{}[T:Type]
    \mforall{}[b:bag(T)].  \mforall{}[cmp:comparison(\{x:T|  x  \mdownarrow{}\mmember{}  b\}  )].
        bag-to-list(cmp;b)  \mmember{}  T  List  supposing  \mforall{}x,y:\{x:T|  x  \mdownarrow{}\mmember{}  b\}  .    (((cmp  x  y)  =  0)  {}\mRightarrow{}  (x  =  y)) 
    supposing  valueall-type(T)


By


Latex:
(Auto
  THEN  D  3
  THEN  (FLemma    `member-permutation`  [-3]  THENA  Auto)
  THEN  (InstLemma  `bag-member-iff-sq-list-member`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}b\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (Assert  \{x:T|  x  \mdownarrow{}\mmember{}  b\}    \mequiv{}  \{x:T|  (x  \mmember{}  b)\}    BY
                          (RepeatFor  2  ((D  0  THENA  Auto))
                            THEN  (D  -1  THEN  Auto)
                            THEN  (FHyp  (-3)  [-1]  THENA  Auto)
                            THEN  D  -1
                            THEN  Auto\mcdot{}))
  THEN  (Assert  Linorder(\{x:T|  (x  \mmember{}  b)\}  ;a,b.0  \mleq{}  (cmp  a  b))  BY
                          (RepeatFor  2  ((D  0  THEN  Auto))
                            THEN  BLemma  `comparison-antisym`
                            THEN  Auto
                            THEN  D  -3
                            THEN  EqTypeCD
                            THEN  Auto))
  THEN  Thin  (-5)
  THEN  PromoteHyp  (-1)  (-4))




Home Index