/Tech3h ago

Researcher Seeks Formal Verification Examples for NSF CAREER Proposal

1630243.2K
Original post
Talia Ringer 🕊🪬@TaliaRinger#514inTech

Need a running example of a formal verification or math formalization project (using proof assistants) for my NSF CAREER. Would appreciate some public brainstorming since I am not good at examples, but having one would make my proposal way better. Thread below.

11:17 AM · Jun 10, 2026 · 1.4K Views
Sentiment

Users appreciate the discussion of formal verification examples for an NSF CAREER proposal because it supplies citable references and serves the research community.

Pos
100.0%
Neg
0.0%
2 comments with sentiment.
Cluster Engagement
Posts from X
Most Activity
Most Activity
VIEWS609LIKES2

It should be a verification or formal math project (described at a very high level, like "suppose we are verifying a compiler from our own language to CompCert CLight" or whatever) with the following (IME very common) properties:

Need a running example of a formal verification or math formalization project (using proof assistants) for my NSF CAREER. Would appreciate some public brainstorming since I am not good at examples, but having one would make my proposal way better. Thread below.

3hViews 609Likes 2Bookmarks 0
BOOKMARKS1
Lior Pachter@lpachter

@TaliaRinger

1hViews 10Likes 1Bookmarks 1
REPLIES6

Please let me know if you have ideas. Can be in any proof assistant language. I want to frame my proposal (which I already have very strong and specific ideas for) around an example like this, but I need to talk to people to figure out exactly what it should be.

5. It is something that it would make sense to collaborate on with a sizable group of collaborators, who may be opinionated about questions of proof engineering best practices, or about best practices specific to that domain.

3hViews 203Likes 2Bookmarks 0
Michael Roe@mroe1492

@TaliaRinger This example is kind of embarrassing that it hasn’t been done already. Suppose you want to extend CakeML, a formally verified ML compiler, so that you can print out the value of a floating point number.

2hViews 48Likes 1Bookmarks 1
Michael Roe@mroe1492

@TaliaRinger For example, the memory safety properties of the CHERI architecture were formally verified. At early stages of the development process, there were proposals for new instructions, usually to make the operating system run faster.

2hViews 44Likes 1Bookmarks 1

1. It is well-motivated and based on actual proof developments I can cite.

2. I can simplify it dramatically when discussing it in the proposal for exemplary purposes.

It should be a verification or formal math project (described at a very high level, like "suppose we are verifying a compiler from our own language to CompCert CLight" or whatever) with the following (IME very common) properties:

3hViews 508Likes 2Bookmarks 0

3. The programs, definitions, and theorem statements are not all known in advance---it makes sense for the proof engineer to figure those things out as they go.

1. It is well-motivated and based on actual proof developments I can cite.

2. I can simplify it dramatically when discussing it in the proposal for exemplary purposes.

3hViews 93Likes 1Bookmarks 0
brett koonce@asparagui

@TaliaRinger I've been formalizing the math used to train MNIST (and much larger networks) in lean4: https://brettkoonce.github.io/lean4-mlir/blueprint/

1hViews 6Likes 1Bookmarks 1

5. It is something that it would make sense to collaborate on with a sizable group of collaborators, who may be opinionated about questions of proof engineering best practices, or about best practices specific to that domain.

4. It depends on a custom library and/or exists in a specific domain that uses a lot of custom definitions and custom styles (but not a monorepo like mathlib).

3hViews 202Likes 2Bookmarks 0
Michael Roe@mroe1492

@TaliaRinger You might have some high-level property known in advance: “if I convert a float to a string then back to a float, I get the original value, unless it’s NaN”, but you will probably need to invent definitions as you describe what the string representation of a float is.

2hViews 5Likes 1Bookmarks 1
Michael Roe@mroe1492

@TaliaRinger So, you need to check that each new instruction you add does not break the security model in some way.

2hViews 5Likes 1Bookmarks 1

4. It depends on a custom library and/or exists in a specific domain that uses a lot of custom definitions and custom styles (but not a monorepo like mathlib).

3. The programs, definitions, and theorem statements are not all known in advance---it makes sense for the proof engineer to figure those things out as they go.

3hViews 90Likes 1Bookmarks 0

@lastland0 I'll take a look! Do you have any examples of (3)---places where you weren't certain what definitions to write or what theorems to state in advance, and had to figure those things out as you went?

2hViews 17

@lastland0 Oh cool! OK, will read, it is good that is discussed because I can cite it instead of relying on lore

2hViews 16

@lastland0 Definitely doing a service for the community with that discussion!

2hViews 13
Tikhon Jelvis@tikhonjelvis

@TaliaRinger Are you looking for existing projects, or potential projects?

I just joined o9 and I'm seriously looking at specifying/verifying code for describing enterprise planning processes, but it's still at a stage where I don't know if it will make sense or be entirely viable.

2hViews 12
Evelyn@tummycom

@TaliaRinger I'm doing a SQL statement equivalency checker in Lean4. Could also do Datalog.

2hViews 18Likes 1
Michael Roe@mroe1492

@TaliaRinger To do this, you going to need to develop some kind of formalized theory of how IEEE 754 represents floating point values as sequences of characters.

2hViews 8Likes 1
Tcho@Tcho76521726

@TaliaRinger A math formalization project with these requirements seems hard to think of undirected, but what about verification of permissions systems (like for data access)? They often have correctness problems, I know it's a vaguely worked upon subject.

2hViews 8
Tikhon Jelvis@tikhonjelvis

@TaliaRinger Even if it makes sense I'm not sure it fits what you're looking for.

2hViews 7