Step
*
1
of Lemma
remove-first-no_repeats-member
.....assertion..... 
∀[T:Type]
  ∀P:T ⟶ 𝔹
    ((∀a,b:T.  ((↑(P a)) 
⇒ (↑(P b)) 
⇒ (a = b ∈ T)))
    
⇒ (∀L:T List. (no_repeats(T;L) 
⇒ (∀x:T. ((x ∈ remove-first(P;L)) 
⇐⇒ (x ∈ L) ∧ (↑¬b(P x)))))))
BY
{ TACTIC:(InductionOnList THEN Unfold `remove-first` 0 THEN Reduce 0 THEN Try (Fold `remove-first` 0)) }
1
1. [T] : Type
2. P : T ⟶ 𝔹@i
3. ∀a,b:T.  ((↑(P a)) 
⇒ (↑(P b)) 
⇒ (a = b ∈ T))
⊢ no_repeats(T;[]) 
⇒ (∀x:T. ((x ∈ []) 
⇐⇒ (x ∈ []) ∧ (↑¬b(P x))))
2
1. [T] : Type
2. P : T ⟶ 𝔹@i
3. ∀a,b:T.  ((↑(P a)) 
⇒ (↑(P b)) 
⇒ (a = b ∈ T))
4. u : T@i
5. v : T List@i
6. no_repeats(T;v) 
⇒ (∀x:T. ((x ∈ remove-first(P;v)) 
⇐⇒ (x ∈ v) ∧ (↑¬b(P x))))
⊢ no_repeats(T;[u / v]) 
⇒ (∀x:T. ((x ∈ if P u then v else [u / remove-first(P;v)] fi ) 
⇐⇒ (x ∈ [u / v]) ∧ (↑¬b(P x))))
Latex:
Latex:
.....assertion..... 
\mforall{}[T:Type]
    \mforall{}P:T  {}\mrightarrow{}  \mBbbB{}
        ((\mforall{}a,b:T.    ((\muparrow{}(P  a))  {}\mRightarrow{}  (\muparrow{}(P  b))  {}\mRightarrow{}  (a  =  b)))
        {}\mRightarrow{}  (\mforall{}L:T  List.  (no\_repeats(T;L)  {}\mRightarrow{}  (\mforall{}x:T.  ((x  \mmember{}  remove-first(P;L))  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  L)  \mwedge{}  (\muparrow{}\mneg{}\msubb{}(P  x)))))))
By
Latex:
TACTIC:(InductionOnList  THEN  Unfold  `remove-first`  0  THEN  Reduce  0  THEN  Try  (Fold  `remove-first`  0))
Home
Index