lean4-htt/tests/lean/run/decide_cbv_errors.lean
Wojciech Różowski 833434cd56
feat: add warning for cbv and decide_cbv tactics (#12601)
This PR adds a warning when using `cbv` or `decide_cbv` in tactic mode,
matching the existing warning in conv mode
(`src/Lean/Elab/Tactic/Conv/Cbv.lean`). The warning informs users that
these tactics are experimental and still under development. It can be
disabled with `set_option cbv.warning false`.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 22:47:01 +00:00

24 lines
710 B
Text

set_option cbv.warning false
-- Success: proposition reduces to `Bool.true`
example : 1 + 1 = 2 := by decide_cbv
example : 1 ∈ [1, 2, 3] := by decide_cbv
/-- error: `decide_cbv` failed: the proposition evaluates to `false` -/
#guard_msgs (error) in
example : 1 + 1 = 3 := by decide_cbv
opaque myOpaqueBool : Bool
/--
error: `decide_cbv` failed: could not reduce the expression to a boolean value; got stuck at: ⏎
Decidable.rec (fun h => false) (fun h => true)
(match myOpaqueBool, true with
| false, false => isTrue ⋯
| false, true => isFalse ⋯
| true, false => isFalse ⋯
| true, true => isTrue ⋯)
-/
#guard_msgs (error) in
example : myOpaqueBool = true := by decide_cbv