Step * of Lemma NextNonZero_wf

[T:Type]. ∀[L:(T × ℤList].
  (NextNonZero(L) ∈ {L':(T × ℤList| 
                     ∃Z:(T × {z:ℤ0 ∈ ℤList
                      ((L (Z L') ∈ ((T × ℤList)) ∧ (0 < ||L'||  ((snd(hd(L'))) 0 ∈ ℤ))))} )
BY
(InductionOnList THEN Unfold `NextNonZero` THEN Reduce 0) }

1
1. Type
⊢ [] ∈ {L':(T × ℤList| 
        ∃Z:(T × {z:ℤ0 ∈ ℤList
         (([] (Z L') ∈ ((T × ℤList)) ∧ (0 < ||L'||  ((snd(hd(L'))) 0 ∈ ℤ))))} 

2
1. Type
2. T × ℤ
3. (T × ℤList
4. NextNonZero(v) ∈ {L':(T × ℤList| 
                     ∃Z:(T × {z:ℤ0 ∈ ℤList
                      ((v (Z L') ∈ ((T × ℤList)) ∧ (0 < ||L'||  ((snd(hd(L'))) 0 ∈ ℤ))))} 
⊢ if snd(u)=0 then NextNonZero(v) else [u v] ∈ {L':(T × ℤList| 
                                                  ∃Z:(T × {z:ℤ0 ∈ ℤList
                                                   (([u v] (Z L') ∈ ((T × ℤList))
                                                   ∧ (0 < ||L'||  ((snd(hd(L'))) 0 ∈ ℤ))))} 


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[L:(T  \mtimes{}  \mBbbZ{})  List].
    (NextNonZero(L)  \mmember{}  \{L':(T  \mtimes{}  \mBbbZ{})  List| 
                                          \mexists{}Z:(T  \mtimes{}  \{z:\mBbbZ{}|  z  =  0\}  )  List
                                            ((L  =  (Z  @  L'))  \mwedge{}  (0  <  ||L'||  {}\mRightarrow{}  (\mneg{}((snd(hd(L')))  =  0))))\}  )


By


Latex:
(InductionOnList  THEN  Unfold  `NextNonZero`  0  THEN  Reduce  0)




Home Index