Step * 2 of Lemma length-is-colength


1. : ℤ
2. 0 < j
3. ∀t:Base
     colength,L. if Ax then otherwise let a,b in (colength b)^j 1 ⊥ t ≤ fix((λlist_ind,L. eval i\000Cn
                                                                                                 if is pair
                                                                                                 then let a,b 
                                                                                                      in (list_ind b)
                                                                                                         1
                                                                                                 otherwise if Ax
                                                                                                           then 0
                                                                                                           otherwise ⊥))\000C 
                                                                               t)
4. Base
⊢ x.((λcolength,L. if Ax then otherwise let a,b in (colength b)) 
       colength,L. if Ax then otherwise let a,b in (colength b)^j x))) 
  ⊥ 
  t ≤ fix((λlist_ind,L. eval in
                        if is pair then let a,b 
                                            in (list_ind b) otherwise if Ax then otherwise ⊥)) 
      t
BY
(Reduce 0⋅
   THEN SqReasoning
   THEN TACTIC:(RW (AddrC [2] (UnrollRecursionC)) 0
                THEN Reduce 0
                THEN (CallByValueReduce THENA Auto)
                THEN HVimplies2 [1]
                THEN (HasValueD (-3) ORELSE (ExceptionCases (-3) THEN Try (SameException)))
                THEN (GenConclTerm ⌜t⌝⋅ THENA Auto)
                THEN -2
                THEN Reduce 0
                THEN SqLeTopToBase
                THEN (RW (AddrC [2] (RevLemmaC `add-commutes`)) THENA Auto)
                THEN SqLeCD
                THEN Try (BackThruSomeHyp)
                THEN Auto)) }


Latex:


Latex:

1.  j  :  \mBbbZ{}
2.  0  <  j
3.  \mforall{}t:Base
          (\mlambda{}colength,L.  if  L  =  Ax  then  0  otherwise  let  a,b  =  L  in  1  +  (colength  b)\^{}j  -  1  \mbot{}  t 
            \mleq{}  fix((\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{})) 
                t)
4.  t  :  Base
\mvdash{}  (\mlambda{}x.((\mlambda{}colength,L.  if  L  =  Ax  then  0  otherwise  let  a,b  =  L  in  1  +  (colength  b)) 
              (\mlambda{}colength,L.  if  L  =  Ax  then  0  otherwise  let  a,b  =  L  in  1  +  (colength  b)\^{}j  -  1  x))) 
    \mbot{} 
    t  \mleq{}  fix((\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  \000Cv  =  Ax  then  0  otherwise  \mbot{})) 
            t


By


Latex:
(Reduce  0\mcdot{}
  THEN  SqReasoning
  THEN  TACTIC:(RW  (AddrC  [2]  (UnrollRecursionC))  0
                            THEN  Reduce  0
                            THEN  (CallByValueReduce  0  THENA  Auto)
                            THEN  HVimplies2  0  [1]
                            THEN  (HasValueD  (-3)  ORELSE  (ExceptionCases  (-3)  THEN  Try  (SameException)))
                            THEN  (GenConclTerm  \mkleeneopen{}t\mkleeneclose{}\mcdot{}  THENA  Auto)
                            THEN  D  -2
                            THEN  Reduce  0
                            THEN  SqLeTopToBase
                            THEN  (RW  (AddrC  [2]  (RevLemmaC  `add-commutes`))  0  THENA  Auto)
                            THEN  SqLeCD
                            THEN  Try  (BackThruSomeHyp)
                            THEN  Auto))




Home Index