Step
*
3
2
of Lemma
islist-iff-length-has-value
.....upcase..... 
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))↓)
⊢ λ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 
             ⊥ 
             t)↓
           
⇒ (is-list(t))↓)
BY
{ ((Assert ∀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))↓) BY
          (UseWitness ⌜λt,x. Ax⌝⋅ THEN Trivial))
   THEN MemCD
   ) }
1
.....subterm..... T:t
1:n
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)
⊢ λx.Ax ∈ (λ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))↓
2
.....eq aux..... 
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))↓)
⊢ istype(colist(T))
Latex:
Latex:
.....upcase..... 
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{})
\mvdash{}  \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 
                          \mbot{} 
                          t)\mdownarrow{}
                      {}\mRightarrow{}  (is-list(t))\mdownarrow{})
By
Latex:
((Assert  \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{})  BY
                (UseWitness  \mkleeneopen{}\mlambda{}t,x.  Ax\mkleeneclose{}\mcdot{}  THEN  Trivial))
  THEN  MemCD
  )
Home
Index