Step
*
2
of Lemma
filter-equals
1. [T] : Type
2. P : T ⟶ 𝔹
3. u : T
4. v : T List
5. ∀L2:T List
     (filter(P;v) = L2 ∈ (T List)
        
⇐⇒ (∀x:T. ((x ∈ L2) 
⇐⇒ (x ∈ v) ∧ (↑(P x)))) ∧ (∀x,y:T.  (x before y ∈ L2 
⇒ x before y ∈ v))) supposing 
        (no_repeats(T;L2) and 
        no_repeats(T;v))
⊢ ∀L2:T List
    (filter(P;[u / v]) = L2 ∈ (T List)
       
⇐⇒ (∀x:T. ((x ∈ L2) 
⇐⇒ (x ∈ [u / v]) ∧ (↑(P x))))
           ∧ (∀x,y:T.  (x before y ∈ L2 
⇒ x before y ∈ [u / v]))) supposing 
       (no_repeats(T;L2) and 
       no_repeats(T;[u / v]))
BY
{ ((Reduce 0 THEN SplitOnConclITE) THENA Auto)⋅ }
1
.....truecase..... 
1. [T] : Type
2. P : T ⟶ 𝔹
3. u : T
4. v : T List
5. ∀L2:T List
     (filter(P;v) = L2 ∈ (T List)
        
⇐⇒ (∀x:T. ((x ∈ L2) 
⇐⇒ (x ∈ v) ∧ (↑(P x)))) ∧ (∀x,y:T.  (x before y ∈ L2 
⇒ x before y ∈ v))) supposing 
        (no_repeats(T;L2) and 
        no_repeats(T;v))
6. ↑(P u)
⊢ ∀L2:T List
    ([u / filter(P;v)] = L2 ∈ (T List)
       
⇐⇒ (∀x:T. ((x ∈ L2) 
⇐⇒ (x ∈ [u / v]) ∧ (↑(P x))))
           ∧ (∀x,y:T.  (x before y ∈ L2 
⇒ x before y ∈ [u / v]))) supposing 
       (no_repeats(T;L2) and 
       no_repeats(T;[u / v]))
2
.....falsecase..... 
1. [T] : Type
2. P : T ⟶ 𝔹
3. u : T
4. v : T List
5. ∀L2:T List
     (filter(P;v) = L2 ∈ (T List)
        
⇐⇒ (∀x:T. ((x ∈ L2) 
⇐⇒ (x ∈ v) ∧ (↑(P x)))) ∧ (∀x,y:T.  (x before y ∈ L2 
⇒ x before y ∈ v))) supposing 
        (no_repeats(T;L2) and 
        no_repeats(T;v))
6. ¬↑(P u)
⊢ ∀L2:T List
    (filter(P;v) = L2 ∈ (T List)
       
⇐⇒ (∀x:T. ((x ∈ L2) 
⇐⇒ (x ∈ [u / v]) ∧ (↑(P x))))
           ∧ (∀x,y:T.  (x before y ∈ L2 
⇒ x before y ∈ [u / v]))) supposing 
       (no_repeats(T;L2) and 
       no_repeats(T;[u / v]))
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)  =  L2
                \mLeftarrow{}{}\mRightarrow{}  (\mforall{}x:T.  ((x  \mmember{}  L2)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  v)  \mwedge{}  (\muparrow{}(P  x))))
                        \mwedge{}  (\mforall{}x,y:T.    (x  before  y  \mmember{}  L2  {}\mRightarrow{}  x  before  y  \mmember{}  v)))  supposing 
                (no\_repeats(T;L2)  and 
                no\_repeats(T;v))
\mvdash{}  \mforall{}L2:T  List
        (filter(P;[u  /  v])  =  L2
              \mLeftarrow{}{}\mRightarrow{}  (\mforall{}x:T.  ((x  \mmember{}  L2)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  [u  /  v])  \mwedge{}  (\muparrow{}(P  x))))
                      \mwedge{}  (\mforall{}x,y:T.    (x  before  y  \mmember{}  L2  {}\mRightarrow{}  x  before  y  \mmember{}  [u  /  v])))  supposing 
              (no\_repeats(T;L2)  and 
              no\_repeats(T;[u  /  v]))
By
Latex:
((Reduce  0  THEN  SplitOnConclITE)  THENA  Auto)\mcdot{}
Home
Index