Documentation

Mathlib.Data.Ineq

Ineq datatype #

This file contains an enum Ineq (whose constructors are eq, le, lt), and operations involving it. The type Ineq is one of the fundamental objects manipulated by the linarith tactic (and, in future, also the linear_combination tactic).

Inequalities #

inductive Mathlib.Ineq :

The three-element type Ineq is used to represent the strength of a comparison between terms.

Instances For
    Equations

    max R1 R2 computes the strength of the sum of two inequalities. If t1 R1 0 and t2 R2 0, then t1 + t2 (max R1 R2) 0.

    Equations
    Instances For

      Prints an Ineq as the corresponding infix symbol.

      Equations
      Instances For

        Parsing inequalities #

        Given an expression e, parse it as a =, or <, and return this relation (as a Linarith.Ineq) together with the type in which the (in)equality occurs and the two sides of the (in)equality.

        This function is more naturally in the Option monad, but it is convenient to put in MetaM for compositionality.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Given an expression e, parse it as a =, or <, or the negation of such, and return this relation (as a Linarith.Ineq) together with the type in which the (in)equality occurs, the two sides of the (in)equality, and a boolean flag indicating the presence or absence of the ¬.

          This function is more naturally in the Option monad, but it is convenient to put in MetaM for compositionality.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For