One Open-source Project Daily

The Z3 Theorem Prover

https://github.com/Z3Prover/z3

#1ospd #opensource #z3
GitHub - Z3Prover/z3: The Z3 Theorem Prover

The Z3 Theorem Prover. Contribute to Z3Prover/z3 development by creating an account on GitHub.

GitHub

For this one part 1 was relatively simple (parsing was the longest task), despite my basic bruteforce solution still needing more than 2s to find an answer.

For part 2 I was initially excited to finally implement Gaussian elimination by myself, but then realized it couldn't work because this was a minimization problem. A quick search showed me that it was an integer linear programming problem, which everyone recommended to solve with a library.
Despite my better judgement, I convinced myself that a DFS exploration could maybe work. And it did! ... on the example.

So in the end I caved and did it with z3 like most people. At least it seems that the z3 crate has greatly improved in the past 2 years, and my code using it is relatively simple.

I also found this fun thing on the Z3 C documentation: https://social.treehouse.systems/@Aissen/115699422672481929

#AdventOfCode #RustLang #z3

What I learned during Advent of Code 2023 - Linux Engineer's random thoughts

Advent of Code is an Advent calendar of small programming puzzles. I participated in this year's edition, finishing it for the second time in row. The puzzles of all editions are always accessible. The principle is to read the problem, get a puzzle input (more or less tailored to your …

Advent of Code 2025 Day 10: Factory

This is the one where I started with BFS and ended with Z3. WTF is Z3?

https://westkarana.blog/2025/12/10/advent-of-code-2025-day-10-factory/

#AdventOfCode #Lua #Picotron #Z3 #Python

Advent of Code 2025 Day 10: Factory

This is the one where I started with BFS and ended with Z3. WTF is Z3?

West Karana

I've completed "Factory" - Day 10 - Advent of Code 2025

I used Z3 to solve Part 2 in ~500ms. I still need to clean up Part 1's brute force.

https://github.com/jstanden/advent-of-code-python/blob/main/2025/day10.ipynb

#AdventOfCode #Python #Programming #z3

advent-of-code-python/2025/day10.ipynb at main · jstanden/advent-of-code-python

Advent of Code solutions in Python. Contribute to jstanden/advent-of-code-python development by creating an account on GitHub.

GitHub

It’s that time of the year again - someone (me) wanting to try replacing #gentoo ‘s #portage with a #Z3 #SMT solver. Well, this time I did it! Or at least started to… got 2x performance boost but it’s not quite black and white.

https://blog.researchmonger.com/2025/12/integrating-z3-smt-solver-into-gentoo.html?m=1

Integrating Z3 SMT Solver into Gentoo Portage: A Technical Deep Dive

## Introduction Gentoo's Portage package manager uses a sophisticated dependency resolver that has evolved over two decades. Unlike b...

Readings shared December 5, 2025

The readings shared in Bluesky on 5 December 2025 are: Formalization of Erdős problems. ~ Boris Alexeev. #ITP #LeanProver #Math #Autoformalization A Rocq formalization of monomial and graded orders.

Vestigium
🌘 用 Z3 求解正規表達式填字遊戲
➤ 從規則到答案:以 Z3 駕馭正規表達式填字遊戲的技術剖析
https://blog.nelhage.com/post/regex-crosswords-z3/
本文作者分享如何運用 Z3 هذا SMT 求解器來解決正規表達式填字遊戲。文章首先介紹了正規表達式填字遊戲的概念,並說明如何將正規表達式轉換為確定性有限自動機(DFA),進而利用 Z3 進行約束編碼。作者詳細闡述瞭如何定義 Z3 變數、編寫轉換函數,以及如何將 DFA 的狀態轉換與接受條件映射到 Z3 的約束中。過程中,作者也探討了 solver 的效能瓶頸,並分享了優化策略與除錯經驗,最終大幅提升了求解速度。
+ 這篇文章深入探討瞭如何結合 SMT 求解器與正規表達式,對於想了解 Z3 實際應用的人來說非常有啟發性。
+ 原以為用 Z3 解決這類問題會很直接,但作者的除錯與效能優化過程纔是最精彩的部分,讓人學到很多。
#軟體開發 #AI #解謎 #Z3 #SMT求解器
Solving Regex Crosswords with Z3

Adventures in solving regex crosswords using the SMT solver, Z3. Further adventures and misadventures in making the solver fast, in which I learn about far more Z3 features than I knew existed. Some reflections on Z3 and SMT solvers more broadly.

Made of Bugs
Reconstruction of Konrad Zuse’s Z3 Computer | Raúl Rojas

🌘 z3 約略介紹:約束求解器的入門
➤ 透過簡單範例探索約束求解的世界
https://asibahi.github.io/thoughts/a-gentle-introduction-to-z3/
這篇文章介紹了 z3 約束求解器,一個能根據使用者輸入的規則與限制來解決問題的工具。作者以簡單的數學方程式與組合問題為例,展示瞭如何使用 z3 的 Rust 綁定來定義變數、表達約束條件,並讓求解器找出解決方案。文中釐清了術語如 Sort(類型)與 Constant(變數或數值),並探討了 z3 在處理整數與實數時的差異,同時提及 z3 底層使用的 SMT-LIB2 語言。
+ 寫得真不錯!感謝作者用這麼淺顯易懂的方式介紹 z3,我之前也覺得它很難入門。
+ 太棒了!這篇能幫助我理解在 Rust 中使用 z3 的基本操作,特別是關於 SMT-LIB2 的部分很有幫助。
#軟體開發 #程式設計 #z3 #約束求解器
Abdul Rahman Sibahi | A Dumb Introduction to z3

Exploring the world of constraint solvers with very simple examples.