Step * 2 of Lemma equipollent-filter


1. [A] Type
2. A ⟶ 𝔹
⊢ ∀ys:A List. ∀y:A.
    ({x:ℕ||ys||| ↑P[ys[x]]}  ~ ℕ||filter(P;ys)||  {x:ℕ||ys [y]||| ↑P[ys [y][x]]}  ~ ℕ||filter(P;ys [y])||)
BY
(Auto
   THEN (RWO "filter_append" THENA Auto)
   THEN (RWO "length-append" THENA Auto)
   THEN Reduce 0
   THEN SplitOnConclITE
   THEN Auto
   THEN Reduce 0) }

1
1. [A] Type
2. A ⟶ 𝔹
3. ys List
4. A
5. {x:ℕ||ys||| ↑P[ys[x]]}  ~ ℕ||filter(P;ys)||
6. ↑(P y)
⊢ {x:ℕ||ys|| 1| ↑P[ys [y][x]]}  ~ ℕ||filter(P;ys)|| 1

2
1. [A] Type
2. A ⟶ 𝔹
3. ys List
4. A
5. {x:ℕ||ys||| ↑P[ys[x]]}  ~ ℕ||filter(P;ys)||
6. ¬↑(P y)
⊢ {x:ℕ||ys|| 1| ↑P[ys [y][x]]}  ~ ℕ||filter(P;ys)|| 0


Latex:


Latex:

1.  [A]  :  Type
2.  P  :  A  {}\mrightarrow{}  \mBbbB{}
\mvdash{}  \mforall{}ys:A  List.  \mforall{}y:A.
        (\{x:\mBbbN{}||ys|||  \muparrow{}P[ys[x]]\}    \msim{}  \mBbbN{}||filter(P;ys)||
        {}\mRightarrow{}  \{x:\mBbbN{}||ys  @  [y]|||  \muparrow{}P[ys  @  [y][x]]\}    \msim{}  \mBbbN{}||filter(P;ys  @  [y])||)


By


Latex:
(Auto
  THEN  (RWO  "filter\_append"  0  THENA  Auto)
  THEN  (RWO  "length-append"  0  THENA  Auto)
  THEN  Reduce  0
  THEN  SplitOnConclITE
  THEN  Auto
  THEN  Reduce  0)




Home Index