Nuprl Definition : twosquareinv

This function defines an involution on the type
x:ℕ × y:ℕ × {z:ℕ((x x) (4 z)) p ∈ ℤwhere is prime.

It is used in 
"A One-Sentence Proof that Every Prime == (mod 4) Is Sum of Two Squares"
by D. Zaiger.

He says that it is simplification of an argument by Heath-Brown.⋅

twosquareinv(t) ==
  let x,y,z in 
  if x <then <z, z, x>
  if x <then <(y y) x, y, (x y) z>
  else <y, (x y) z, y>
  fi 



Definitions occuring in Statement :  ifthenelse: if then else fi  lt_int: i <j spreadn: spread3 pair: <a, b> subtract: m add: m
Definitions occuring in definition :  spreadn: spread3 ifthenelse: if then else fi  lt_int: i <j pair: <a, b> add: m subtract: m
FDL editor aliases :  twosquareinv

Latex:
twosquareinv(t)  ==
    let  x,y,z  =  t  in 
    if  x  <z  y  -  z  then  <x  +  z  +  z,  z,  y  -  z  -  x>
    if  x  <z  y  +  y  then  <(y  +  y)  -  x,  y,  (x  -  y)  +  z>
    else  <x  -  y  +  y,  (x  -  y)  +  z,  y>
    fi 



Date html generated: 2019_06_20-PM-02_40_56
Last ObjectModification: 2018_09_24-PM-02_52_40

Theory : num_thy_1


Home Index