clear
Lean で複雑な証明を書いていると、ローカルコンテキストに今まで導入した定義や示した補題が溜まってきて見づらくなることがあります。そうしたとき、clear
タクティクを使うと指定した項を削除したり、指定した項以外を削除したりといったことができます。
import Mathlib.Tactic.ClearExcept -- `clear` タクティクで「~以外」を指定できるようにする
-- 未使用の変数に対する警告をオフにする
set_option linter.unusedVariables false
variable (P Q R : Prop)
example (hP : P) (hQ : Q) (hR : R) : R := by
-- `hP` と `hR` 以外をローカルコンテキストから削除する
clear * - hR hP
-- `hP` も削除する
clear hP
exact hR
ローカルコンテキストが複雑で見づらいときに、clear
で関係があるもの以外を削除して見やすくするといった使い方ができます。