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` THEN Reduce THEN Try (Fold `remove-first` 0)) }

1
1. [T] Type
2. 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. T ⟶ 𝔹@i
3. ∀a,b:T.  ((↑(P a))  (↑(P b))  (a b ∈ T))
4. T@i
5. 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 then 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