The Z3 Theorem Prover (by Z3Prover)

Z3 Alternatives

Similar projects and alternatives to z3

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better z3 alternative or higher similarity.

z3 discussion

Log in or Post with

z3 reviews and mentions

Posts with mentions or reviews of z3. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-06-03.
  • Show HN: Allocate poker chips optimally with mixed-integer nonlinear programming
    7 projects | news.ycombinator.com | 3 Jun 2024
    Every time I play a casual cash poker game with friends, we spend the first several minutes struggling to figure out chip denominations. I built this to automate that process.

    Try it out here (the submitted link goes to the GitHub repo):


    It turns out that picking chip denominations optimally—such that as many chips are distributed as possible, and such that the denominations are nice—is hard (in the computational complexity sense). Upon reflection, the problem seemed to be a perfect fit for constrained optimization.

    I first got a CLI prototype working with Z3 (an SMT solver with optimization capabilities https://github.com/Z3Prover/z3) in Python. Then, I cross-compiled SCIP (https://www.scipopt.org/) to web assembly, and ported my code to use SCIP instead of Z3 so it could run in the browser.

    The web interface is designed to be fast and easy to use on desktop and mobile.

    I would love to answer questions and discuss design choices. I'm also open to feedback and bug reports. Thanks for taking a look!

  • Ask HN: What is the current state of "logical" AI?
    1 project | news.ycombinator.com | 26 Dec 2023
    See https://cacm.acm.org/magazines/2023/6/273222-the-silent-revo... and also modern production rules engines like https://drools.org/

    Oddly, back when “expert system shells” were cool people thought 10,000 rules were difficult to handle, now 1,000,000 might not be a problem at all. Back then the RETE algorithm was still under development and people were using linear search and not hash tables to do their lookups.

    Also https://github.com/Z3Prover/z3

    Note “the semantic web” is both an advance and a retreat in that OWL is a subset of first order logic which is really decidable and sorta kinda fast. It can do a lot but people aren’t really happy with what it can do.

  • Lean4 helped Terence Tao discover a small bug in his recent paper
    10 projects | news.ycombinator.com | 27 Oct 2023
    Code correctness is a lost art. I requirement to think in abstractions is what scares a lot of devs to avoid it. The higher abstraction language (formal specs) focus on a dedicated language to describe code, whereas lower abstractions (code contracts) basically replace validation logic with a better model.

    C# once had Code Contracts[1]; a simple yet powerful way to make formal specifications. The contracts was checked at compile time using the Z3 SMT solver[2]. It was unfortunately deprecated after a few years[3] and once removed from the .NET Runtime it was declared dead.

    The closest thing C# now have is probably Dafny[4] while the C# dev guys still try to figure out how to implement it directly in the language[5].

    [1] https://www.microsoft.com/en-us/research/project/code-contra...

    [2] https://github.com/Z3Prover/z3

    [3] https://github.com/microsoft/CodeContracts

    [4] https://github.com/dafny-lang/dafny

    [5] https://github.com/dotnet/csharplang/issues/105

  • Programming Languages Going Above and Beyond
    7 projects | news.ycombinator.com | 29 Jun 2023
    I believe, Nim also has this functionality, although, it uses the [0]Z3Prover tool with a nim frontend [1]"DrNim" for proving.


  • Modern SAT solvers: fast, neat and underused (2018)
    7 projects | news.ycombinator.com | 26 May 2023
  • If You've Got Enough Money, It's All 'Lawful'
    2 projects | /r/WorkReform | 13 May 2023
    Don't get me wrong, there are times when Microsoft got it right the first time that was technically far superior to their competitors. Windows IOCP was theoretically capable of doing C10K as far back in 1994-95 when there wasn't any hardware support yet and UNIX world was bickering over how to do asynchronous I/O. Years later POSIX came up with select which was a shoddy little shit in comparison. Linux caved in finally only as recently as 2019 and implemented io_uring. Microsoft research has contributed some very interesting things to computer science like Z3 SAT solver and in collaboration with INRIA made languages like F* and Low* for formal specification and verification. But all this dwarfs in comparison to all the harm they did.
  • Constraint Programming 'linking' variables
    1 project | /r/learnprogramming | 2 May 2023
    Z3 theorem prover SMT solver might help you.
  • General mathematical expression analysis system
    2 projects | /r/ProgrammingLanguages | 30 Jan 2023
    Other than that, you should look at Z3 which is pretty damn good at these sort of theorems/constraints.
  • -🎄- 2022 Day 21 Solutions -🎄-
    124 projects | /r/adventofcode | 20 Dec 2022
    In the end I used Z3 Julia bindings instead. The hardest part was to get the result back from it, because I kept running into assertion violations from inside Z3
  • Question about Predicate Transformer Semantics
    1 project | /r/compsci | 1 Dec 2022
    I'm trying to learn a little bit about Predicate Transformer Semantics (PTS) as part of a quick exploration of Z3.
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 13 Jun 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →


Basic z3 repo stats
6 days ago

Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.