arabelatso/skills-4-se/library-for-proof-advisor

Trust tier 2
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Recommend relevant Isabelle/HOL or Coq standard library theories, lemmas, and tactics based on proof goals. Use when: (1) Users need library lemmas for their proof, (2) Proof goals match standard library patterns, (3) Users ask what libraries to import, (4) Specific lemmas are needed for list/set/arithmetic operations, (5) Users are stuck and need to know what library support exists, or (6) Guidance on find_theorems/Search commands is needed. Supports both Isabelle/HOL and Coq standard libraries.

Install

npx vskill@latest install arabelatso/skills-4-se/library-for-proof-advisor

SKILL.md

Library Usage Advisor

Recommend relevant libraries, lemmas, and theories from Isabelle/HOL or Coq standard libraries based on proof goals.

Workflow

1. Analyze the Proof Goal

Examine the goal to identify:

  • Domain: Lists, sets, arithmetic, logic, etc.
  • Operations: Specific functions or operators involved
  • Pattern: Commutativity, associativity, distributivity, etc.
  • Complexity: Simple property vs. complex relationship
2. Determine Target System

Identify which proof assistant:

  • Isabelle/HOL: Use Main library and extensions
  • Coq: Use standard library (List, Arith, etc.)
  • Both: Provide recommendations for both systems
3. Identify Relevant Libraries

Based on the domain, recommend appropriate libraries:

For list operations:

  • Isabelle: Main (List theory included)
  • Coq: Require Import List. Import ListNotations.

For arithmetic:

  • Isabelle: Main (Nat theory included)
  • Coq: Require Import Arith Lia.

For sets:

  • Isabelle: Main (Set theory included)
  • Coq: Require Import MSets.

For logic:

  • Isabelle: HOL (automatically available)
  • Coq: Require Import Logic.
4. Search for Specific Lemmas

Look for lemmas that directly match the goal:

Exact matches: Lemmas that prove the goal directly Component lemmas: Lemmas for parts of the goal Related lemmas: Similar properties that might help

Use the library reference files:

5. Recommend Usage

Provide concrete recommendations:

Direct application:

isabelle
lemma "goal"
by (simp add: relevant_lemma)

With additional steps:

coq
Lemma goal : statement.
Proof.
apply relevant_lemma.
(* additional steps *)
Qed.

Manual proof with lemmas: Show how to use lemmas in a structured proof

6. Suggest Search Commands

Teach users how to find lemmas themselves:

Isabelle:

isabelle
find_theorems "pattern"
find_theorems name: "keyword"
sledgehammer

Coq:

coq
Search pattern.
Search "keyword".
Locate "notation".

Domain-Specific Recommendations

Lists

Common goals:

  • Length properties: length_append, length_rev, length_map
  • Reverse properties: rev_rev_ident, rev_append
  • Append properties: append_assoc, append_Nil
  • Map properties: map_append, map_map
  • Membership: in_set_member, set_append

Libraries:

  • Isabelle: Main (automatic)
  • Coq: List library
Arithmetic

Common goals:

  • Commutativity: add_commute, mult_commute
  • Associativity: add_assoc, mult_assoc
  • Distributivity: add_mult_distrib
  • Inequalities: Use arith/lia tactics

Libraries:

  • Isabelle: Main (Nat theory)
  • Coq: Arith, Lia, Nia
Sets

Common goals:

  • Union/intersection: Un_commute, Int_commute
  • Subset: subset_refl, subset_trans
  • Membership: Un_iff, Int_iff

Libraries:

  • Isabelle: Main (Set theory)
  • Coq: MSets or custom definitions
Logic

Common goals:

  • Conjunction: conjI, conjE
  • Disjunction: disjI1, disjI2
  • Implication: impI, mp
  • Quantifiers: allI, exI

Libraries:

  • Isabelle: HOL (automatic)
  • Coq: Logic (mostly automatic)

Recommendation Patterns

Pattern 1: Exact Lemma Match

When goal exactly matches a known lemma:

Isabelle:

isabelle
lemma "rev (rev xs) = xs"
by (simp add: rev_rev_ident)

Coq:

coq
Lemma example : forall l, rev (rev l) = l.
Proof.
apply rev_involutive.
Qed.
Pattern 2: Combination of Lemmas

When goal needs multiple lemmas:

Isabelle:

isabelle
lemma "length (rev (xs @ ys)) = length xs + length ys"
by (simp add: length_rev length_append)

Coq:

coq
Lemma example : forall l1 l2,
length (rev (l1 ++ l2)) = length l1 + length l2.
Proof.
intros.
rewrite rev_length.
rewrite app_length.
reflexivity.
Qed.
Pattern 3: Automation

When goal is provable by automation:

Isabelle:

isabelle
lemma "n + m = m + n"
by simp
(* Or: by auto, by arith *)

Coq:

coq
Lemma example : forall n m, n + m = m + n.
Proof.
intros. lia.
Qed.
Pattern 4: Induction with Lemmas

When manual proof needed but lemmas help:

Isabelle:

isabelle
lemma "property xs"
proof (induction xs)
case Nil
show ?case by simp
next
case (Cons x xs)
show ?case using Cons.IH by (simp add: helper_lemma)
qed

Coq:

coq
Lemma example : forall l, property l.
Proof.
induction l as [| x xs IHxs].
- simpl. reflexivity.
- simpl. rewrite IHxs. apply helper_lemma.
Qed.

Search Strategies

Strategy 1: Pattern-Based Search

Isabelle:

isabelle
find_theorems "rev (rev _) = _"
find_theorems "length (_ @ _)"
find_theorems "_ + _ = _ + _"

Coq:

coq
Search rev.
Search (_ ++ _).
Search (?x + ?y = ?y + ?x).
Strategy 2: Name-Based Search

Isabelle:

isabelle
find_theorems name: "append"
find_theorems name: "comm"

Coq:

coq
Search "append".
Search "comm" (_ + _).
Strategy 3: Type-Based Search

Coq:

coq
Search (list _ -> nat).
Search (_ -> _ -> _ + _).
Strategy 4: Sledgehammer/Auto

Isabelle:

isabelle
lemma "goal"
sledgehammer
(* Suggests relevant lemmas and tactics *)

Coq:

coq
Lemma goal : statement.
Proof.
auto. (* Try automatic tactics *)
Qed.

Common Recommendations by Goal Type

"rev (rev xs) = xs"
  • Isabelle: rev_rev_ident or by simp
  • Coq: rev_involutive
"length (xs @ ys) = length xs + length ys"
  • Isabelle: length_append or by simp
  • Coq: app_length
"n + m = m + n"
  • Isabelle: add_commute or by simp
  • Coq: plus_comm or lia
"x ∈ set (xs @ ys) ⟷ x ∈ set xs ∨ x ∈ set ys"
  • Isabelle: set_append
  • Coq: in_app_iff
"map f (xs @ ys) = map f xs @ map f ys"
  • Isabelle: map_append
  • Coq: map_app

Examples

For complete examples with specific proof goals and library recommendations, see examples.md.

Tips

  • Search first: Use find_theorems/Search before proving manually
  • Check automation: Try simp/auto/lia before complex proofs
  • Use sledgehammer: In Isabelle, sledgehammer finds relevant lemmas
  • Import early: Import all needed libraries at the start
  • Learn patterns: Common properties (commutativity, etc.) have standard names
  • Read library docs: Browse standard library documentation
  • Build intuition: Learn which libraries contain which lemmas
  • Combine lemmas: Complex goals often need multiple lemmas
  • Simplify first: Use simp/simpl to reduce goals before searching

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
252
Repository forks
24
7-day trend score
28

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/arabelatso/skills-4-se/library-for-proof-advisor/badge)](https://verified-skill.com/skills/arabelatso/skills-4-se/library-for-proof-advisor)

Something wrong with this skill or its page? Tell us.