Overview of Features
Although AutoMathic's default interface is the
natural-language-oriented "Converse Mode", the command-oriented
"Command Mode" provides a direct interface to the core features that
"Converse Mode" uses indirectly. See the "Manual
section for a complete discussion of "Command Mode" and the global
features it provides. The following additional features are
exclusive to "Converse Mode":
Behavior and Language Skills
- Accepts free-form input in a restricted subset of the English
- Automatically selects variables for nouns and noun phrases.
- Automatically matches singular and plural forms of words,
including alternate plural forms.
- Fuzzy-matches noun phrases to determine if two or more noun
phrases refer to the "same thing".
- The thresholds for automatic matches and non-matches are
customizable, and the user is asked whenever the match is inconclusive.
- When the optional "learning mode" is enabled, AutoMathic
records and recalls the user's interpretation of questionable matches.
the sometimes-special meaning of quantity words such as "number",
"amount", "fraction", "quantity", "part", "portion", "multiple", and
- Automatically generates appropriate variable
names for implicit "how much" (Amount), "how many" (Number), and
embedded "what" (Answer) questions.
- Allows use of any demonstrative pronoun (this, that, these,
those, them) for referring to the most recent noun or answer given.
- Handles algebraic math expressions using the symbols "+", "-",
"*", "x", "/", "=", "(", and ")".
- Handles units using a few language conventions.
all common forms and tenses of the verb "to be", alone or in
combination with the auxiliary verb forms of "have" and "do", and modal
auxiliary verbs such as "should", "would", "could", "must", etc.
- Rejects translations which are not interpreted as valid equations
- Lists any unanswered questions before completely giving up.
- Allows direct execution of arbitrary "Command Mode" commands.
- Annotates the output of the "list", "save", and "info" commands
with variable names and definitions.
- Alters feedback and messages based on the "detail" setting.
Vocabulary and Knowledgebase
- Recognizes simple numbers and fractions by name (e.g. one, dozen,
fifteen, ninety, five billion, three tenths, five sixteenths).
- Knows a few special constants by their common names (e.g. Pi, e,
Golden Ratio, C).
- Knows some common factors by name (e.g. half, double, triple,
standard abbreviations for many simple and compound units that have
unique and unambiguous abbreviations (e.g. cm, km, qt, oz, mph, rpm,
- Consults an extensive library of mathematical facts as needed,
and incrementally loads only the relevant information.
When AutoMathic cannot solve a problem by plugging-in the values of
known variables to find unknowns, it may try to find them using a few
indirect strategies. It will try to apply each of these
techniques, in the following order, to find solutions:
- Create a hypothetical situation by assigning a value to a
variable. AutoMathic uses heuristics to determine which
noun-phrases are safe for creating hypothetical situations. The
strictness of the heuristics can be relaxed through an optional setting
that allows a wider range of "safe" variables.
- For most problems that require indirect solutions, AutoMathic's
cautious heuristics can find a variable to which to give a hypothetical
value. A few problems require a less-cautious selection, so the
"b_assume_any" Kernel option lets AutoMathic give a hypothetical value
to any unknown variable that is alone in a denominator. These
variables are usually the object of a preposition, or a simple unit
following a quantity.
- Make opportunistic substitution(s) which simplify a system of
equations. Substitution rewrites one or more equations, replacing
a variable with an equivalent expression taken from another
equation. Substitution combines equations to reduce the number of
unknowns in specific equations.
- Give a value to a "free" variable, one not mentioned in any
question or request for calculation.
- Make any valid, but not necessarily simplifying, substitution.
If AutoMathic's attempts at these strategies do not find answers to
all of the questions, it will give up, but list any questions that were