Step * 1 1 1 of Lemma bag-from-member-function-exists


1. Type
2. Type
3. bs bag(T)
4. T ⟶ A ⟶ ℙ
5. ∀x,y:A.  Dec(x y ∈ A)
6. ∀x,y:T.  Dec(x y ∈ T)
7. : ∀i:T. (i ↓∈ bs  (∃a:A. P[i;a]))
8. T
9. i ↓∈ bs
⊢ ↓∃v:{v:T × A| v ↓∈ bag-map(λi.<i, fst((g Ax))>;bs)} (i ((λx.(fst(x))) v) ∈ T)
BY
(Reduce 0
   THEN 0
   THEN InstConcl [⌜<i, fst((g Ax))>⌝]⋅
   THEN Reduce 0
   THEN Try (Complete (Auto))
   THEN MemTypeCD
   THEN Try (Complete ((Auto THEN BLemma `bag-member-evidence` THEN Auto)))
   THEN Try (((MemCD' THEN Try (Complete (Auto)))
              THEN BLemma `bag-map-member-wf`
              THEN Auto
              THEN DVarSets
              THEN BLemma `bag-member-evidence`
              THEN Auto))
   THEN RWO "bag-member-map2" 0
   THEN Try (Complete (Auto))
   THEN Reduce 0
   THEN Try (Complete ((Auto THEN Try (DVarSets) THEN BLemma `bag-member-evidence` THEN Auto)))
   THEN 0
   THEN InstConcl [⌜i⌝]⋅
   THEN Auto
   THEN Try (DVarSets)
   THEN BLemma `bag-member-evidence`
   THEN Auto) }


Latex:


Latex:

1.  T  :  Type
2.  A  :  Type
3.  bs  :  bag(T)
4.  P  :  T  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}
5.  \mforall{}x,y:A.    Dec(x  =  y)
6.  \mforall{}x,y:T.    Dec(x  =  y)
7.  g  :  \mforall{}i:T.  (i  \mdownarrow{}\mmember{}  bs  {}\mRightarrow{}  (\mexists{}a:A.  P[i;a]))
8.  i  :  T
9.  i  \mdownarrow{}\mmember{}  bs
\mvdash{}  \mdownarrow{}\mexists{}v:\{v:T  \mtimes{}  A|  v  \mdownarrow{}\mmember{}  bag-map(\mlambda{}i.<i,  fst((g  i  Ax))>bs)\}  .  (i  =  ((\mlambda{}x.(fst(x)))  v))


By


Latex:
(Reduce  0
  THEN  D  0
  THEN  InstConcl  [\mkleeneopen{}<i,  fst((g  i  Ax))>\mkleeneclose{}]\mcdot{}
  THEN  Reduce  0
  THEN  Try  (Complete  (Auto))
  THEN  MemTypeCD
  THEN  Try  (Complete  ((Auto  THEN  BLemma  `bag-member-evidence`  THEN  Auto)))
  THEN  Try  (((MemCD'  THEN  Try  (Complete  (Auto)))
                        THEN  BLemma  `bag-map-member-wf`
                        THEN  Auto
                        THEN  DVarSets
                        THEN  BLemma  `bag-member-evidence`
                        THEN  Auto))
  THEN  RWO  "bag-member-map2"  0
  THEN  Try  (Complete  (Auto))
  THEN  Reduce  0
  THEN  Try  (Complete  ((Auto  THEN  Try  (DVarSets)  THEN  BLemma  `bag-member-evidence`  THEN  Auto)))
  THEN  D  0
  THEN  InstConcl  [\mkleeneopen{}i\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  Try  (DVarSets)
  THEN  BLemma  `bag-member-evidence`
  THEN  Auto)




Home Index