lean-no-mathlib

Provide Lean 4 tactic replacements for environments without Mathlib.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides alternative Lean 4 tactics and names when Mathlib is unavailable, enabling development in Lean 4 core + Std environments.

Core Features & Use Cases

  • Tactic Replacements: Offers alternatives for common Mathlib tactics like ring, field_simp, norm_num, push_neg, by_contra, and rcases.
  • Name Replacements: Provides alternatives for Mathlib names such as le_refl and Nat.gt_of_not_le.
  • General Strategy: Recommends using omega, simp, grind, by_cases, exact, and decide for proofs.
  • Use Case: When encountering an error in Lean 4 indicating a missing Mathlib tactic, consult this Skill for the appropriate Std-based replacement.

Quick Start

Use the lean-no-mathlib skill to find a replacement for the ring tactic in Lean 4.

Frequently Asked Questions about lean-no-mathlib

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

FAQPage Schema
How do I replace the `ring` tactic in Lean 4 without Mathlib?

To replace the `ring` tactic in Lean 4 without Mathlib, use `grind` for general automation or `omega` for linear arithmetic goals in a core or Std environment.

What is the Std alternative to the `norm_num` tactic?

The Std alternative to the `norm_num` tactic is `decide`, which evaluates and closes numerical goals computationally in Lean 4 core and Std environments.

Can I use `push_neg` or `by_contra` in Lean 4 core environments?

You cannot use `push_neg` or `by_contra` in Lean 4 core environments, but you can use `by_cases` for case splitting and manual `simp` for negation handling.

How do I destructure goals without the `rcases` tactic in Lean 4?

To destructure goals without the `rcases` tactic in Lean 4, use the `obtain` tactic to extract hypotheses and split conjunctions in Std environments.

Why are my Lean 4 tactics clashing with constructor names?

Lean 4 tactics clash with constructor names when keywords overlap; resolve this by wrapping conflicting names in guillemets to force the parser to treat them as identifiers.

What should I use instead of `field_simp` for Lean 4 Std proofs?

Instead of `field_simp` for Lean 4 Std proofs, use manual `simp` calls with specific lemmas or apply `grind` to normalize and simplify algebraic expressions automatically.