Step
*
3
2
1
2
1
of Lemma
islist-iff-length-has-value
.....wf..... 
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)
⊢ λ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 ⊥^\000Cj ⊥ t
  ∈ partial(ℕ)
BY
{ (MoveToConcl (-1)
   THEN (GenConcl ⌜j = n ∈ ℕ⌝⋅ THENA Auto)
   THEN All Thin
   THEN UseWitness ⌜λt.Ax⌝⋅
   THEN WeakNatInd (-1)) }
1
.....basecase..... 
1. T : Type
2. n : ℤ
⊢ λt.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 ⊥^0 
             ⊥ 
             t ∈ partial(ℕ))
2
.....upcase..... 
1. T : Type
2. n : ℤ
3. 0 < n
4. λt.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 ⊥^n - 1 
              ⊥ 
              t ∈ partial(ℕ))
⊢ λt.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 ⊥^n 
             ⊥ 
             t ∈ partial(ℕ))
Latex:
Latex:
.....wf..... 
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)
\mvdash{}  \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  th\000Cen  0  otherwise  \mbot{}\^{}j 
    \mbot{} 
    t  \mmember{}  partial(\mBbbN{})
By
Latex:
(MoveToConcl  (-1)
  THEN  (GenConcl  \mkleeneopen{}j  =  n\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  All  Thin
  THEN  UseWitness  \mkleeneopen{}\mlambda{}t.Ax\mkleeneclose{}\mcdot{}
  THEN  WeakNatInd  (-1))
Home
Index