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
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.