Step * of Lemma bag-filter_wf

[T:Type]. ∀[p:T ⟶ 𝔹]. ∀[bs:bag(T)].  ([x∈bs|p[x]] ∈ bag({x:T| ↑p[x]} ))
BY
(Auto
   THEN BagD (-1)
   THEN Auto
   THEN Unfold `bag-filter` 0
   THEN EqTypeCD
   THEN Try (((Subst ⌜{x:T| ↑p[x]}  {x:T| ↑λx.p[x][x]} ⌝ 0⋅ THENA (RepUR ``so_apply`` THEN Auto))
              THEN BLemma `filter_type`
              THEN Auto))) }

1
.....wf..... 
1. Type
2. T ⟶ 𝔹
3. as List
4. bs List
5. permutation(T;as;bs)
⊢ {x:T| ↑p[x]}  List ∈ Type

2
.....wf..... 
1. Type
2. T ⟶ 𝔹
3. as List
4. bs List
5. permutation(T;as;bs)
⊢ λas,bs. permutation({x:T| ↑p[x]} ;as;bs) ∈ ({x:T| ↑p[x]}  List) ⟶ ({x:T| ↑p[x]}  List) ⟶ ℙ

3
.....aux..... 
1. Type
2. T ⟶ 𝔹
3. as List
4. bs List
5. permutation(T;as;bs)
⊢ EquivRel({x:T| ↑p[x]}  List;x,y.permutation({x:T| ↑p[x]} ;x;y))

4
.....antecedent..... 
1. Type
2. T ⟶ 𝔹
3. as List
4. bs List
5. permutation(T;as;bs)
⊢ permutation({x:T| ↑p[x]} ;filter(λx.p[x];as);filter(λx.p[x];bs))


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[p:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[bs:bag(T)].    ([x\mmember{}bs|p[x]]  \mmember{}  bag(\{x:T|  \muparrow{}p[x]\}  ))


By


Latex:
(Auto
  THEN  BagD  (-1)
  THEN  Auto
  THEN  Unfold  `bag-filter`  0
  THEN  EqTypeCD
  THEN  Try  (((Subst  \mkleeneopen{}\{x:T|  \muparrow{}p[x]\}    \msim{}  \{x:T|  \muparrow{}\mlambda{}x.p[x][x]\}  \mkleeneclose{}  0\mcdot{}  THENA  (RepUR  ``so\_apply``  0  THEN  Auto))
                        THEN  BLemma  `filter\_type`
                        THEN  Auto)))




Home Index