invariant
end codesession 3 apr
euclidian approximation
rational constructor