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 and linear_combination tactics.

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

Prints an Ineq as the corresponding infix symbol.

Equations

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.

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.