Introduction to Program Synthesis

This page summarizes the projects mentioned and recommended in the original post on

InfluxDB - 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.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
  • prose

    Microsoft Program Synthesis using Examples SDK is a framework of technologies for the automatic generation of programs from input-output examples. This repo includes samples and sample data for the Microsoft Program Synthesis using Example SDK. (by microsoft)

    > Would knowledge in automated theorem proving (e.g. knowing how coq works) be somehow transferable to research in this field?


    First, Coq is not an automated theorem proving tool; it's an interactive theorem prover.

    If by automated theorem proving, you're thinking of a tool like Z3 or CVC4 which find models of statements in a decidable theory (which are pretty much always mathematically uninteresting), then...absolutely! SAT/SMT are at the core of constraint-based synthesis. Heck, CVC4 has a SyGuS mode that one the synthesis competition one year.

    If you're referring to actually searching for interesting theorems, as done by tools like Vampire and Otter, then probably not.

    Last month, I was discussing the matching algorithm used in the paper "egg: Fast and Flexible Equality Saturation" with a collaborator. It uses code trees, which I read about a few months earlier in the Handbook of Automated Reasoning. It stands out because I had pretty much never encountered a mention of any of that stuff in the preceding several years.

    I touch on this slightly in this blog post, about the benefits of learning Coq towards synthesis: . (And the benefits I mention are in understanding the type theory, not the innards.)

    > What are some existing open-source program synthesis libraries/frameworks where we can tinker around and maybe make something with it?

  • InfluxDB

    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.

    InfluxDB logo
  • egg

    egg is a flexible, high-performance e-graph library (by egraphs-good)

    I searched for a few others, but they're either tools rather than frameworks, not directly synthesis, or I couldn't find a download.

    Though I may as well plug my own Cubix framework:

    > Thanks! I'm super curious about this field and it's somewhat related to what I'm working on so I'm pretty interested to learn more!

    Awesome! I hope to see great things coming from you.

  • duckduckgo-locales

    Translation files for <a href=""> </a>

    I also tried to read mathematics of program construction (similar spirit I assume) with Gibbons et al.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • The Flash Fill Feature in Excel

    1 project | | 19 Sep 2021
  • Microsoft Program Synthesis Using Examples

    1 project | | 8 Feb 2021
  • Xbox Multiplayer Analysis Tool

    2 projects | | 12 Jan 2024
  • Official console development related questions should not be asked here!

    2 projects | /r/gamedev | 8 Apr 2023
  • Candy Crush Saga for Xbox listing found in Xbox App

    1 project | /r/XboxSeriesX | 29 Aug 2022

Did you konow that Rust is
the 5th most popular programming language
based on number of metions?