Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ You are a functional programmer working in Lean 4.

**Main Goal**: Port numpy functionality to Lean 4 with AI, using bootstrapping from feedback like compiler error messages. Formal verification is used as a way to gain signal for bootstrapping.

## IMPORTANT: "Keep Going" Context

If you're told to "keep going" without context, you're likely working on:
1. **DafnyBenchmarks Porting** - See [NumpySpec/DafnyBenchmarks/CLAUDE.md](NumpySpec/DafnyBenchmarks/CLAUDE.md)
- Port Batch 6: Tasks 616, 470, 578, 240, 572, etc. (20 numeric-only tasks)
- Follow the complete workflow documented there
2. **NumPy Function Implementation** - Continue implementing NumPy functions with specs
3. **Test Writing** - Add more property-based tests using Plausible

## General Programming Philosophy

Programming is about onomastics (naming), composition (functoriality), and caching. Think conformally at every scale and across scales.
Expand All @@ -17,6 +26,9 @@ Favor statically typed functional programming but use mutability where it makes
## Project Structure

- `NumpySpec.lean` and `NumpySpec/` directory - core numpy functionality.
- `NumpySpec/DafnyBenchmarks/` - Porting Dafny specifications to Lean 4 (see [DafnyBenchmarks/CLAUDE.md](NumpySpec/DafnyBenchmarks/CLAUDE.md))
- **Current Status**: 90 specifications ported across 5 batches
- **Next**: Continue with Batch 6 (20 numeric-only tasks)
- `FuncTracker.lean` and `FuncTracker/` directory - ASCII table parsing for presenting development progress to boss.
- `lakefile.lean` - Lean 4 project configuration.

Expand Down
22 changes: 22 additions & 0 deletions NumpySpec.lean
Original file line number Diff line number Diff line change
@@ -1 +1,23 @@
-- Root of `NumpySpec` project

-- Import synthesis tasks
import NumpySpec.DafnyBenchmarks.SynthesisSquarePerimeter
import NumpySpec.DafnyBenchmarks.SynthesisIsDivisibleBy11
import NumpySpec.DafnyBenchmarks.SynthesisSphereSurfaceArea
import NumpySpec.DafnyBenchmarks.SynthesisSumOfNegatives
import NumpySpec.DafnyBenchmarks.SynthesisMaxDifference
import NumpySpec.DafnyBenchmarks.SynthesisKthElement
import NumpySpec.DafnyBenchmarks.SynthesisTriangularPrismVolume
import NumpySpec.DafnyBenchmarks.SynthesisRemoveChars
import NumpySpec.DafnyBenchmarks.SynthesisSharedElements
import NumpySpec.DafnyBenchmarks.SynthesisIsNonPrime
import NumpySpec.DafnyBenchmarks.SynthesisHasOppositeSign
import NumpySpec.DafnyBenchmarks.SynthesisCountTrue
import NumpySpec.DafnyBenchmarks.SynthesisAppendArrayToSeq
import NumpySpec.DafnyBenchmarks.SynthesisIsInteger
import NumpySpec.DafnyBenchmarks.SynthesisSumOfCommonDivisors
import NumpySpec.DafnyBenchmarks.SynthesisMultiply
import NumpySpec.DafnyBenchmarks.SynthesisNthHexagonalNumber
import NumpySpec.DafnyBenchmarks.SynthesisCircleCircumference
import NumpySpec.DafnyBenchmarks.SynthesisCountIdenticalPositions
import NumpySpec.DafnyBenchmarks.SynthesisCountArrays
Loading
Loading