Another proof: Let study the sequence sn = 0.9999...9 , with n 9s.
Or s0= 0 and s(n+1) = sn + 9 / 10 ^n lim sn = 0.99999....... and lim sn = 1. so .... If I remember my meth correctly, the number 0.9999...... does not exist. This not a legal decimal sequence. (Any decimal sequence finishing by 9999...... is forbidden to allow a one to one mapping between real numbers and decimal sequence.) This kind of infinity is one of the reason equality is not devidable on real numbers. You can manipulate square root directly. For example by defining numbers as a map from ratio to ratio.sqr sqrt(5) is represented by {5 1} sqrt(5) + 3. sqrt(2) by {5 1 , 2 3} 15 + sqrt(3) ----> {1 15, 3 1} adding is just a reduce of one map into the other. neg is a map. multiplying is more complex. For each two pairs in the map [a b] [c d], you check wether (ac) can be written as sqr(e).f (For example 2 * 6 can be written as sqr(2)*3) If it is the case, you return [f (* e b d)] else you return [(* a c) (* b d)] Dividing is more difficult. I don't know if it is the most efficien way to do that, but it is the easiest to code. Best, Nicolas. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en