Step * 1 1 1 of Lemma bag-member-decidable2


1. Type
2. T ⟶ ℙ
3. bag(T)
4. {x:T| P[x]} 
5. ∀x,y:{x:T| P[x]} .  Dec(x y ∈ {x:T| P[x]} )
6. : ∀x:{x:T| x ↓∈ b} . ∃y:{x:T| P[x]} (x y ∈ T)
⊢ bag-map'(λx.(fst((f x)));b) ∈ bag(T)
BY
((InstLemma `bag_to_squash_list` [⌜T⌝;⌜b⌝]⋅ THENA Auto)
   THEN TrySquashExRepD (-1)
   THEN (InstLemma `bag-subtype` [⌜T⌝;⌜b⌝]⋅ THENA Auto)
   THEN (InstLemma `bag-subtype` [⌜T⌝;⌜L⌝]⋅ THENA Auto)
   THEN skip{(MoveToConcl (-5)
              THEN skip{((RWO "-3" THENA (Auto THEN RemoveLabel THEN BLemma `bag-eq-subtype` THEN Auto))
                         THEN (D THENA Auto)
                         THEN ThinVar `b')}
              )}) }

1
1. Type
2. T ⟶ ℙ
3. bag(T)
4. {x:T| P[x]} 
5. ∀x,y:{x:T| P[x]} .  Dec(x y ∈ {x:T| P[x]} )
6. : ∀x:{x:T| x ↓∈ b} . ∃y:{x:T| P[x]} (x y ∈ T)
7. List
8. L ∈ bag(T)
9. b ∈ bag({x:T| x ↓∈ b} )
10. L ∈ bag({x:T| x ↓∈ L} )
⊢ bag-map'(λx.(fst((f x)));b) ∈ bag(T)


Latex:


Latex:

1.  T  :  Type
2.  P  :  T  {}\mrightarrow{}  \mBbbP{}
3.  b  :  bag(T)
4.  x  :  \{x:T|  P[x]\} 
5.  \mforall{}x,y:\{x:T|  P[x]\}  .    Dec(x  =  y)
6.  f  :  \mforall{}x:\{x:T|  x  \mdownarrow{}\mmember{}  b\}  .  \mexists{}y:\{x:T|  P[x]\}  .  (x  =  y)
\mvdash{}  b  =  bag-map'(\mlambda{}x.(fst((f  x)));b)


By


Latex:
((InstLemma  `bag\_to\_squash\_list`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}b\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  TrySquashExRepD  (-1)
  THEN  (InstLemma  `bag-subtype`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}b\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (InstLemma  `bag-subtype`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  skip\{(MoveToConcl  (-5)
                        THEN  skip\{((RWO  "-3"  0
                                                THENA  (Auto  THEN  RemoveLabel  THEN  BLemma  `bag-eq-subtype`  THEN  Auto)
                                                )
                                              THEN  (D  0  THENA  Auto)
                                              THEN  ThinVar  `b')\}
                        )\})




Home Index