-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Description
The following is a list of issues which need to be fixed/improved on in the parser for MathExpr
- Issues relating to the verb of the clause being present in the TeX expression, i.e. a divides b being written as a|b etc.
These result in the entire tree being wrongly parsed. - Handling inferences like sentences starting with 'hence', 'thus', 'therefore', etc. This leads to only the part including the specific word to be unparsed, the rest of the tree parses correctly.
- Parsing 'There exists' and 'For all' statements. Both of these results in a part that is unparsed.
- Parsing statements which include lines such as 'consider the', i.e. sentences which construct some element. Here the main part is parsed, and the 'consider' part does not parse, similar to sub-issue 1.
- Handling sentences which reference the prover, such as those starting with "We can see that". Here most of the tree is unparsed, however this might be due to the fact that the sentence is not a logical assertion.
- A specific instance of verbs being inside the TeX expression usually in 'if' statements, but also sometimes in other places.
- Exceptions raised by using the words ‘each’, ‘those’, ‘these’ or ‘both’. This is simply fixed by adding the cases in the corresponding
unapply
function or by reformatting input sentences. These raise aMatchException
atprovingground.translation.MathExpr$Determiner$.apply
- Certain issues with adverbs, e.g.
is strictly smaller than
not parsing, but
is smaller than
parsing. This results in one part not parsing which leads to the entire tree not parsing. Upon further investigation, this seems to be a problem only with the word 'strictly' and 'also' not being parsed in the same manner as other adverbs.
- Add capability to handle conjunct and disjunct adjectives. Currently results in the adjective not being correctly parsed, the rest of the expression parses well.
- Add support for the specific types of sentences mentioned, i.e. simple declarative sentences, assumptions, assertions, variable type specifications and alternate notation specification. Alternatively this may be achieved through the implementation of blocks.
Metadata
Metadata
Assignees
Labels
No labels