Skip to content

Increasing range of terms parsable into MathExpr #289

@sundararajan-s

Description

@sundararajan-s

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 a MatchException at provingground.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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions