Step
*
1
of Lemma
bag-member-filter
1. T : Type
2. P : T ⟶ 𝔹
3. x : T
4. bs : T List
5. L : T List
6. L = filter(λx.P[x];bs) ∈ bag(T)
7. (x ∈ L)
⊢ ↓∃L:T List. ((L = bs ∈ bag(T)) ∧ (x ∈ L))
BY
{ (EqTypeHD (-2)⋅
   THEN Auto
   THEN D 0
   THEN With ⌜bs⌝ (D 0)⋅
   THEN Auto
   THEN (InstLemma `member-permutation` [⌜T⌝;⌜L⌝;⌜filter(λx.P[x];bs)⌝]⋅ THEN Auto)
   THEN FHyp (-1) [-3]
   THEN Auto
   THEN RWO "member_filter" (-1)
   THEN Auto) }
Latex:
Latex:
1.  T  :  Type
2.  P  :  T  {}\mrightarrow{}  \mBbbB{}
3.  x  :  T
4.  bs  :  T  List
5.  L  :  T  List
6.  L  =  filter(\mlambda{}x.P[x];bs)
7.  (x  \mmember{}  L)
\mvdash{}  \mdownarrow{}\mexists{}L:T  List.  ((L  =  bs)  \mwedge{}  (x  \mmember{}  L))
By
Latex:
(EqTypeHD  (-2)\mcdot{}
  THEN  Auto
  THEN  D  0
  THEN  With  \mkleeneopen{}bs\mkleeneclose{}  (D  0)\mcdot{}
  THEN  Auto
  THEN  (InstLemma  `member-permutation`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{};\mkleeneopen{}filter(\mlambda{}x.P[x];bs)\mkleeneclose{}]\mcdot{}  THEN  Auto)
  THEN  FHyp  (-1)  [-3]
  THEN  Auto
  THEN  RWO  "member\_filter"  (-1)
  THEN  Auto)
Home
Index