Lean models for GraphQL.
Canonical GraphQL specification reference: GraphQL September 2025 Edition.
For the project structure, dependency diagram, and module overview, see docs/overview.md.
For the current spec-conformance scope and proof plan, see docs/spec-conformance-plan.md.
For project-specific normal forms and verified algorithms, see docs/normal-form.md and docs/algorithms.md.
Build all Lean targets:
lake buildRun linting:
lake lintThis package uses LeanFmt from duckki/LeanFmt as a Lake dependency.
Format all Lean sources:
lake exe fmt --recursive GraphQL.lean Tests.lean Lint.lean GraphQL TestsCheck formatting without rewriting files:
lake exe fmt --check --recursive GraphQL.lean Tests.lean Lint.lean GraphQL TestsThe lint target runs Lean's built-in linters with documentation warnings disabled.
It also enforces project-local community-style checks inspired by common
Mathlib/CSLib practice: lines at 100 columns except URLs, no trailing
whitespace or tabs, no unscoped diagnostic/resource set_option, no bare
open Classical, no lambda or dollar syntax, no double underscores in
declaration names, and a 1500-line soft file limit.
The main top-level libraries are:
GraphQL