Step * 1 of Lemma filter-equal


1. Type
2. T ⟶ 𝔹
3. T
4. List
5. ∀[L2:T List]
     (filter(P;v) filter(P;L2) ∈ (T List)) supposing 
        ((∀i:ℕ||v||. ((v[i] L2[i] ∈ T) ∨ ((¬↑(P v[i])) ∧ (¬↑(P L2[i]))))) and 
        (||v|| ||L2|| ∈ ℤ))
6. u1 T
7. v1 List
8. (||v|| 1) (||v1|| 1) ∈ ℤ
9. ∀i:ℕ||v|| 1. (([u v][i] [u1 v1][i] ∈ T) ∨ ((¬↑(P [u v][i])) ∧ (¬↑(P [u1 v1][i]))))
10. ||v|| ||v1|| ∈ ℤ
11. ↑(P u)
12. ↑(P u1)
13. u1 ∈ T
⊢ [u filter(P;v)] [u1 filter(P;v1)] ∈ (T List)
BY
((EqCD THEN Auto)
   THEN (BackThruSomeHyp THEN Try (Trivial))
   THEN (D THENA Auto)
   THEN (InstHyp [⌜1⌝9⋅ THENA Auto)
   THEN (RWO "select-cons" (-1) THENA Auto)
   THEN (Subst' (i 1) -1 THENA Auto)
   THEN (Subst' 1 ≤ff -1 THENA Auto)
   THEN Reduce -1
   THEN Trivial) }


Latex:


Latex:

1.  T  :  Type
2.  P  :  T  {}\mrightarrow{}  \mBbbB{}
3.  u  :  T
4.  v  :  T  List
5.  \mforall{}[L2:T  List]
          (filter(P;v)  =  filter(P;L2))  supposing 
                ((\mforall{}i:\mBbbN{}||v||.  ((v[i]  =  L2[i])  \mvee{}  ((\mneg{}\muparrow{}(P  v[i]))  \mwedge{}  (\mneg{}\muparrow{}(P  L2[i])))))  and 
                (||v||  =  ||L2||))
6.  u1  :  T
7.  v1  :  T  List
8.  (||v||  +  1)  =  (||v1||  +  1)
9.  \mforall{}i:\mBbbN{}||v||  +  1.  (([u  /  v][i]  =  [u1  /  v1][i])  \mvee{}  ((\mneg{}\muparrow{}(P  [u  /  v][i]))  \mwedge{}  (\mneg{}\muparrow{}(P  [u1  /  v1][i]))))
10.  ||v||  =  ||v1||
11.  \muparrow{}(P  u)
12.  \muparrow{}(P  u1)
13.  u  =  u1
\mvdash{}  [u  /  filter(P;v)]  =  [u1  /  filter(P;v1)]


By


Latex:
((EqCD  THEN  Auto)
  THEN  (BackThruSomeHyp  THEN  Try  (Trivial))
  THEN  (D  0  THENA  Auto)
  THEN  (InstHyp  [\mkleeneopen{}i  +  1\mkleeneclose{}]  9\mcdot{}  THENA  Auto)
  THEN  (RWO  "select-cons"  (-1)  THENA  Auto)
  THEN  (Subst'  (i  +  1)  -  1  \msim{}  i  -1  THENA  Auto)
  THEN  (Subst'  i  +  1  \mleq{}z  0  \msim{}  ff  -1  THENA  Auto)
  THEN  Reduce  -1
  THEN  Trivial)




Home Index