Step
*
of Lemma
cons_succ
∀[T:Type]
  ∀l:T List
    ∀[P:T ⟶ ℙ]
      ∀a,x:T.
        (y = succ(x) in [a / l]
        
⇒ P[y]
        
⇒ ((P[hd(l)]) supposing (0 < ||l|| and (x = a ∈ T)) ∧ y = succ(x) in l
⇒ P[y] supposing ¬(x = a ∈ T)))
BY
{ (Unfold `l_succ` 0 THEN Auto) }
1
1. [T] : Type
2. l : T List
3. [P] : T ⟶ ℙ
4. a : T
5. x : T
6. ∀i:ℕ. (i + 1 < ||[a / l]|| 
⇒ ([a / l][i] = x ∈ T) 
⇒ P[[a / l][i + 1]])
7. x = a ∈ T
8. 0 < ||l||
⊢ P[hd(l)]
2
1. [T] : Type
2. l : T List
3. [P] : T ⟶ ℙ
4. a : T
5. x : T
6. ∀i:ℕ. (i + 1 < ||[a / l]|| 
⇒ ([a / l][i] = x ∈ T) 
⇒ P[[a / l][i + 1]])
7. (P[hd(l)]) supposing (0 < ||l|| and (x = a ∈ T))
8. ¬(x = a ∈ T)
9. i : ℕ
10. i + 1 < ||l||
11. l[i] = x ∈ T
⊢ P[l[i + 1]]
Latex:
Latex:
\mforall{}[T:Type]
    \mforall{}l:T  List
        \mforall{}[P:T  {}\mrightarrow{}  \mBbbP{}]
            \mforall{}a,x:T.
                (y  =  succ(x)  in  [a  /  l]
                {}\mRightarrow{}  P[y]
                {}\mRightarrow{}  ((P[hd(l)])  supposing  (0  <  ||l||  and  (x  =  a))  \mwedge{}  y  =  succ(x)  in  l{}\mRightarrow{}  P[y]  supposing  \mneg{}(x  =  a\000C)))
By
Latex:
(Unfold  `l\_succ`  0  THEN  Auto)
Home
Index