Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I noticed that Mathematica has a set of special 'Formal' characters such as \[FormalA], \[FormalB] , etc.. In the front end, it looks like a character with a dot above and below:

formal characters

It is not clear from the built-in documentation how these characters are to be used.

Would someone demonstrate?

share|improve this question
3  
Formal symbols are Protected, so they can't be assigned values (by default). So you can use it as a way of ensuring that your definitions don't have stray values. It has been used several times on this site (see some of the posts here for examples), although I don't think a question has been asked explicitly about it. – R. M. Feb 5 '13 at 20:50
1  
Version 10 now has formal Greek letters, too. – J. M. Nov 19 '15 at 11:08
    
@R.M. Not all formal symbols are protected: \[FormalDelta] is but \[FormalPhi] is not Protected. According to TechSupport, this is by design, as some formal symbols are used internally, some are not. This is aggrevating, as one cannot rely on that a formal symbol has no global value set by the user. – István Zachar Dec 2 '15 at 10:25
    
@R.M. Out of curiosity, would you know in which version of Mathematica \[Formal] characters were introduced? – QuantumDot Dec 26 '15 at 20:47
up vote 17 down vote accepted

Very often, especially new Mathematica users stumble over the following error: They gave, maybe hours ago, a symbol a value like x=3, and later they try to use it where a function really expects a symbol:

Mathematica graphics

This leads of course to an error, because the Minimize call does not see the x, but only its value. The same happens when you try to derive this with D or Dt or Integrate expressions. Although the error message is very clear, most people get very confused and try to change their whole calculation.

Exactly for those situations, the formal parameter characters are made. They all share the attribute Protected which states that you cannot simply assign a value to them. Therefore, you can use them in situations where you maybe derive expressions or proof formulas or where you minimize an expression

Mathematica graphics

share|improve this answer
1  
This is a nice issue for the beginner's pitfalls question too – Dr. belisarius Feb 6 '13 at 2:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.