First part of #5015, using emoji variant of unicode symbols for ✅️,❌️,💥️. --- (Partially) closes #5015
24 lines
922 B
Text
24 lines
922 B
Text
variable (n v₁ v₂) (hv₁: v₁ < n + 1) (hv₂: v₂ < n + 1)
|
||
|
||
theorem foo (_: ¬ Fin.mk v₂ hv₂ = Fin.mk v₁ hv₁ ): True := trivial
|
||
|
||
/--
|
||
info: [Meta.Tactic.simp.unify] eq_self:1000, failed to unify
|
||
?a = ?a
|
||
with
|
||
⟨v₂, hv₂⟩ = ⟨v₁, hv₁⟩
|
||
[Meta.Tactic.simp.rewrite] Fin.mk.injEq:1000, ⟨v₂, hv₂⟩ = ⟨v₁, hv₁⟩ ==> v₂ = v₁
|
||
[Meta.Tactic.simp.unify] eq_self:1000, failed to unify
|
||
?a = ?a
|
||
with
|
||
v₂ = v₁
|
||
[Meta.Tactic.simp.discharge] Nat.ne_of_gt discharge ✅️
|
||
v₁ < v₂
|
||
[Meta.Tactic.simp.rewrite] hv:1000, v₁ < v₂ ==> True
|
||
[Meta.Tactic.simp.rewrite] Nat.ne_of_gt:1000, v₂ = v₁ ==> False
|
||
-/
|
||
#guard_msgs in
|
||
set_option trace.Meta.Tactic.simp true in
|
||
example (hv: v₁ < v₂) : True := foo n v₁ v₂ ‹_› ‹_› (by simp (config := { decide := true }) only [hv, Fin.mk.injEq, Nat.ne_of_gt, Nat.lt_succ_iff])
|
||
|
||
#check Fin.mk.injEq
|