Documentation

Linglib.Tactics.NonnegOfForall

nonneg_of_forall tactic #

Closes 0 ≤ f a₁ + f a₂ + ⋯ + f aₙ given ∀ x, 0 ≤ f x in context.

Decomposes sums via add_nonneg (and products via mul_nonneg), then closes leaf goals by applying forall-quantified non-negativity hypotheses from the local context.

Typical usage at QUD-based RSAConfig construction sites:

s1Score_nonneg := by
  intro l0 α q w u hl _; cases q <;> simp [qudProject] <;> nonneg_of_forall

Close 0 ≤ f a₁ + f a₂ + ⋯ + f aₙ given ∀ x, 0 ≤ f x in context.

Decomposes sums via add_nonneg (and products via mul_nonneg), then closes leaf goals by applying forall-quantified non-negativity hypotheses from the local context.

Equations
Instances For