A free, open-source macOS app for mathematical research with AI. Turn your notes into a library of definitions, lemmas and theorems, see what depends on what, and work with an assistant that reads your own definitions.
For a metric space (X,d), write
B(x,r)={y∈X:d(x,y)<r},B(x,r)={y∈X:d(x,y)≤r}.
The second notation denotes the closed ball; it need not be the closure of the open ball. A sequence (xn) is Cauchy if, for every ε>0, there is N such that d(xm,xn)<ε for m,n≥N. The space is complete if every Cauchy sequence converges in X. A set is dense if it meets every nonempty open subset of X.
Simulated interface. The items, ids and links are the example project's; the import time is shortened. Splitting notes into items uses an AI model.
Pick a theorem. See what it needed.
Every result knows what it rests on. Click one in the graph and its whole argument lights up, all the way down to the definitions.
Closed graph theorem rests on 16 earlier results. Its longest chain of dependencies is 7 steps long.
Let X and Y be Banach spaces and let T:X→Y be an everywhere-defined linear map. If its graph is closed in the sense of Definition (def:graph), then T is bounded.
Simulated interface. The 27 items and 48 links of the example project. Colours are the app's item families.
A library you'd want to read.
Your results, typeset, grouped by section and searchable. Open one and you see its statement, its proof and what it depends on, with your own notation rendered the way you wrote it.
Every complete metric space is a Baire space (Definition (def:category)). Equivalently, if U1,U2,… are open dense subsets of a complete metric space X, then ⋂n=1∞Un is dense in X.
Proof
The assertion is immediate if X is empty. Otherwise, let V be any nonempty open set. Choose x1 and 0<r1≤2−1 so that B(x1,r1)⊆V∩U1. This is possible because V∩U1 is nonempty and open: choose an open ball inside it, then use a strictly smaller radius for the closed ball. Inductively choose
B(xn+1,rn+1)⊆B(xn,rn)∩Un+1,0<rn+1≤2−(n+1).
Lemma (lem:nested-balls) gives a point in all these closed balls. It belongs to V and every Un. Since V was arbitrary, the intersection is dense.
Simulated interface. The example project's items and statuses, rendered by the app's own code. Try the search, or By Type in the sidebar.
Your notation stays yours.
Each project keeps a notation file, which every agent reads, and a file of LaTeX macros. Macros in a.tex file you import are picked up automatically. Write \norm{x} in your notes and the library shows it typeset, and the assistant writes it the same way.
\norm{Tx}\le\norm{P^{-1}}\,\norm{x}
∥Tx∥≤∥P−1∥∥x∥
Baire category notes
NotationMath MacrosOne definition per line, e.g. \newcommand{\A}{\mathcal{A}} — applied to all math rendering in the app.Save
Your whole theory is a folder on your Mac. Every result is a Markdown file with a few lines of metadata on top; your notation, your macros and your research memory are files next to them.
Open it in any editor. Keep it in git. Sync it however you like. Point Claude Code or Codex at it and they read and write the same files Manifield shows you. If you've used Obsidian, it's the same idea: your notes are files you own, and the app is a good way to read them.
theory
---
id: thm-closed-graph
type: theorem
name: Closed graph theorem
status: proof-drafted
depends_on: [def-graph-of-an-operator, lem-products-of-banach-spaces, lem-closed-subspaces-are-banach, cor-bounded-inverse]
resolves: []
tags: [operator, closed-graph, boundedness, banach-space]
source: baire-working-notes.tex
section: closed-graphs
order: 4001
---
## Statement
Let $X$ and $Y$ be Banach spaces and let $T:X\to Y$ be an everywhere-defined linear map. If its graph is closed in the sense of Definition~\ref{def:graph}, then $T$ is bounded.
## Proof
By Lemma~\ref{lem:product}, $X\times Y$ is Banach. The graph $G(T)$ is a closed linear subspace, so Lemma~\ref{lem:closed-subspace} makes it Banach in the restricted sum norm. The projection $P:G(T)\to X$, $P(x,Tx)=x$, is linear, bijective, and bounded because $\norm{x}\le\norm{x}+\norm{Tx}$. Corollary~\ref{cor:bounded-inverse} gives a bounded inverse $P^{-1}:X\to G(T)$.
**Still to write:** introduce the second-coordinate projection $Q:G(T)\to Y$, prove its norm estimate, and use $T=QP^{-1}$ to obtain an explicit bound for $\norm{Tx}$ in terms of $\norm{x}$. The boundedness of $Q$ must come from the product norm, not from assuming the conclusion that $T$ is already bounded.
Let X and Y be Banach spaces and let T:X→Y be an everywhere-defined linear map. If its graph is closed in the sense of Definition (def:graph), then T is bounded.
Proof
By Lemma (lem:product), X×Y is Banach. The graph G(T) is a closed linear subspace, so Lemma (lem:closed-subspace) makes it Banach in the restricted sum norm. The projection P:G(T)→X, P(x,Tx)=x, is linear, bijective, and bounded because ∥x∥≤∥x∥+∥Tx∥. Corollary (cor:bounded-inverse) gives a bounded inverse P−1:X→G(T).
Still to write: introduce the second-coordinate projection Q:G(T)→Y, prove its norm estimate, and use T=QP−1 to obtain an explicit bound for ∥Tx∥ in terms of ∥x∥. The boundedness of Q must come from the product norm, not from assuming the conclusion that T is already bounded.
Simulated Finder and Manifield windows on the example project's real folder. Choose a file in Finder and Manifield shows the same item. Browse the folder on GitHub, or read how it is laid out.
Your references, not half-remembered ones.
Import the books and papers you actually use. Each becomes a source the assistant can search and cite, result by result, instead of "I think there was a paper about this".
A citation points at the book's own statement, written source:item-id, so you can open it and check. Results you cite without proof get their own status, Cited literature, and show up in your graph. The full text of a book is read only when you allow it.How sources work
Baire category notes
SourcesThe Elements of Euclid, Book IShow GraphActions
All types
Source overview
original.tex
I.47
casey-euclid:prop-i-47 · Proposition · Cited literature
Statement
In a right-angled triangle (ABC) the square on the hypotenuse (AB) is equal to the sum of the squares on the other two sides (AC,BC).
Simulated interface, searching the real text of John Casey's translation of Euclid (1885, public domain).
An assistant that has read your work.
Ask about your theorems by name. The assistant reads them before it answers, so it works from your actual definitions rather than a vague memory of the subject.
Every result it mentions is a link: open it beside the conversation and keep reading. It can draft new results or changes to existing ones, and by default each comes to you as a proposal you accept or reject. It can also run small computations to test a conjecture on examples, and it keeps the code next to the result. What the assistant can do
Let X and Y be Banach spaces and let T:X→Y be an everywhere-defined linear map. If its graph is closed in the sense of Definition (def:graph), then T is bounded.
Proof
By Lemma (lem:product), X×Y is Banach. The graph G(T) is a closed linear subspace, so Lemma (lem:closed-subspace) makes it Banach in the restricted sum norm. The projection P:G(T)→X, P(x,Tx)=x, is linear, bijective, and bounded because ∥x∥≤∥x∥+∥Tx∥. Corollary (cor:bounded-inverse) gives a bounded inverse P−1:X→G(T).
REMOVED
Still to write: introduce the second-coordinate projection Q:G(T)→Y, prove its norm estimate, and use T=QP−1 to obtain an explicit bound for ∥Tx∥ in terms of ∥x∥. The boundedness of Q must come from the product norm, not from assuming the conclusion that T is already bounded.
ADDED
Let Q:G(T)→Y, Q(x,Tx)=Tx. It is linear and ∥Q(x,Tx)∥=∥Tx∥≤∥x∥+∥Tx∥=∥(x,Tx)∥, so ∥Q∥≤1 by the sum norm alone. Since T=QP−1, we get ∥Tx∥≤∥P−1∥∥x∥ for every x∈X. ∎
Simulated interface. A scripted conversation about the example project's unfinished closed graph proof; the item ids, statements and the missing step are real. When the proposal arrives the app opens it for review; Done returns to the conversation, where any blue id opens beside it.
Know which parts are solid.
Every result has a status, so you can see at a glance which parts of the theory are solid and which are still hopes.
The assistant can take a result as far as Review found no errors. The last steps are yours alone: only you can mark a result as approved, as cited literature or as formally verified. Manifield has no proof assistant built in yet, so Formally verified is a status you set by hand.
ConjectureA statement you believe
TestedChecked on examples, with the code kept
Proof draftedA written proof exists
Review found no errorsAn independent review found no gap
Human approvedYou checked it yourselfOnly you
Formally verifiedChecked by a proof assistantOnly you
Suppose you have checked these results yourself. Now you find a gap in Approximate openness: open its status menu in the window and set it back to Proof drafted.
Baire category notes
Baire category
Banach spaces and linear operators
Uniform boundedness and convergence
Open mapping and its consequences
Closed graphs
A question about dimension
No items match.
Approximate openness
lem-approximate-opennessLemmaOpen mapping and its consequences
3
Approximate openness
lem-approximate-openness · Lemma · Proof drafted · § Open mapping and its consequences · depends on: cor-closed-cover-form-of-baire, def-normed-and-banach-spaces, def-bounded-linear-operators
Statement
Let X be normed, let Y be Banach, and let T∈L(X,Y) be surjective. There is δ>0 such that
BY(0,δ)⊆T(BX(0,1)).
The overline here means closure in Y, not the image of a closed ball.
Proof
Surjectivity implies Y=⋃n≥1T(BX(0,n)) and hence Y=⋃n≥1T(BX(0,n)). Corollary (cor:closed-cover) gives N≥1, y0∈Y, and r>0 with BY(y0,r)⊆T(BX(0,N)). For ∥y∥<r, both y0+y and y0 belong to this closure. Choose ak,bk∈BX(0,N) with Tak→y0+y and Tbk→y0. Then T(ak−bk)→y and ∥ak−bk∥<2N, so BY(0,r)⊆T(BX(0,2N)). Scaling by 1/(2N) gives the assertion with δ=r/(2N). The notation for balls and bounded operators is from Definitions (def:banach) and (def:operator).
Dependent items affected
Simulated interface. The dependencies are the example project's; the alert is the app's own wording.
Experimental: research mode.
You give it a problem. First it writes the problem down as a precise statement and freezes it, so the conventions are clear and it can't quietly change what it is trying to prove.
Then a director chooses directions (look for a counterexample, try this method, first establish that property) and hands each one to a separate agent that works only on that approach. A claimed solution counts only after independent checks.
It is experimental and it can use a lot of tokens. Most labs build tools like this as closed systems; it would be good to have one that mathematicians can read, change and shape.How research mode works
k-Domination Theory
ProgramsLimitsContinue
Boundedness of Open 2-Domination Ratioactive
3 assignments431K tokens of 6M4m so farupdated 3 Aug 2026
Not running3 Aug 2026
The program is not running. Continue to resume, or send guidance to resume with it.
Guidance for the director…
Sending resumes the program with your message.
Assignments
3
2 finished
Findings
1
latest 3 Aug 2026
Solution claims
0
none yet
Challenges
0
none yet
Tokens
431K
7% of 6M
Assignments 3View all
Friendship graph exact construction
Completed the explicit-family draft and internal review.
Finished · Planned · 151K tokens
Universal-vertex transfer audit
Created lem-matching-universal-vertex-specialization (proof-drafted), deriving for Gt=K1∨(tK2): γ(Gt)=1, γ2(Gt)=t+1, and δ(Gt)=2 for all t≥1.
Finished · Planned · 262K tokens
Attempt the boundedness mechanism
Queued · Planned · 18K tokens
Recent activityOpen log
4 items added to the library, 2 of them at Review found no errors.
23:33
Universal-vertex transfer audit finished: 2/2 tasks completed.
23:33
Finding published (reduction): Proof-drafted universal-vertex reduction.
23:31
Friendship graph exact construction finished: 2/2 tasks completed.
23:31
SpendLimits
431,373 of 6,000,000 tokens
Friendship graph exact construction: 151K Universal-vertex transfer audit: 262K Attempt the boundedness mechanism: 18K
Friendship graph exact construction
Finished · Planned · cheap · 151K tokens
Friendship graph exact construction: Lead with the friendship graphs Ft=K1∨tK2.
Kill-criterion audit for Ft=K1∨tK2: derive the exact two-case constraints for every t≥1
Draft and review the explicit-family counterexample: δ(Ft)=2, γ(Ft)=1, and γ2(Ft)=t+1 — depends: 1 — review
Universal-vertex transfer audit
Finished · Planned · standard · 262K tokens
Universal-vertex transfer audit: Audit and generalize the mechanism through a universal-vertex transfer formula: for G=K1∨H, distinguish whether the new hub belongs to a 2-dominating set.
Audit the universal-vertex transfer equivalence, including the omitted-hub condition — review
Specialize the audited transfer formula to Gt=K1∨(tK2) and issue the exact unbounded-ratio counterexample — depends: 1 — review
Attempt the boundedness mechanism
Queued · Planned · expensive · 18K tokens
Attempt the boundedness mechanism: Take the opposite prior seriously: attempt to convert a minimum dominating set into a 2-dominating set under δ(G)≥2, using private-guard structure from lem-min-degree-two and the classical bound rather than accepting the pilots.
Test the universal-hub family symbolically: derive exact γ(Gt) and γ2(Gt) for Gt=K1∨C3t, and validate the formula by reproducible exhaustive subset enumeration for an explicitly stated finite range of t — review
Conditional on task 1 not firing the kill criterion, formulate and test the sharpest private-guard exchange lemma converting a minimum dominating set to a 2-dominating set under δ(G)≥2; explicitly isolate whether universal hubs are excluded by a necessary hypothesis — depends: 1 — review
Conditional on tasks 1–2 leaving the boundedness thesis viable, draft a complete absolute-bound theorem with an explicit constant C, citing def-k-domination, lem-min-degree-two only at its actual proof-drafted status, and thm-cockayne-bound; prove every new exchange step or report the precise obstruction — depends: 2 — review
Findings 1
reduction · 23:31
Proof-drafted universal-vertex reduction: for G=K_1∨H with hub h, open 2-domination splits into h selected (cost 1+γ(H)) and h omitted (cost η_2(H), requiring both residual 2-domination in H and |S|≥2 for h). Thus γ_2(G)=min{1+γ(H),η_2(H)}. Exhaustively consistent for all 1253 unlabeled H on ≤7 vertices.
lem-universal-vertex-open-two-transfer
Solution claims 0
None yet.
Challenges 0
None yet.
Added to the library 4
Exact two-case constraints for friendship graphslem-friendship-two-case-auditReview found no errors
Matching specialization of the universal-vertex transferlem-matching-universal-vertex-specializationProof drafted
Universal-vertex transfer formula for open 2-dominationlem-universal-vertex-open-two-transferProof drafted
Friendship graphs give an unbounded open 2-domination ratio at minimum degree 2thm-friendship-unbounded-ratioReview found no errors
Goal frozen. The contract lists 12 kinds of answer that will not count.
3 Aug 2026, 23:29
3 planned branches approved: Friendship graph exact construction, Universal-vertex transfer audit, Attempt the boundedness mechanism.
3 Aug 2026, 23:29
Friendship graph exact construction finished: 2/2 tasks completed.
3 Aug 2026, 23:31
Finding published (reduction): Proof-drafted universal-vertex reduction.
3 Aug 2026, 23:31
Universal-vertex transfer audit finished: 2/2 tasks completed.
3 Aug 2026, 23:33
4 items added to the library, 2 of them at Review found no errors.
3 Aug 2026, 23:33
The frozen goal
Decide whether γ2(G)/γ(G) has an absolute upper bound for connected finite simple graphs with δ(G)≥2, or refute this by an explicit infinite family with exact values.
Not counted as an answer
Numerical evidence without a finite-reduction theorem.
An argument under unstated stronger assumptions.
An equivalent formulation whose equivalence is not proved or sourced.
A citation whose hypotheses were not checked.
A reduction to another unresolved claim.
A novelty claim based on not finding prior work.
Exhaustive checks of finitely many graphs, including the reported checks for friendship graphs or wheels, extrapolated to an infinite family.
A family whose ratios are merely large for listed parameters, rather than proved unbounded.
A proposed infinite family without exact, proved values of both γ(G) and γ2(G) for every parameter.
Using closed-neighborhood k-tuple domination, distance-2 domination, or any convention other than def-k-domination.
A counterexample only after dropping connectedness, finiteness, simplicity, or δ(G)≥2.
Treating the existing proof-drafted wheel or friendship-family arguments as human-approved proofs.
Simulated interface showing a real run from the sample project (3 August 2026): its goal, contract, branches, finding, library changes and token counts. It was made with an earlier version of research mode and is laid out here as today's dashboard shows a program. Its result, that friendship graphs make γ₂/γ unbounded, is known; the run rechecked it. Click Goal, or the tabs.
Try it.
No account and no server. Your project is a folder on your Mac. If you use AI, requests go straight to the provider you choose, with your own API key or your ChatGPT account.
I built Manifield for my own research and made it open source in October 2026. It is early, it is written by one person, and there are rough edges. I would like to hear what you think: where it breaks on your notes, and what would make it worth using for your work.
Open an issue or start a conversation on GitHub. The code is GPLv3, and contributions are welcome.