Step
*
of Lemma
sublist_filter_set_type
∀[T:Type]. ∀L1,L2:T List. ∀P:T ⟶ 𝔹.  (L2 ⊆ L1 
⇒ L2 ⊆ filter(P;L1) supposing (∀x∈L2.↑(P x)))
BY
{ (Auto
   THEN (Assert L2 ∈ {x:T| ↑(P x)}  List BY
               (BackThruLemma `list_set_type` THEN Auto))
   THEN (Assert filter(P;L1) ∈ {x:T| ↑(P x)}  List BY
               (BackThruLemma `list_set_type`
                THEN Auto
                THEN (RWO "l_all_iff" 0 THENM RWO "member_filter" 0)
                THEN Auto))) }
1
1. [T] : Type
2. L1 : T List
3. L2 : T List
4. P : T ⟶ 𝔹
5. L2 ⊆ L1
6. (∀x∈L2.↑(P x))
7. L2 ∈ {x:T| ↑(P x)}  List
8. filter(P;L1) ∈ {x:T| ↑(P x)}  List
⊢ L2 ⊆ filter(P;L1)
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}L1,L2:T  List.  \mforall{}P:T  {}\mrightarrow{}  \mBbbB{}.    (L2  \msubseteq{}  L1  {}\mRightarrow{}  L2  \msubseteq{}  filter(P;L1)  supposing  (\mforall{}x\mmember{}L2.\muparrow{}(P  x)))
By
Latex:
(Auto
  THEN  (Assert  L2  \mmember{}  \{x:T|  \muparrow{}(P  x)\}    List  BY
                          (BackThruLemma  `list\_set\_type`  THEN  Auto))
  THEN  (Assert  filter(P;L1)  \mmember{}  \{x:T|  \muparrow{}(P  x)\}    List  BY
                          (BackThruLemma  `list\_set\_type`
                            THEN  Auto
                            THEN  (RWO  "l\_all\_iff"  0  THENM  RWO  "member\_filter"  0)
                            THEN  Auto)))
Home
Index