Skip to content

Instantly share code, notes, and snippets.

View ninehusky's full-sized avatar
🟰
eqsat!

Andrew Cheung ninehusky

🟰
eqsat!
View GitHub Profile
# 1. Find implications over a conditional grammar
# 2. Find total rules over a term grammar
# 3. Use implications and conditions to find conditional rules
def run_chompy():
term_egraph = new_egraph()
rules = []
# (map from pvecs to conditions, assumption propagations)
(pvec_to_conditions, impl_rules) = get_conditional_structures(cond_egraph)
@ninehusky
ninehusky / pseudocode-with-opts.py
Last active June 20, 2025 20:15
New Pseudocode!!
# 1. Find implications over a conditional grammar
# 2. Find total rules over a term grammar
# 3. Use implications and conditions to find conditional rules
def run_chompy():
term_egraph = new_egraph()
rules = []
# (map from pvecs to conditions, assumption propagations)
(pvec_to_conditions, impl_rules) = get_conditional_structures(cond_egraph)
def run_chompy():
term_egraph = new_egraph()
cond_egraph = new_egraph()
rules = []
# Find condition implications
condition_workload = enumerate_condition_workload()
# A series of rules which simplify conditions into **equivalent** forms.
# e.g., (a <= 0) <==> (0 >= a)