I am interested in programmatically working with constructible numbers (the closure of the rational numbers under square roots). In order to perform comparisons between numbers I believe I would need a unique (symbolic) representation for them. Does such a thing exist, or what are relevant references for this kind of thing?

A representation of construcible numbers together with algorithms suitable for mechanized computations is given in chapter 4 of these lecture notes on computer science 


I believe that there is no nice way to compare constructible numbers. The sum of square roots problem is notoriously difficult, as an example of difficulties you might be facing. The link has relevant references I believe. 

