Step * 1 1 of Lemma bag-member-map3-deq


1. [T] Type
2. [U] Type
3. U
4. bs bag(T)
5. {v:T| v ↓∈ bs}  ⟶ U
6. Inj({v:T| v ↓∈ bs} ;U;f)
7. : ∀x,y:U.  Dec(x y ∈ U)
8. uiff(x ↓∈ bag-map(f;bs);↓∃v:T. (v ↓∈ bs ∧ (x (f v) ∈ U)))
9. ↓∃v:T. (v ↓∈ bs ∧ (x (f v) ∈ U))
10. single-valued-bag([v∈bs|dec2bool(g (f v))];T)
⊢ ∃v:T. (v ↓∈ bs ∧ (x (f v) ∈ U))
BY
TACTIC:(Assert 0 < #([v∈bs|dec2bool(g (f v))]) BY
                (TrySquashExRepD (-2)
                 THEN Using [`x',⌜v⌝(BLemma `bag-member-size`)⋅
                 THEN Try (((InstLemma `bag-filter-wf2` [⌜T⌝;⌜bs⌝;⌜λ2v.dec2bool(g (f v))⌝]⋅ THENA Auto)
                            THEN DoSubsume
                            THEN Complete (Auto)))
                 THEN BLemma `bag-member-filter2`
                 THEN Auto
                 THEN TACTIC:RWO "dec2bool_decidable" 0
                 THEN Auto)) }

1
1. [T] Type
2. [U] Type
3. U
4. bs bag(T)
5. {v:T| v ↓∈ bs}  ⟶ U
6. Inj({v:T| v ↓∈ bs} ;U;f)
7. : ∀x,y:U.  Dec(x y ∈ U)
8. uiff(x ↓∈ bag-map(f;bs);↓∃v:T. (v ↓∈ bs ∧ (x (f v) ∈ U)))
9. ↓∃v:T. (v ↓∈ bs ∧ (x (f v) ∈ U))
10. single-valued-bag([v∈bs|dec2bool(g (f v))];T)
11. 0 < #([v∈bs|dec2bool(g (f v))])
⊢ ∃v:T. (v ↓∈ bs ∧ (x (f v) ∈ U))


Latex:


Latex:

1.  [T]  :  Type
2.  [U]  :  Type
3.  x  :  U
4.  bs  :  bag(T)
5.  f  :  \{v:T|  v  \mdownarrow{}\mmember{}  bs\}    {}\mrightarrow{}  U
6.  Inj(\{v:T|  v  \mdownarrow{}\mmember{}  bs\}  ;U;f)
7.  g  :  \mforall{}x,y:U.    Dec(x  =  y)
8.  uiff(x  \mdownarrow{}\mmember{}  bag-map(f;bs);\mdownarrow{}\mexists{}v:T.  (v  \mdownarrow{}\mmember{}  bs  \mwedge{}  (x  =  (f  v))))
9.  \mdownarrow{}\mexists{}v:T.  (v  \mdownarrow{}\mmember{}  bs  \mwedge{}  (x  =  (f  v)))
10.  single-valued-bag([v\mmember{}bs|dec2bool(g  x  (f  v))];T)
\mvdash{}  \mexists{}v:T.  (v  \mdownarrow{}\mmember{}  bs  \mwedge{}  (x  =  (f  v)))


By


Latex:
TACTIC:(Assert  0  <  \#([v\mmember{}bs|dec2bool(g  x  (f  v))])  BY
                            (TrySquashExRepD  (-2)
                              THEN  Using  [`x',\mkleeneopen{}v\mkleeneclose{}]  (BLemma  `bag-member-size`)\mcdot{}
                              THEN  Try  (((InstLemma  `bag-filter-wf2`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}bs\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}v.dec2bool(g  x  (f  v))\mkleeneclose{}]\mcdot{}
                                                      THENA  Auto
                                                      )
                                                    THEN  DoSubsume
                                                    THEN  Complete  (Auto)))
                              THEN  BLemma  `bag-member-filter2`
                              THEN  Auto
                              THEN  TACTIC:RWO  "dec2bool\_decidable"  0
                              THEN  Auto))




Home Index