Nuprl Definition : p-inv

p-inv(p;a) ==
  λn.eval pn p^n in
     eval an in
       let x,y letrec rec(p)=λq.if p=0
                                  then <q, 0, 1, 1, 1, Ax, Ax, Ax>
                                  else let x,y divrem(q; p) 
                                       in eval in
                                          let g,t rec 
                                          in let a,b,x1,y1,_,_,_@0 in 
                                              eval q' in
                                              eval b' (b q') in
                                              eval x' y1 x1 q' in
                                                <g, b, b', x', x1, Ax, Ax, Ax> in
                  rec(|a n|) 
                 pn 
       in let x1,x2,x3,x4,x5,x5,y in 
           eval x3 rem pn in
           if (r) < (0)  then pn r  else r



Definitions occuring in Statement :  exp: i^n genrec-ap: genrec-ap absval: |i| callbyvalue: callbyvalue spreadn: spread7 less: if (a) < (b)  then c  else d int_eq: if a=b then else d apply: a lambda: λx.A[x] spread: spread def pair: <a, b> remainder: rem m divrem: divrem(n; m) multiply: m subtract: m add: m natural_number: $n axiom: Ax
Definitions occuring in definition :  exp: i^n genrec-ap: genrec-ap lambda: λx.A[x] int_eq: if a=b then else d divrem: divrem(n; m) spread: spread def subtract: m pair: <a, b> axiom: Ax absval: |i| apply: a spreadn: spread7 callbyvalue: callbyvalue remainder: rem m multiply: m less: if (a) < (b)  then c  else d natural_number: $n add: m
FDL editor aliases :  p-inv

Latex:
p-inv(p;a)  ==
    \mlambda{}n.eval  pn  =  p\^{}n  in
          eval  an  =  a  n  in
              let  x,y  =  letrec  rec(p)=\mlambda{}q.if  p=0
                                                                    then  <q,  0,  1,  1,  1,  Ax,  Ax,  Ax>
                                                                    else  let  x,y  =  divrem(q;  p) 
                                                                              in  eval  r  =  y  in
                                                                                    let  g,t  =  rec  r  p 
                                                                                    in  let  a,b,x1,y1,$_{}$,$_{\000C}$,$_{@0}$  =  t  in 
                                                                                            eval  q'  =  x  in
                                                                                            eval  b'  =  (b  *  q')  +  a  in
                                                                                            eval  x'  =  y1  -  x1  *  q'  in
                                                                                                <g,  b,  b',  x',  x1,  Ax,  Ax,  Ax>  in
                                    rec(|a  n|) 
                                  pn 
              in  let  x1,x2,x3,x4,x5,x5,y  =  y  in 
                      eval  r  =  1  *  x3  rem  pn  in
                      if  (r)  <  (0)    then  pn  +  r    else  r



Date html generated: 2019_10_15-AM-10_34_52
Last ObjectModification: 2019_06_24-PM-00_54_55

Theory : rings_1


Home Index