Skip to main content
Source Link
Michael E2
  • 244.7k
  • 18
  • 351
  • 774

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.

Post Made Community Wiki by Michael E2