This PR adds a trace event emitted whenever a `dsimp` (or rfl-only `simp`) rewrite fires because of a `[backward_defeq]`-tagged theorem (i.e., one that would not have applied without `set_option backward.defeqAttrib.useBackward true`). Useful for finding where downstream code is silently relying on the backwards escape hatch — a precursor to either re-tagging the lemma as `[defeq]` or restructuring the proof so it works under the strict defeq rules.
39 lines
1.7 KiB
Text
39 lines
1.7 KiB
Text
/-
|
|
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
Authors: Leonardo de Moura
|
|
-/
|
|
module
|
|
|
|
prelude
|
|
public import Lean.Meta.Tactic.Simp.SimpTheorems
|
|
public import Lean.Meta.Tactic.Simp.SimpCongrTheorems
|
|
public import Lean.Meta.Tactic.Simp.Types
|
|
public import Lean.Meta.Tactic.Simp.Main
|
|
public import Lean.Meta.Tactic.Simp.Rewrite
|
|
public import Lean.Meta.Tactic.Simp.SimpAll
|
|
public import Lean.Meta.Tactic.Simp.Simproc
|
|
public import Lean.Meta.Tactic.Simp.BuiltinSimprocs
|
|
public import Lean.Meta.Tactic.Simp.RegisterCommand
|
|
public import Lean.Meta.Tactic.Simp.Attr
|
|
public import Lean.Meta.Tactic.Simp.Diagnostics
|
|
public import Lean.Meta.Tactic.Simp.Arith
|
|
|
|
public section
|
|
|
|
namespace Lean
|
|
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp.congr (inherited := true)
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp.discharge (inherited := true)
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp.rewrite (inherited := true)
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp.backwardDefEq (inherited := true)
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp.unify (inherited := true)
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp.ground (inherited := true)
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp.loopProtection (inherited := true)
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp.numSteps
|
|
builtin_initialize registerTraceClass `Meta.Tactic.simp.heads
|
|
builtin_initialize registerTraceClass `Debug.Meta.Tactic.simp
|
|
builtin_initialize registerTraceClass `Debug.Meta.Tactic.simp.congr (inherited := true)
|
|
|
|
end Lean
|