Discharger for field_simp
tactic #
The field_simp
tactic (implemented downstream from this file) clears denominators in algebraic
expressions. In order to do this, the denominators need to be certified as nonzero. This file
contains the discharger which carries out these checks.
Currently the discharger tries four strategies:
assumption
positivity
norm_num
simp
with the same simp-context as thefield_simp
call which invoked it
TODO: Ideally the discharger would be just positivity
(which, despite the name, has robust
handling of general ≠ 0
goals, not just > 0
goals). We need the other strategies currently to
get (a cheap approximation of) positivity
on fields without a partial order.
The refactor of positivity
to avoid a partial order assumption would be large but not
fundamentally difficult.
Main declarations #
Mathlib.Tactic.FieldSimp.discharge
: the discharger, of typeExpr → SimpM (Option Expr)
field_simp_discharge
: tactic syntax for the discharger (most useful for testing/debugging)
Discharge strategy for the field_simp
tactic.
Discharge strategy for the field_simp
tactic.
Equations
- One or more equations did not get rendered due to their size.