Step * 2 1 of Lemma howard-bar-rec-equal-spector


1. : ℤ
2. 0 < j
3. ∀n:ℕ. ∀s,ind,base,mon,M:Base.
     spector-bar-rec,n,s. case case if (n) < (case of inl() => inr() => 1)  then tt  else ff
                                  of inl() =>
                                  ff
                                  inr() =>
                                  tt
                            of inl() =>
                            case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
                            inr() =>
                            ind t.(spector-bar-rec (n 1) s.t@n))^j 
      ⊥ 
      
      s ≤ fix((λhoward-bar-rec,n,s. case s
                                    of inl(x) =>
                                    let k,p 
                                    in base (mon p)
                                    inr(x) =>
                                    ind t.(howard-bar-rec (n 1) s.t@n)))) 
          
          s)
4. : ℕ
5. Base
6. ind Base
7. base Base
8. mon Base
9. Base
10. (case case if (n) < (case of inl() => inr() => 1)  then tt  else ff of inl() => ff inr() => tt
 of inl() =>
 case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
 inr() =>
 ind 
 t.(λspector-bar-rec,n,s. case case if (n) < (case of inl() => inr() => 1)  then tt  else ff
                                  of inl() =>
                                  ff
                                  inr() =>
                                  tt
                            of inl() =>
                            case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
                            inr() =>
                            ind t.(spector-bar-rec (n 1) s.t@n))^j 
      ⊥ 
      (n 1) 
      s.t@n)))↓
⊢ case case if (n) < (case of inl() => inr() => 1)  then tt  else ff of inl() => ff inr() => tt
   of inl() =>
   case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
   inr() =>
   ind 
   t.(λspector-bar-rec,n,s. case case if (n) < (case of inl() => inr() => 1)  then tt  else ff
                                    of inl() =>
                                    ff
                                    inr() =>
                                    tt
                              of inl() =>
                              case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
                              inr() =>
                              ind t.(spector-bar-rec (n 1) s.t@n))^j 
        ⊥ 
        (n 1) 
        s.t@n)) ≤ case s
   of inl(x) =>
   let k,p 
   in base (mon p)
   inr(x) =>
   ind 
   t.(fix((λhoward-bar-rec,n,s. case s
                                  of inl(x) =>
                                  let k,p 
                                  in base (mon p)
                                  inr(x) =>
                                  ind t.(howard-bar-rec (n 1) s.t@n)))) 
        (n 1) 
        s.t@n))
BY
(HasValueD (-1)
   THEN (Assert ⌜(case if (n) < (case of inl() => inr() => 1)  then tt  else ff
                  of inl() =>
                  ff
                  inr() =>
                  tt)↓⌝⋅
         THENA Auto
         )
   THEN HasValueD (-1)
   THEN (Assert ⌜(if (n) < (case of inl() => inr() => 1)  then tt  else ff)↓⌝⋅ THENA Auto)
   THEN HasValueD (-1)
   THEN (Assert ⌜(case of inl() => inr() => 1)↓⌝⋅ THENA Auto)
   THEN HasValueD (-1)) }

1
1. : ℤ
2. 0 < j
3. ∀n:ℕ. ∀s,ind,base,mon,M:Base.
     spector-bar-rec,n,s. case case if (n) < (case of inl() => inr() => 1)  then tt  else ff
                                  of inl() =>
                                  ff
                                  inr() =>
                                  tt
                            of inl() =>
                            case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
                            inr() =>
                            ind t.(spector-bar-rec (n 1) s.t@n))^j 
      ⊥ 
      
      s ≤ fix((λhoward-bar-rec,n,s. case s
                                    of inl(x) =>
                                    let k,p 
                                    in base (mon p)
                                    inr(x) =>
                                    ind t.(howard-bar-rec (n 1) s.t@n)))) 
          
          s)
4. : ℕ
5. Base
6. ind Base
7. base Base
8. mon Base
9. Base
10. (case case if (n) < (case of inl() => inr() => 1)  then tt  else ff of inl() => ff inr() => tt
 of inl() =>
 case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
 inr() =>
 ind 
 t.(λspector-bar-rec,n,s. case case if (n) < (case of inl() => inr() => 1)  then tt  else ff
                                  of inl() =>
                                  ff
                                  inr() =>
                                  tt
                            of inl() =>
                            case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
                            inr() =>
                            ind t.(spector-bar-rec (n 1) s.t@n))^j 
      ⊥ 
      (n 1) 
      s.t@n)))↓
11. case if (n) < (case of inl() => inr() => 1)  then tt  else ff of inl() => ff inr() => tt ∈ Top Top
12. (case if (n) < (case of inl() => inr() => 1)  then tt  else ff of inl() => ff inr() => tt)↓
13. if (n) < (case of inl() => inr() => 1)  then tt  else ff ∈ Top Top
14. (if (n) < (case of inl() => inr() => 1)  then tt  else ff)↓
15. n ∈ ℤ
16. case of inl() => inr() => 1 ∈ ℤ
17. (case of inl() => inr() => 1)↓
18. s ∈ Top Top
⊢ case case if (n) < (case of inl() => inr() => 1)  then tt  else ff of inl() => ff inr() => tt
   of inl() =>
   case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
   inr() =>
   ind 
   t.(λspector-bar-rec,n,s. case case if (n) < (case of inl() => inr() => 1)  then tt  else ff
                                    of inl() =>
                                    ff
                                    inr() =>
                                    tt
                              of inl() =>
                              case of inl(x) => let k,p in base (mon p) inr(x) => ⊥
                              inr() =>
                              ind t.(spector-bar-rec (n 1) s.t@n))^j 
        ⊥ 
        (n 1) 
        s.t@n)) ≤ case s
   of inl(x) =>
   let k,p 
   in base (mon p)
   inr(x) =>
   ind 
   t.(fix((λhoward-bar-rec,n,s. case s
                                  of inl(x) =>
                                  let k,p 
                                  in base (mon p)
                                  inr(x) =>
                                  ind t.(howard-bar-rec (n 1) s.t@n)))) 
        (n 1) 
        s.t@n))


Latex:


Latex:

1.  j  :  \mBbbZ{}
2.  0  <  j
3.  \mforall{}n:\mBbbN{}.  \mforall{}s,ind,base,mon,M:Base.
          (\mlambda{}spector-bar-rec,n,s.  case  case  if  (n)  <  (case  M  n  s  of  inl()  =>  0  |  inr()  =>  n  +  1)
                                                                                  then  tt
                                                                                  else  ff
                                                                    of  inl()  =>
                                                                    ff
                                                                    |  inr()  =>
                                                                    tt
                                                        of  inl()  =>
                                                        case  M  n  s
                                                          of  inl(x)  =>
                                                          let  k,p  =  x 
                                                          in  base  n  s  (mon  n  k  s  p)
                                                          |  inr(x)  =>
                                                          \mbot{}
                                                        |  inr()  =>
                                                        ind  n  s  (\mlambda{}t.(spector-bar-rec  (n  +  1)  s.t@n))\^{}j  -  1 
            \mbot{} 
            n 
            s  \mleq{}  fix((\mlambda{}howard-bar-rec,n,s.  case  M  n  s
                                                                        of  inl(x)  =>
                                                                        let  k,p  =  x 
                                                                        in  base  n  s  (mon  n  k  s  p)
                                                                        |  inr(x)  =>
                                                                        ind  n  s  (\mlambda{}t.(howard-bar-rec  (n  +  1)  s.t@n)))) 
                    n 
                    s)
4.  n  :  \mBbbN{}
5.  s  :  Base
6.  ind  :  Base
7.  base  :  Base
8.  mon  :  Base
9.  M  :  Base
10.  (case  case  if  (n)  <  (case  M  n  s  of  inl()  =>  0  |  inr()  =>  n  +  1)    then  tt    else  ff
                      of  inl()  =>
                      ff
                      |  inr()  =>
                      tt
  of  inl()  =>
  case  M  n  s  of  inl(x)  =>  let  k,p  =  x  in  base  n  s  (mon  n  k  s  p)  |  inr(x)  =>  \mbot{}
  |  inr()  =>
  ind  n  s 
  (\mlambda{}t.(\mlambda{}spector-bar-rec,n,s.  case  case  if  (n)  <  (case  M  n  s  of  inl()  =>  0  |  inr()  =>  n  +  1)
                                                                                  then  tt
                                                                                  else  ff
                                                                    of  inl()  =>
                                                                    ff
                                                                    |  inr()  =>
                                                                    tt
                                                        of  inl()  =>
                                                        case  M  n  s
                                                          of  inl(x)  =>
                                                          let  k,p  =  x 
                                                          in  base  n  s  (mon  n  k  s  p)
                                                          |  inr(x)  =>
                                                          \mbot{}
                                                        |  inr()  =>
                                                        ind  n  s  (\mlambda{}t.(spector-bar-rec  (n  +  1)  s.t@n))\^{}j  -  1 
            \mbot{} 
            (n  +  1) 
            s.t@n)))\mdownarrow{}
\mvdash{}  case  case  if  (n)  <  (case  M  n  s  of  inl()  =>  0  |  inr()  =>  n  +  1)    then  tt    else  ff
                of  inl()  =>
                ff
                |  inr()  =>
                tt
      of  inl()  =>
      case  M  n  s  of  inl(x)  =>  let  k,p  =  x  in  base  n  s  (mon  n  k  s  p)  |  inr(x)  =>  \mbot{}
      |  inr()  =>
      ind  n  s 
      (\mlambda{}t.(\mlambda{}spector-bar-rec,n,s.  case  case  if  (n)  <  (case  M  n  s  of  inl()  =>  0  |  inr()  =>  n  +  1)
                                                                                      then  tt
                                                                                      else  ff
                                                                        of  inl()  =>
                                                                        ff
                                                                        |  inr()  =>
                                                                        tt
                                                            of  inl()  =>
                                                            case  M  n  s
                                                              of  inl(x)  =>
                                                              let  k,p  =  x 
                                                              in  base  n  s  (mon  n  k  s  p)
                                                              |  inr(x)  =>
                                                              \mbot{}
                                                            |  inr()  =>
                                                            ind  n  s  (\mlambda{}t.(spector-bar-rec  (n  +  1)  s.t@n))\^{}j  -  1 
                \mbot{} 
                (n  +  1) 
                s.t@n))  \mleq{}  case  M  n  s
      of  inl(x)  =>
      let  k,p  =  x 
      in  base  n  s  (mon  n  k  s  p)
      |  inr(x)  =>
      ind  n  s 
      (\mlambda{}t.(fix((\mlambda{}howard-bar-rec,n,s.  case  M  n  s
                                                                    of  inl(x)  =>
                                                                    let  k,p  =  x 
                                                                    in  base  n  s  (mon  n  k  s  p)
                                                                    |  inr(x)  =>
                                                                    ind  n  s  (\mlambda{}t.(howard-bar-rec  (n  +  1)  s.t@n)))) 
                (n  +  1) 
                s.t@n))


By


Latex:
(HasValueD  (-1)
  THEN  (Assert  \mkleeneopen{}(case  if  (n)  <  (case  M  n  s  of  inl()  =>  0  |  inr()  =>  n  +  1)    then  tt    else  ff
                                of  inl()  =>
                                ff
                                |  inr()  =>
                                tt)\mdownarrow{}\mkleeneclose{}\mcdot{}
              THENA  Auto
              )
  THEN  HasValueD  (-1)
  THEN  (Assert  \mkleeneopen{}(if  (n)  <  (case  M  n  s  of  inl()  =>  0  |  inr()  =>  n  +  1)    then  tt    else  ff)\mdownarrow{}\mkleeneclose{}\mcdot{}
              THENA  Auto
              )
  THEN  HasValueD  (-1)
  THEN  (Assert  \mkleeneopen{}(case  M  n  s  of  inl()  =>  0  |  inr()  =>  n  +  1)\mdownarrow{}\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  HasValueD  (-1))




Home Index