Step
*
1
1
1
1
1
1
of Lemma
bag-member-decidable2
1. T : Type
2. P : T ⟶ ℙ
3. x : {x:T| P[x]} 
4. ∀x,y:{x:T| P[x]} .  Dec(x = y ∈ {x:T| P[x]} )
5. L : T List
6. L ∈ bag({x:T| x ↓∈ L} )
7. f : ∀x:{x:T| x ↓∈ L} . ∃y:{x:T| P[x]} . (x = y ∈ T)
⊢ L = bag-map'(λx.(fst((f x)));L) ∈ bag(T)
BY
{ TACTIC:(Thin (-2)
          THEN (Assert ∀L:T List. (L ∈ bag({x:T| x ↓∈ L} )) BY
                      ((D 0 THENA Auto) THEN (BLemma `bag-subtype` ⋅ THENA Auto)))
          ) }
1
1. T : Type
2. P : T ⟶ ℙ
3. x : {x:T| P[x]} 
4. ∀x,y:{x:T| P[x]} .  Dec(x = y ∈ {x:T| P[x]} )
5. L : T List
6. f : ∀x:{x:T| x ↓∈ L} . ∃y:{x:T| P[x]} . (x = y ∈ T)
7. ∀L:T List. (L ∈ bag({x:T| x ↓∈ L} ))
⊢ L = bag-map'(λx.(fst((f x)));L) ∈ bag(T)
Latex:
Latex:
1.  T  :  Type
2.  P  :  T  {}\mrightarrow{}  \mBbbP{}
3.  x  :  \{x:T|  P[x]\} 
4.  \mforall{}x,y:\{x:T|  P[x]\}  .    Dec(x  =  y)
5.  L  :  T  List
6.  L  \mmember{}  bag(\{x:T|  x  \mdownarrow{}\mmember{}  L\}  )
7.  f  :  \mforall{}x:\{x:T|  x  \mdownarrow{}\mmember{}  L\}  .  \mexists{}y:\{x:T|  P[x]\}  .  (x  =  y)
\mvdash{}  L  =  bag-map'(\mlambda{}x.(fst((f  x)));L)
By
Latex:
TACTIC:(Thin  (-2)
                THEN  (Assert  \mforall{}L:T  List.  (L  \mmember{}  bag(\{x:T|  x  \mdownarrow{}\mmember{}  L\}  ))  BY
                                        ((D  0  THENA  Auto)  THEN  (BLemma  `bag-subtype`  \mcdot{}  THENA  Auto)))
                )
Home
Index