Nuprl Definition : p-inv
p-inv(p;a) ==
λn.eval pn = p^n in
eval an = a n 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 r = y in
let g,t = rec r p
in let a,b,x1,y1,_,_,_@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
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 c else d
,
apply: f a
,
lambda: λx.A[x]
,
spread: spread def,
pair: <a, b>
,
remainder: n rem m
,
divrem: divrem(n; m)
,
multiply: n * m
,
subtract: n - m
,
add: n + 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 c else d
,
divrem: divrem(n; m)
,
spread: spread def,
subtract: n - m
,
pair: <a, b>
,
axiom: Ax
,
absval: |i|
,
apply: f a
,
spreadn: spread7,
callbyvalue: callbyvalue,
remainder: n rem m
,
multiply: n * m
,
less: if (a) < (b) then c else d
,
natural_number: $n
,
add: n + 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