Step * 1 1 1 of Lemma bag-eq-subtype1


1. Type
2. A ⟶ ℙ
3. d2 bag({a:A| B[a]} )
4. {a:A| B[a]}  List
5. ∀A,B:Type. ∀d1,d2:A.  ((A ⊆B)  (d1 d2 ∈ A)  (d1 d2 ∈ B))
6. d2 ∈ bag(A)
⊢ d2 ∈ bag({a:A| B[a]} )
BY
((InstLemma `bag_to_squash_list` [⌜{a:A| B[a]} ⌝;⌜d2⌝]⋅ THENA Auto)
   THEN SquashExRepD
   THEN (HypSubst' (-1) THENA Auto)
   THEN (InstHyp [⌜bag({a:A| B[a]} )⌝;⌜bag(A)⌝;⌜d2⌝;⌜L1⌝(-4)⋅ THENA Auto)
   THEN (HypSubst' (-1) (-4) THENA Auto)) }

1
1. Type
2. A ⟶ ℙ
3. d2 bag({a:A| B[a]} )
4. {a:A| B[a]}  List
5. ∀A,B:Type. ∀d1,d2:A.  ((A ⊆B)  (d1 d2 ∈ A)  (d1 d2 ∈ B))
6. L1 {a:A| B[a]}  List
7. d2 L1 ∈ bag({a:A| B[a]} )
8. d2 L1 ∈ bag(A)
9. L1 ∈ bag(A)
⊢ L1 ∈ bag({a:A| B[a]} )


Latex:


Latex:

1.  A  :  Type
2.  B  :  A  {}\mrightarrow{}  \mBbbP{}
3.  d2  :  bag(\{a:A|  B[a]\}  )
4.  L  :  \{a:A|  B[a]\}    List
5.  \mforall{}A,B:Type.  \mforall{}d1,d2:A.    ((A  \msubseteq{}r  B)  {}\mRightarrow{}  (d1  =  d2)  {}\mRightarrow{}  (d1  =  d2))
6.  L  =  d2
\mvdash{}  L  =  d2


By


Latex:
((InstLemma  `bag\_to\_squash\_list`  [\mkleeneopen{}\{a:A|  B[a]\}  \mkleeneclose{};\mkleeneopen{}d2\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  SquashExRepD
  THEN  (HypSubst'  (-1)  0  THENA  Auto)
  THEN  (InstHyp  [\mkleeneopen{}bag(\{a:A|  B[a]\}  )\mkleeneclose{};\mkleeneopen{}bag(A)\mkleeneclose{};\mkleeneopen{}d2\mkleeneclose{};\mkleeneopen{}L1\mkleeneclose{}]  (-4)\mcdot{}  THENA  Auto)
  THEN  (HypSubst'  (-1)  (-4)  THENA  Auto))




Home Index