Public names are stored as values in the name slot of the frame. True names are the pointers from one frame to another that actually represent the structure of the knowledge base.
Public names are for communication with other agents.
For ease of debugging and interaction, when a new frame has a simple public name, Algernon attempts to generate a true name that has the same or similar printed representation. Similarly, the user interface attempts to retrieve the desired frame, whether you type its true name or its public name.