Step * of Lemma equipollent-nat-rationals-ext

ℕ ~ ℚ
BY
Extract of Obid: equipollent-nat-rationals
  not unfolding  mu qrep enumerate coded-pair is-qrep primrec
  finishing with (Auto THEN Fold `bottom` THEN Auto)
  normalizes to:
  
  <λx.let a,b coded-pair(primrec(x;mu(λn.if is-qrep(let a,b coded-pair(n) 
                                                      in <let q,r divrem(b; 2) 
                                                          in if r=0 then else (-(q 1))
                                                         1
                                                         >)
                                           then inl Ax
                                           else inr Ax 
                                           fi );λi,r. eval r' in
                                                      r'
                                                      mu(λk.if is-qrep(let a,b coded-pair(r' k) 
                                                                         in <let q,r divrem(b; 2) 
                                                                             in if r=0 then else (-(q 1))
                                                                            1
                                                                            >)
                                                              then inl Ax
                                                              else inr Ax 
                                                              fi ))) 
      in <let q,r divrem(b; 2) in if r=0 then else (-(q 1)), 1>
  , λa1,a2,%. Ax
  , λb.let x,y qrep(b) 
       in if is-qrep(let a,b coded-pair(let q,y1 divrem(((y 1)
                                                            if (x) < (0)  then (2 ((-x) 1)) 1  else (2 x))
                                                            (((y 1)
                                                              if (x) < (0)  then (2 ((-x) 1)) 1  else (2 x))
                                                              1);
                                                            2) 
                                          in (y 1)) 
                     in <let q,r divrem(b; 2) in if r=0 then else (-(q 1)), 1>)
          then <primrec(let q,y1 divrem(((y 1) if (x) < (0)  then (2 ((-x) 1)) 1  else (2 x))
                                          (((y 1) if (x) < (0)  then (2 ((-x) 1)) 1  else (2 x)) 1);
                                          2) 
                        in (y 1);0;λn,m. if is-qrep(let a,b coded-pair(n) 
                                                          in <let q,r divrem(b; 2) 
                                                              in if r=0 then else (-(q 1))
                                                             1
                                                             >)
                                              then m
                                              else m
                                              fi )
               Ax
               >
          else let a@0,%10 = ⊥ 
               in <a@0, Ax>
          fi > }


Latex:


Latex:
\mBbbN{}  \msim{}  \mBbbQ{}


By


Latex:
Extract  of  Obid:  equipollent-nat-rationals
not  unfolding    mu  qrep  enumerate  coded-pair  is-qrep  primrec
finishing  with  (Auto  THEN  Fold  `bottom`  0  THEN  Auto)
normalizes  to:

<\mlambda{}x.let  a,b  =  coded-pair(primrec(x;mu(\mlambda{}n.if  is-qrep(let  a,b  =  coded-pair(n) 
                                                                                                        in  <let  q,r  =  divrem(b;  2) 
                                                                                                                in  if  r=0  then  q  else  (-(q  +  1))
                                                                                                              ,  a  +  1
                                                                                                              >)
                                                                                  then  inl  Ax
                                                                                  else  inr  Ax 
                                                                                  fi  );\mlambda{}i,r.  eval  r'  =  r  +  1  in
                                                                                                        r'
                                                                                                        +  mu(\mlambda{}k.if  is-qrep(let  a,b  =  coded-pair(r'  +  k) 
                                                                                                                                              in  <let  q,r  =  divrem(b;  2) 
                                                                                                                                                      in  if  r=0
                                                                                                                                                            then  q
                                                                                                                                                            else  (-(q  +  1))
                                                                                                                                                    ,  a  +  1
                                                                                                                                                    >)
                                                                                                                        then  inl  Ax
                                                                                                                        else  inr  Ax 
                                                                                                                        fi  ))) 
        in  <let  q,r  =  divrem(b;  2)  in  if  r=0  then  q  else  (-(q  +  1)),  a  +  1>
,  \mlambda{}a1,a2,\%.  Ax
,  \mlambda{}b.let  x,y  =  qrep(b) 
          in  if  is-qrep(let  a,b  =  coded-pair(let  q,y1  =  divrem(((y  -  1)
                                                                                                                    +  if  (x)  <  (0)
                                                                                                                              then  (2  *  ((-x)  -  1))  +  1
                                                                                                                              else  (2  *  x))
                                                                                                                    *  (((y  -  1)
                                                                                                                        +  if  (x)  <  (0)
                                                                                                                                  then  (2  *  ((-x)  -  1))  +  1
                                                                                                                                  else  (2  *  x))
                                                                                                                        +  1);
                                                                                                                    2) 
                                                                                in  q  +  (y  -  1)) 
                                      in  <let  q,r  =  divrem(b;  2)  in  if  r=0  then  q  else  (-(q  +  1)),  a  +  1>)
                then  <primrec(let  q,y1  =  divrem(((y  -  1)
                                                                                +  if  (x)  <  (0)    then  (2  *  ((-x)  -  1))  +  1    else  (2  *  x))
                                                                                *  (((y  -  1)
                                                                                    +  if  (x)  <  (0)    then  (2  *  ((-x)  -  1))  +  1    else  (2  *  x))
                                                                                    +  1);
                                                                                2) 
                                            in  q  +  (y  -  1);0;\mlambda{}n,m.  if  is-qrep(let  a,b  =  coded-pair(n) 
                                                                                                                in  <let  q,r  =  divrem(b;  2) 
                                                                                                                        in  if  r=0  then  q  else  (-(q  +  1))
                                                                                                                      ,  a  +  1
                                                                                                                      >)
                                                                                        then  1  +  m
                                                                                        else  0  +  m
                                                                                        fi  )
                          ,  Ax
                          >
                else  let  a@0,\%10  =  \mbot{} 
                          in  <a@0,  Ax>
                fi  >




Home Index