Skip to content

RFC: proof-only import for Mandelbrot connectedness - #9

Draft
blinkybool wants to merge 3 commits into
girving:mainfrom
blinkybool:proof-only-import
Draft

RFC: proof-only import for Mandelbrot connectedness#9
blinkybool wants to merge 3 commits into
girving:mainfrom
blinkybool:proof-only-import

Conversation

@blinkybool

@blinkybool blinkybool commented Aug 20, 2026

Copy link
Copy Markdown

Working on a proof-only import feature at https://github.com/timaeus-research/trustless and using this as the prototype. PR still in draft state.

…import

Ray/Mandelbrot.lean becomes the trusted file: it defines mandelbrot
itself and authors the connectedness statements, elaborated with only
its own imports active (Trustless plus three basic Mathlib modules).
The proofs arrive by trustless import from the new untrusted
Ray/MandelbrotBridge, which repeats the definition, proves it equals
multibrot 2, and transports isConnected_multibrot across.

Every imported constant is re-checked by this toolchain's kernel
against the trusted file's own definitions, so the import fails unless
the bridge proved exactly the statements authored here. None of the
bridge's notation, instances, or macros is activated in the trusted
file, and its olean is never mapped into the elaborating process:
lean4export walks it in a sandboxed subprocess and only text crosses
back.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kvxi5Pm1yyXH1mtDHXhEqq
@girving

girving commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Neat!

blinkybool and others added 2 commits August 28, 2026 16:19
The trusted files live at the package root. Mandelbrot.lean defines
mandelbrot, states the two connectedness theorems, and proves each with
const_fill Ray.Mandelbrot (the provider defaults to the theorem's own
name). Mandelbrot2.lean is the manual comparison via const import and
namespaced re-authoring. The untrusted proofs live in Ray/Mandelbrot.lean
and Ray/Mandelbrot2.lean (lib RayMandelbrotSource), replacing
Ray/MandelbrotBridge.lean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kvxi5Pm1yyXH1mtDHXhEqq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants