One way to use AutoMathic is by doing free-form calculations. Free-form calculations use AutoMathic's Converse mode to translate English-like, conversational input into variables, expressions, and equations to be solved. You tell it what you know, and ask it what you want to find out! It accepts a wide range of expression, letting the user state problems almost naturally, using a restricted subset of the English language. Using an extensive knowledgebase, it automatically pulls in whatever background knowledge is needed at the time.
With AutoMathic's built-in knowledge, some problems require less
specification than others, so the user can definitely benefit by
being familiar with what AutoMathic already knows. When
posing questions, it is best to treat AutoMathic as a smart (but
not very intelligent) assistant that has a lot of mathematical
knowledge, but doesn't have much common-sense about the "real
world". For example, it understands "average speed",
"distance", and "time", but does not know about planes, trains,
and automobiles!
Converse Mode
You can switch to Converse mode at any time by tapping the "Converse" button at the top of the screen.
You can toggle between Converse mode and Command mode freely, but be aware that Converse-mode input and Command-mode input are quite different and usually not compatible!
User Interface
When in Converse mode, the "Converse" button is highlighted, and the Input line's prompt is "Converse here..." instead of "Command here...".
Some universal commands that are applicable to Converse mode as well as Command mode are always available:
Element | Description |
List button | Show the equations and defined variables |
Info button | Show unsolved equations and their unknowns |
Detail button | Set the level of equation-solving detail to show |
Output button | Select 1D or 2D styles for math output notation |
File... button | Access the File Operations menu |
When you first launch AutoMathic, you will see the main prompt:
So, what's your problem?
> _
At the prompt, you are free to respond in any number of ways. Whatever you input will be translated by AutoMathic and interpreted as belonging to one or more of the following categories:
A Request for Calculation could be as simple as "1+1" or as complicated as "Convert Mach 5 into units meters per second". In general, requests for calculation can be:
A Question is really just a Request for Calculation that is written to sound like a normal, English question, usually using a form of the verb "to be":
However, AutoMathic does NOT handle "yes or no" questions, so it cannot answer about the truth or falsity of a logical statement. (e.g. "Is the mass 5 unit kilograms?", "Is the width less than half of the length?")
Most statements of fact will come from using a verb phrase based on "to be" such as "is", "are", "was", "would usually have been", etc. Factual statements become complete equations:
AutoMathic also handles many types of complex sentences that combine requests, questions, or statements of fact:
Kernel commands are any of the commands accepted by AutoMathic's "Command Mode". From "Converse Mode", kernel commands may be entered when the first character of your input is the "kernel escape" character, usually "!".
During the translation, AutoMathic will do whatever is necessary to convert your input into a mathematical form. It may break your input into multiple, independent pieces, or even introduce its own variables to solve for.
If AutoMathic does not think it understood what was entered, it will simply say, "I didn't understand" followed by the input in question. You should read this as an opportunity to paraphrase the confusing input, and let it try again.
After it has finished translating, and possibly providing some immediate answers, AutoMathic will prompt for additional input:
Anything else?
> _
At this point, you can further define the current problem, ask additional or follow-up questions, or answer "no" when you have nothing else to add. If you answer "no" and there are any unanswered questions, AutoMathic may search its library of mathematical knowledge to find any information that would be useful in getting answers.
If there are still unanswered questions, AutoMathic may try to solve the problem indirectly by resorting to more drastic measures such as the following:
If, after all that, there are still unanswered questions, AutoMathic may ask for more information one last time before finally giving up and listing the things it could not find.
To make this process more concrete, here is a transcript of a complete session that demonstrates many of the situations described above:
So, what's your problem?
> What percentage of a cost are its taxes?
Let 'P' stand for "PERCENTAGE"
(Find P)
Let 'C' stand for "COST"
Let 'T' stand for "TAXES"
So...
C P
--- = T
100
Anything else?
> No.
I know that COST IS PRICE PLUS TAX
I know that TAXES ARE 8.25% OF THE PRICE
Let 'p' stand for "PRICE"
So...
C = T + p
So...
8.25 p
T = ------
100
Hypothetically...
C = 1
* Automatic substitution of 'p' using T=8.25p/100...
Solving for p:
8.25 p
T = ------
100
8.25 p
------ = T
100
8.25
p ---- = T
100
8.25 p = 100 T
p (8.25) = 100 T
100 T
p = -----
8.25
Substituting (100T/8.25) for 'p' in C=T+p...
100 T
C = ----- + T
8.25
Substitution leaves C=100T/8.25+T
Eliminate 'p'? y/[n]: n
* 'p' not eliminated.
Solving for T:
100 T
C = ----- + T
8.25
100 T
----- + T = C
8.25
/100 \
T ( ---- + 1 ) = C
\8.25 /
C
T = --------
100
1 + ----
8.25
T = 0.0762124711316397 (or 33 / 433)
100 T
p = -----
8.25
p = 0.92378752886836 (or 400 / 433)
Solving for P:
C P
--- = T
100
C
P --- = T
100
C P = 100 T
P C = 100 T
100 T
P = -----
C
P = 7.62124711316397
* No more automatic substitutions found.
7.62124711316397 is THE PERCENTAGE.
Anything else?
> If the cost were 24.99, how much less than the price would the taxes be?
C = 24.99
C = 24.99
Undefining 'P' ...
Undefining 'T' ...
Undefining 'p' ...
Solving for T:
100 T
C = ----- + T
8.25
100 T
----- + T = C
8.25
/100 \
T ( ---- + 1 ) = C
\8.25 /
C
T = --------
100
1 + ----
8.25
T = 1.90454965357968
100 T
p = -----
8.25
p = 23.0854503464203
Solving for P:
C P
--- = T
100
C
P --- = T
100
C P = 100 T
P C = 100 T
100 T
P = -----
C
P = 7.62124711316397
Let 'A' stand for "ANSWER"
(Find A)
So...
p - A = T
Solving for A:
p - A = T
- A = T - p
A (- 1) = T - p
A = p - T
A = 21.1809006928406
21.1809006928406 is THE ANSWER.
Anything else?
> !list
(Eq. 1)
C P
--- = T
100
(Eq. 2)
100 T
C = ----- + T
8.25
(Eq. 3)
100 T
p = -----
8.25
(Eq. 4)
p - A = T
Where 'P' stands for PERCENTAGE
Where 'C' stands for COST
Where 'T' stands for TAXES
Where 'p' stands for PRICE
Where 'A' stands for ANSWER
C = 24.99
T = 1.90454965357968
p = 23.0854503464203
P = 7.62124711316397
A = 21.1809006928406
Anything else?
> No.
Most software documentation can do its job by listing program features and describing the exact use of those features. There are several reasons why it is difficult to fully document the capabilities and limitations of AutoMathic's Converse mode:
This documentation only scratches the surface of the capabilities (and limitations) of this open-ended program. That said, the following areas attempt to cover as much as possible:
Fluency in those building-blocks will allow the user to combine language elements into longer passages that allow expressing complete problems and creating a dialogue:
The examples throughout this guide are suitable for input into AutoMathic. If the examples do not include output, feel free to enter them into AutoMathic to see how they are handled.
Finally, an extensive set of sample input is available that uses every word and idiom in AutoMathic's built-in vocabulary. These examples were chosen to demonstrate not only AutoMathic's vocabulary, but also a wide range of its grammar and default knowledge. By seeing examples of its language in an understandable context, the user should begin to learn AutoMathic's "dialect" of English in the same way they might learn a foreign language by being immersed in it.