Step
*
3
2
1
1
1
of Lemma
islist-iff-length-has-value
1. T : Type
2. j : ℤ
3. 0 < j
4. λt,x. Ax ∈ ∀t:colist(T)
            ((λlist_ind,L. eval v = L in
                           if v is a pair then let a,b = v 
                                               in (list_ind b) + 1 otherwise if v = Ax then 0 otherwise ⊥^j - 1 
              ⊥ 
              t)↓
            
⇒ (is-list(t))↓)
5. ∀t:colist(T)
     ((λlist_ind,L. eval v = L in
                    if v is a pair then let a,b = v 
                                        in (list_ind b) + 1 otherwise if v = Ax then 0 otherwise ⊥^j - 1 
       ⊥ 
       t)↓
     
⇒ (is-list(t))↓)
6. t : colist(T)
7. x : (λlist_ind,L. eval v = L in
                     if v is a pair then let a,b = v 
                                         in (list_ind b) + 1 otherwise if v = Ax then 0 otherwise ⊥^j 
        ⊥ 
        t)↓
⊢ (is-list(t))↓
BY
{ (CoListD (-2) THEN RecUnfold `is-list` 0 THEN Reduce 0) }
1
1. T : Type
2. j : ℤ
3. 0 < j
4. λt,x. Ax ∈ ∀t:colist(T)
            ((λlist_ind,L. eval v = L in
                           if v is a pair then let a,b = v 
                                               in (list_ind b) + 1 otherwise if v = Ax then 0 otherwise ⊥^j - 1 
              ⊥ 
              t)↓
            
⇒ (is-list(t))↓)
5. ∀t:colist(T)
     ((λlist_ind,L. eval v = L in
                    if v is a pair then let a,b = v 
                                        in (list_ind b) + 1 otherwise if v = Ax then 0 otherwise ⊥^j - 1 
       ⊥ 
       t)↓
     
⇒ (is-list(t))↓)
6. t : 0 = 0 ∈ ℤ
7. x : (λlist_ind,L. eval v = L in
                     if v is a pair then let a,b = v 
                                         in (list_ind b) + 1 otherwise if v = Ax then 0 otherwise ⊥^j 
        ⊥ 
        Ax)↓
8. (↑isaxiom(Ax)) ∧ (Ax = Ax ∈ Unit)
⊢ 0 ≤ 0
2
1. T : Type
2. j : ℤ
3. 0 < j
4. λt,x. Ax ∈ ∀t:colist(T)
            ((λlist_ind,L. eval v = L in
                           if v is a pair then let a,b = v 
                                               in (list_ind b) + 1 otherwise if v = Ax then 0 otherwise ⊥^j - 1 
              ⊥ 
              t)↓
            
⇒ (is-list(t))↓)
5. ∀t:colist(T)
     ((λlist_ind,L. eval v = L in
                    if v is a pair then let a,b = v 
                                        in (list_ind b) + 1 otherwise if v = Ax then 0 otherwise ⊥^j - 1 
       ⊥ 
       t)↓
     
⇒ (is-list(t))↓)
6. t1 : T
7. t2 : colist(T)
8. x : (λlist_ind,L. eval v = L in
                     if v is a pair then let a,b = v 
                                         in (list_ind b) + 1 otherwise if v = Ax then 0 otherwise ⊥^j 
        ⊥ 
        <t1, t2>)↓
9. ↑ispair(<t1, t2>)
10. t@0 : T
11. y : colist(T)
12. <t1, t2> = <t@0, y> ∈ (T × colist(T))
⊢ (is-list(t2))↓
Latex:
Latex:
1.  T  :  Type
2.  j  :  \mBbbZ{}
3.  0  <  j
4.  \mlambda{}t,x.  Ax  \mmember{}  \mforall{}t:colist(T)
                        ((\mlambda{}list$_{ind}$,L.  eval  v  =  L  in
                                                    if  v  is  a  pair  then  let  a,b  =  v 
                                                                                            in  (list$_{ind}$  b)  +  1
                                                    otherwise  if  v  =  Ax  then  0  otherwise  \mbot{}\^{}j  -  1 
                            \mbot{} 
                            t)\mdownarrow{}
                        {}\mRightarrow{}  (is-list(t))\mdownarrow{})
5.  \mforall{}t:colist(T)
          ((\mlambda{}list$_{ind}$,L.  eval  v  =  L  in
                                      if  v  is  a  pair  then  let  a,b  =  v 
                                                                              in  (list$_{ind}$  b)  +  1  otherwise  if  v  =  \000CAx  then  0  otherwise  \mbot{}\^{}j  -  1 
              \mbot{} 
              t)\mdownarrow{}
          {}\mRightarrow{}  (is-list(t))\mdownarrow{})
6.  t  :  colist(T)
7.  x  :  (\mlambda{}list$_{ind}$,L.  eval  v  =  L  in
                                        if  v  is  a  pair  then  let  a,b  =  v 
                                                                                in  (list$_{ind}$  b)  +  1  otherwise  if  v  =\000C  Ax  then  0  otherwise  \mbot{}\^{}j 
                \mbot{} 
                t)\mdownarrow{}
\mvdash{}  (is-list(t))\mdownarrow{}
By
Latex:
(CoListD  (-2)  THEN  RecUnfold  `is-list`  0  THEN  Reduce  0)
Home
Index