Rather long for a comment: I think the OP's goals are going to be hard to achieve. `GoldenRatio` is embedded in the system in ways I don't know. Here is some examples of the embedding that come from an internal [`Trace`](http://reference.wolfram.com/language/ref/Trace.html) of `FunctionExpand@GoldenRation`: GoldenRatio /. SimplifyDump`PositiveRules SimplifyDump`$FSTab /@ % (* {901} {GoldenRatio :> 1/2 (1 + Sqrt[5])} *) Some of the OP's goals can be handled programmatically. For instance: ClearAll[OneThird]; SetAttributes[OneThird, {Constant}]; N[OneThird, p_: MachinePrecision] := N[1/3, p]; OneThird // N[#, 22] & (* 0.3333333333333333333333 *) However, automatic conversion to its numerical value does not happen for `OneThird` as it does for `GoldenRatio`: 3. OneThird 3. GoldenRatio (* 3. OneThird 4.8541 *) Maybe someone else will know how to do it. An internal trace reveals nothing.