lean4-htt/tests/lean/run/fin_coercions.lean
jrr6 62f14514da
refactor: update built-in tactic error messages (#9633)
This PR updates various error messages produced by or associated with
built-in tactics and adapts their formatting to current conventions.
2025-07-31 14:16:57 +00:00

30 lines
627 B
Text

set_option pp.mvars false
-- We first verify that there is no global coercion from `Nat` to `Fin n`.
-- Such a coercion would frequently introduce unexpected modular arithmetic.
/--
error: Type mismatch
n
has type
Nat
but is expected to have type
Fin 3
---
info: fun n => sorry : (n : Nat) → ?_ n
-/
#guard_msgs in #check fun (n : Nat) => (n : Fin 3)
-- This instance is available via `open Fin.NatCast in ...`
section
open Fin.NatCast
variable (m : Nat) (n : Fin 3)
/-- info: n < ↑m : Prop -/
#guard_msgs in #check n < m
end
example (x : Fin (n + 1)) (h : x < n) : Fin (n + 1) := x.succ.castLT (by simp [h])