lean-uint-bitvec

Facilitate Lean 4 proofs converting unsigned integers and BitVectors with bv_decide.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill streamlines complex proofs in Lean 4 that involve conversions between numeric types (like UInt8, UInt16, UInt32) and BitVectors, particularly when using the bv_decide tactic.

Core Features & Use Cases

  • bv_decide Guidance: Provides strategies for effectively using bv_decide for bit-level reasoning on unsigned integers.
  • Type Conversion Bridging: Offers patterns for converting between UInt types and Nat for tactics like omega.
  • Use Case: Proving properties of CRC checksum algorithms or bit manipulation routines within Lean 4 formalizations.

Quick Start

Use the lean-uint-bitvec skill to help prove a goal involving UInt32 bitwise operations.

Frequently Asked Questions about lean-uint-bitvec

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

FAQPage Schema
How do I prove properties of UInt32 bitwise operations in Lean 4?

To prove UInt32 bitwise operations in Lean 4, apply the bv_decide tactic for bit-level reasoning and use type conversion patterns to bridge UInt types with BitVectors. This streamlines complex bit manipulation proofs.

Why does the omega tactic fail on Uint8 conversions in Lean 4?

The omega tactic fails on UInt8 conversions because it operates on Nat types. You must use type conversion bridging patterns to convert unsigned integers to Nat before omega can successfully process the arithmetic reasoning.

Can I use bv_decide for CRC checksum formalization in Lean 4?

Yes, you can use bv_decide for CRC checksum formalization in Lean 4. It provides strategies for handling bitwise operations and numeric type interactions required to verify bit manipulation routines.

What is the best way to convert between UInt types and BitVectors in Lean 4?

The best way to convert between UInt types and BitVectors in Lean 4 is using dedicated type conversion bridging patterns. This enables tactics like omega to work alongside bv_decide for mixed numeric proofs.

What are the limitations of bv_decide for unsigned integer proofs in Lean 4?

The limitations of bv_decide for unsigned integer proofs include challenges with type bridging across UInt8, UInt16, and UInt32. It requires optimized proof strategies to handle type conversions before applying bit-level reasoning.