lean-simp-tactics

Resolve Lean 4 `simp` tactic failures with boolean logic and type conversions.

112|9|Updated Feb 17, 2026
One-click install
npx skills add https://github.com/kim-em/lean-zip --skill lean-simp-tactics
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lean-simp-tactics
Source: https://github.com/kim-em/lean-zip/tree/main/.claude/skills/lean-simp-tactics
Command: npx skills add https://github.com/kim-em/lean-zip --skill lean-simp-tactics

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers overcome common frustrations and unexpected failures when using Lean 4's powerful simp tactic, particularly in complex scenarios involving boolean logic, type conversions, and hypothesis normalization.

Core Features & Use Cases

  • Troubleshoot simp failures: Provides specific patterns and fixes for when simp only fails unexpectedly.
  • Bool vs. Prop handling: Guides on converting and reasoning about boolean and propositional conditions within proofs.
  • Hypothesis normalization: Offers strategies for dealing with let bindings, linter warnings, and hypothesis mismatches that impede simp.
  • Use Case: When your Lean 4 proof gets stuck because simp isn't reducing a complex boolean condition or a type conversion, consult this Skill for targeted solutions.

Quick Start

Use the lean-simp-tactics skill to understand how to resolve if (false = true) then X else Y conditions in Lean 4 proofs.

Frequently Asked Questions about lean-simp-tactics

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does the Lean 4 simp tactic fail to reduce complex boolean conditions in my proofs?

The `simp` tactic in Lean 4 often fails on boolean conditions due to mismatches between `Bool` and `Prop` types or unhandled `dite`/`if` reductions. You can resolve this by applying targeted patterns for type conversions and hypothesis normalization.

How do I fix simp only failures with List.filter and lambdas in Lean 4?

To fix `simp only` failures with `List.filter` and lambdas in Lean 4, replace bare `simp` with `simp only` using specific lemmas. This prevents the tactic from applying unwanted rewrite rules and resolves unexpected reduction mismatches.

What is the best way to normalize let bindings to omega in Lean 4 theorem proving?

Normalizing `let` bindings for `omega` in Lean 4 theorem proving requires addressing the opacity of `let` bindings to the tactic. By using specific hypothesis normalization strategies, you can expose the necessary terms for `omega` to evaluate correctly.

How do I convert Bool vs Prop conditions when using simp in Lean 4 proofs?

Converting `Bool` vs `Prop` conditions when using `simp` in Lean 4 proofs involves applying specific patterns to bridge the boolean and propositional logic. This ensures `simp` can correctly evaluate conditions like `if (false = true) then X else Y`.

When should I avoid using bare simp for hypothesis matching in Lean 4?

You should avoid using bare `simp` for hypothesis matching in Lean 4 when linter warnings or hypothesis mismatches occur. Replacing bare `simp` with `simp only` restricts the rewrite rules applied, preventing unexpected proof failures.

Can I use the simp tactic to resolve dite and if reduction mismatches in Lean 4?

Yes, you can use the `simp` tactic to resolve `dite` and `if` reduction mismatches in Lean 4 by applying targeted solutions. These patterns address specific structural mismatches that prevent the tactic from simplifying conditional expressions.