Abstract
Many compilers, synthesizers, and theorem provers rely on rewrite rules to simplify expressions or prove equivalences. Developing rewrite rules can be difficult: rules may be subtly incorrect, profitable rules are easy to miss, and rulesets must be rechecked or extended whenever semantics are tweaked. Large rulesets can also be challenging to apply: redundant rules slow down rule-based search and frustrate debugging.
This paper explores how equality saturation, a promising technique that uses e-graphs to apply rewrite rules, can also be used to infer rewrite rules. E-graphs can compactly represent the exponentially large sets of enumerated terms and potential rewrite rules. We show that equality saturation efficiently shrinks both sets, leading to faster synthesis of smaller, more general rulesets.
We prototyped these strategies in a tool dubbed Ruler. Compared to a similar tool built on CVC4, Ruler synthesizes 5.8× smaller rulesets 25× faster without compromising on proving power. In an end-to-end case study, we show Ruler-synthesized rules which perform as well as those crafted by domain experts, and addressed a longstanding issue in a popular open source tool.
Supplemental Material
- Franz Baader and Tobias Nipkow. 1998. Term Rewriting and All That. Cambridge University Press. https://doi.org/10.1017/CBO9781139172752 Google Scholar
- L. Bachmair, I. V. Ramakrishnan, A. Tiwari, and L. Vigneron. 2000. Congruence Closure Modulo Associativity and Commutativity. In Frontiers of Combining Systems, Hélène Kirchner and Christophe Ringeissen (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 245–259. isbn:978-3-540-46421-1 https://doi.org/10.1007/10720084_16 Google Scholar
Cross Ref
- Sorav Bansal and Alex Aiken. 2006. Automatic Generation of Peephole Superoptimizers. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XII). Association for Computing Machinery, New York, NY, USA. 394–403. isbn:1595934510 https://doi.org/10.1145/1168857.1168906 Google Scholar
Digital Library
- Hendrik Pieter Barendregt, Marko C. J. D. van Eekelen, John R. W. Glauert, Richard Kennaway, Marinus J. Plasmeijer, and M. Ronan Sleep. 1987. Term Graph Rewriting. In PARLE, Parallel Architectures and Languages Europe, Volume II: Parallel Languages, Eindhoven, The Netherlands, June 15-19, 1987, Proceedings. 141–158. https://doi.org/10.1007/3-540-17945-3_8 Google Scholar
Cross Ref
- Clark Barrett, Christopher L. Conway, Morgan Deters, Liana Hadarean, Dejan Jovanović, Tim King, Andrew Reynolds, and Cesare Tinelli. 2011. CVC4. In Proceedings of the 23rd International Conference on Computer Aided Verification (CAV’11). Springer-Verlag, Berlin, Heidelberg. 171–177. isbn:9783642221095 https://doi.org/10.5555/2032305.2032319Google Scholar
Digital Library
- Clark Barrett, Pascal Fontaine, and Cesare Tinelli. 2016. The Satisfiability Modulo Theories Library (SMT-LIB). www.SMT-LIB.org.Google Scholar
- Yves Bertot and Pierre Castran. 2010. Interactive Theorem Proving and Program Development: Coq’Art The Calculus of Inductive Constructions (1st ed.). Springer Publishing Company, Incorporated. isbn:3642058809 https://doi.org/10.5555/1965123Google Scholar
- M. Bezem, J.W. Klop, E. Barendsen, R. de Vrijer, and Terese. 2003. Term Rewriting Systems. Cambridge University Press. isbn:9780521391153 lccn:2002067658 https://books.google.com/books?id=oe3QKzhFEBACGoogle Scholar
- Gabriel Hjort Blindell. 2013. Survey on Instruction Selection: An Extensive and Modern Literature Review. CoRR, abs/1306.4898 (2013), arxiv:1306.4898. arxiv:1306.4898Google Scholar
- Peter Borovanskỳ, Claude Kirchner, Hélene Kirchner, Pierre-Etienne Moreau, and Christophe Ringeissen. 1998. An overview of ELAN. Electronic Notes in Theoretical Computer Science, 15 (1998), 55–70. https://doi.org/10.1016/S1571-0661(05)82552-6 Google Scholar
Cross Ref
- Sebastian Buchwald, Andreas Fried, and Sebastian Hack. 2018. Synthesizing an Instruction Selection Rule Library from Semantic Specifications. In Proceedings of the 2018 International Symposium on Code Generation and Optimization (CGO 2018). Association for Computing Machinery, New York, NY, USA. 300–313. isbn:9781450356176 https://doi.org/10.1145/3168821 Google Scholar
Digital Library
- Tianqi Chen, Thierry Moreau, Ziheng Jiang, Lianmin Zheng, Eddie Yan, Meghan Cowan, Haichen Shen, Leyuan Wang, Yuwei Hu, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018. TVM: An Automated End-to-End Optimizing Compiler for Deep Learning. In Proceedings of the 13th USENIX Conference on Operating Systems Design and Implementation (OSDI’18). USENIX Association, USA. 579–594. isbn:9781931971478 https://doi.org/10.5555/3291168.3291211Google Scholar
- Koen Claessen, Moa Johansson, Dan Rosén, and Nicholas Smallbone. 2013. Automating Inductive Proofs Using Theory Exploration. In Automated Deduction – CADE-24, Maria Paola Bonacina (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 392–406. isbn:978-3-642-38574-2 https://doi.org/10.1007/978-3-642-38574-2_27 Google Scholar
Digital Library
- Koen Claessen, Nicholas Smallbone, and John Hughes. 2010. QuickSpec: Guessing Formal Specifications Using Testing. In Tests and Proofs, Gordon Fraser and Angelo Gargantini (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 6–21. isbn:978-3-642-13977-2 https://doi.org/10.1007/978-3-642-13977-2_3 Google Scholar
- Manuel Clavel, Francisco Durán, Steven Eker, Patrick Lincoln, Narciso Martí-Oliet, José Meseguer, and Carolyn Talcott. 2007. All About Maude-A High-Performance Logical Framework: How to Specify, Program, and Verify Systems in Rewriting Logic. 4350, Springer. https://doi.org/10.1007/978-3-540-71999-1 Google Scholar
Cross Ref
- Jack W. Davidson and Christopher W. Fraser. 2004. Automatic Generation of Peephole Optimizations. SIGPLAN Not., 39, 4 (2004), April, 104–111. issn:0362-1340 https://doi.org/10.1145/989393.989407 Google Scholar
Digital Library
- Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An Efficient SMT Solver. In Proceedings of the Theory and Practice of Software, 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’08/ETAPS’08). Springer-Verlag, Berlin, Heidelberg. 337–340. isbn:3-540-78799-2, 978-3-540-78799-0 http://dl.acm.org/citation.cfm?id=1792734.1792766Google Scholar
Digital Library
- Nachum Dershowitz. 1982. Orderings for term-rewriting systems. Theoretical computer science, 17, 3 (1982), 279–301. https://doi.org/10.1016/0304-3975(82)90026-3 Google Scholar
Cross Ref
- Nachum Dershowitz. 1987. Termination of rewriting. Journal of symbolic computation, 3, 1-2 (1987), 69–115. https://doi.org/10.1016/S0747-7171(87)80022-6 Google Scholar
Digital Library
- David Detlefs, Greg Nelson, and James B. Saxe. 2005. Simplify: A Theorem Prover for Program Checking. J. ACM, 52, 3 (2005), May, 365–473. issn:0004-5411 https://doi.org/10.1145/1066100.1066102 Google Scholar
Digital Library
- João Dias and Norman Ramsey. 2010. Automatically Generating Instruction Selectors Using Declarative Machine Descriptions. In Proceedings of the 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’10). Association for Computing Machinery, New York, NY, USA. 403–416. isbn:9781605584799 https://doi.org/10.1145/1706299.1706346 Google Scholar
Digital Library
- Steven Eker. 2003. Associative-commutative rewriting on large terms. In International Conference on Rewriting Techniques and Applications. 14–29. https://doi.org/10.1007/3-540-44881-0_3 Google Scholar
Cross Ref
- A. P. Ershov. 1958. On Programming of Arithmetic Operations. Commun. ACM, 1, 8 (1958), Aug., 3–6. issn:0001-0782 https://doi.org/10.1145/368892.368907 Google Scholar
Digital Library
- Trevor Alexander Hansen. 2012. A constraint solver and its application to machine code test generation.. Ph.D. Dissertation. Melbourne, Australia.Google Scholar
- Herbie. 2021. Herbie can generate more-complex expressions that aren’t more precise. https://github.com/uwplse/herbie/issues/261#issuecomment-680896733Google Scholar
- Herbie. 2021. Optimize floating-point expressions for accuracy. https://github.com/uwplse/herbie/issuesGoogle Scholar
- James C. Hoe and Arvind. 2000. Hardware Synthesis from Term Rewriting Systems. Springer US, Boston, MA. 595–619. isbn:978-0-387-35498-9 https://doi.org/10.1007/978-0-387-35498-9_52 Google Scholar
Cross Ref
- Zhihao Jia, Oded Padon, James Thomas, Todd Warszawski, Matei Zaharia, and Alex Aiken. 2019. TASO: Optimizing Deep Learning Computation with Automatic Generation of Graph Substitutions. In Proceedings of the 27th ACM Symposium on Operating Systems Principles (SOSP ’19). Association for Computing Machinery, New York, NY, USA. 47–62. isbn:9781450368735 https://doi.org/10.1145/3341301.3359630 Google Scholar
Digital Library
- Moa Johansson, L. Dixon, and A. Bundy. 2010. Conjecture Synthesis for Inductive Theories. Journal of Automated Reasoning, 47 (2010), 251–289. https://doi.org/10.1007/s10817-010-9193-y Google Scholar
Digital Library
- Moa Johansson, Dan Rosén, Nicholas Smallbone, and Koen Claessen. 2014. Hipster: Integrating Theory Exploration in a Proof Assistant. In Intelligent Computer Mathematics, Stephen M. Watt, James H. Davenport, Alan P. Sexton, Petr Sojka, and Josef Urban (Eds.). Springer International Publishing, Cham. 108–122. isbn:978-3-319-08434-3 https://doi.org/10.1007/978-3-319-08434-3_9 Google Scholar
Cross Ref
- Rajeev Joshi, Greg Nelson, and Keith Randall. 2002. Denali: A Goal-directed Superoptimizer. SIGPLAN Not., 37, 5 (2002), May, 304–314. issn:0362-1340 https://doi.org/10.1145/543552.512566 Google Scholar
Digital Library
- Hélène Kirchner. 2015. Rewriting strategies and strategic rewrite programs. In Logic, Rewriting, and Concurrency. Springer, 380–403.Google Scholar
- Donald E Knuth and Peter B Bendix. 1983. Simple word problems in universal algebras. In Automation of Reasoning. Springer, 342–376. https://doi.org/10.1007/978-3-642-81955-1_23 Google Scholar
Cross Ref
- Chris Lattner, Mehdi Amini, Uday Bondhugula, Albert Cohen, Andy Davis, Jacques Arnaud Pienaar, River Riddle, Tatiana Shpeisman, Nicolas Vasilache, and Oleksandr Zinenko. 2021. MLIR: Scaling Compiler Infrastructure for Domain Specific Computation. In CGO 2021. https://doi.org/10.1109/CGO51591.2021.9370308 Google Scholar
Digital Library
- Benjamin Livshits, Manu Sridharan, Yannis Smaragdakis, Ondřej Lhoták, J. Nelson Amaral, Bor-Yuh Evan Chang, Samuel Z. Guyer, Uday P. Khedker, Anders Møller, and Dimitrios Vardoulakis. 2015. In Defense of Soundiness: A Manifesto. Commun. ACM, 58, 2 (2015), Jan., 44–46. issn:0001-0782 https://doi.org/10.1145/2644805 Google Scholar
Digital Library
- Nuno P. Lopes, Juneyoung Lee, Chung-Kil Hur, Zhengyang Liu, and John Regehr. 2021. Alive2: Bounded Translation Validation for LLVM. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI 2021). Association for Computing Machinery, New York, NY, USA. 65–79. isbn:9781450383912 https://doi.org/10.1145/3453483.3454030 Google Scholar
Digital Library
- Salvador Lucas. 2001. Termination of rewriting with strategy annotations. In International Conference on Logic for Programming Artificial Intelligence and Reasoning. 669–684. https://doi.org/10.5555/645710.664488Google Scholar
Cross Ref
- Henry Massalin. 1987. Superoptimizer: A Look at the Smallest Program. In Proceedings of the Second International Conference on Architectual Support for Programming Languages and Operating Systems (ASPLOS II). IEEE Computer Society Press, Washington, DC, USA. 122–126. isbn:0818608056 https://doi.org/10.1145/36177.36194 Google Scholar
Digital Library
- W. M. McKeeman. 1965. Peephole Optimization. Commun. ACM, 8, 7 (1965), July, 443–444. issn:0001-0782 https://doi.org/10.1145/364995.365000 Google Scholar
Digital Library
- David Menendez and Santosh Nagarakatte. 2017. Alive-Infer: Data-Driven Precondition Inference for Peephole Optimizations in LLVM. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2017). Association for Computing Machinery, New York, NY, USA. 49–63. isbn:9781450349888 https://doi.org/10.1145/3062341.3062372 Google Scholar
Digital Library
- David Menendez, Santosh Nagarakatte, and Aarti Gupta. 2016. Alive-FP: Automated Verification of Floating Point Based Peephole Optimizations in LLVM. In Static Analysis - 23rd International Symposium, SAS 2016, Edinburgh, UK, September 8-10, 2016, Proceedings, Xavier Rival (Ed.) (Lecture Notes in Computer Science, Vol. 9837). Springer, 317–337. https://doi.org/10.1007/978-3-662-53413-7_16 Google Scholar
Cross Ref
- Alexander Nadel. 2014. Bit-Vector Rewriting with Automatic Rule Generation. In Proceedings of the 16th International Conference on Computer Aided Verification - Volume 8559. Springer-Verlag, Berlin, Heidelberg. 663–679. isbn:9783319088662 https://doi.org/10.1007/978-3-319-08867-9_44 Google Scholar
Digital Library
- Chandrakana Nandi, Max Willsey, Adam Anderson, James R. Wilcox, Eva Darulova, Dan Grossman, and Zachary Tatlock. 2020. Synthesizing Structured CAD Models with Equality Saturation and Inverse Transformations. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020). Association for Computing Machinery, New York, NY, USA. 31–44. isbn:9781450376136 https://doi.org/10.1145/3385412.3386012 Google Scholar
Digital Library
- Charles Gregory Nelson. 1980. Techniques for Program Verification. Ph.D. Dissertation. Stanford, CA, USA. AAI8011683.Google Scholar
- Julie L. Newcomb, Andrew Adams, Steven Johnson, Rastislav Bodik, and Shoaib Kamil. 2020. Verifying and Improving Halide’s Term Rewriting System with Program Synthesis. Proc. ACM Program. Lang., 4, OOPSLA (2020), Article 166, Nov., 28 pages. https://doi.org/10.1145/3428234 Google Scholar
Digital Library
- Aina Niemetz, Mathias Preiner, Andrew Reynolds, Clark Barrett, and Cesare Tinelli. 2018. Solving Quantified Bit-Vectors Using Invertibility Conditions. In Computer Aided Verification, Hana Chockler and Georg Weissenbacher (Eds.). Springer International Publishing, Cham. 236–255. isbn:978-3-319-96142-2 https://doi.org/10.1007/s10703-020-00359-9 Google Scholar
Cross Ref
- Tobias Nipkow, Markus Wenzel, and Lawrence C. Paulson. 2002. Isabelle/HOL: A Proof Assistant for Higher-Order Logic. Springer-Verlag, Berlin, Heidelberg. isbn:3540433767 https://doi.org/10.1007/3-540-45949-9 Google Scholar
- Andres Nötzli, Andrew Reynolds, Haniel Barbosa, Aina Niemetz, Mathias Preiner, Clark Barrett, and Cesare Tinelli. 2019. Syntax-Guided Rewrite Rule Enumeration for SMT Solvers. In Theory and Applications of Satisfiability Testing – SAT 2019, Mikoláš Janota and Inês Lynce (Eds.). Springer International Publishing, Cham. 279–297. isbn:978-3-030-24258-9 https://doi.org/10.1007/978-3-030-24258-9_20 Google Scholar
Cross Ref
- Pavel Panchekha, Alex Sanchez-Stern, James R. Wilcox, and Zachary Tatlock. 2015. Automatically Improving Accuracy for Floating Point Expressions. SIGPLAN Not., 50, 6 (2015), June, 1–11. issn:0362-1340 https://doi.org/10.1145/2813885.2737959 Google Scholar
Digital Library
- Doron Peled. 1998. Ten years of partial order reduction. In International Conference on Computer Aided Verification. 17–28. https://doi.org/10.1007/BFb0028727 Google Scholar
Cross Ref
- Simon Peyton Jones, Andrew Tolmach, and Tony Hoare. 2001. Playing by the rules: rewriting as a practical optimisation technique in GHC. In 2001 Haskell Workshop (2001 haskell workshop ed.). https://www.microsoft.com/en-us/research/publication/playing-by-the-rules-rewriting-as-a-practical-optimisation-technique-in-ghc/Google Scholar
- Varot Premtoon, James Koppel, and Armando Solar-Lezama. 2020. Semantic Code Search via Equational Reasoning. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020). Association for Computing Machinery, New York, NY, USA. 1066–1082. isbn:9781450376136 https://doi.org/10.1145/3385412.3386001 Google Scholar
Digital Library
- Racket. 2021. Racket, the Programming Language. https://racket-lang.org/Google Scholar
- Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, and Saman Amarasinghe. 2013. Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’13). Association for Computing Machinery, New York, NY, USA. 519–530. isbn:9781450320146 https://doi.org/10.1145/2491956.2462176 Google Scholar
Digital Library
- Anthony Romano and Dawson R. Engler. 2013. Expression Reduction from Programs in a Symbolic Binary Executor. In Model Checking Software - 20th International Symposium, SPIN 2013, Stony Brook, NY, USA, July 8-9, 2013. Proceedings, Ezio Bartocci and C. R. Ramakrishnan (Eds.) (Lecture Notes in Computer Science, Vol. 7976). Springer, 301–319. https://doi.org/10.1007/978-3-642-39176-7_19 Google Scholar
Cross Ref
- Rust. 2021. Rust BigInt Library. https://docs.rs/num-bigint/0.4.0/num_bigint/struct.BigInt.htmlGoogle Scholar
- Rust. 2021. Rust Rational Library. https://docs.rs/num-rational/0.4.0/num_rational/struct.Ratio.htmlGoogle Scholar
- Eric Schkufza, Rahul Sharma, and Alex Aiken. 2014. Stochastic Optimization of Floating-Point Programs with Tunable Precision. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’14). Association for Computing Machinery, New York, NY, USA. 53–64. isbn:9781450327848 https://doi.org/10.1145/2594291.2594302 Google Scholar
Digital Library
- Rahul Sharma, Eric Schkufza, Berkeley Churchill, and Alex Aiken. 2015. Conditionally Correct Superoptimization. SIGPLAN Not., 50, 10 (2015), Oct., 147–162. issn:0362-1340 https://doi.org/10.1145/2858965.2814278 Google Scholar
Digital Library
- Rohit Singh and Armando Solar-Lezama. 2016. Swapper: A Framework for Automatic Generation of Formula Simplifiers Based on Conditional Rewrite Rules. In Proceedings of the 16th Conference on Formal Methods in Computer-Aided Design (FMCAD ’16). FMCAD Inc, Austin, Texas. 185–192. isbn:9780983567868 https://doi.org/10.5555/3077629.3077661Google Scholar
Cross Ref
- Eytan Singher and Shachar Itzhaky. 2021. Theory Exploration Powered by Deductive Synthesis. In Computer Aided Verification, Alexandra Silva and K. Rustan M. Leino (Eds.). Springer International Publishing, Cham. 125–148. isbn:978-3-030-81688-9 https://doi.org/10.1007/978-3-030-81688-9_6 Google Scholar
Digital Library
- Armando Solar-Lezama. 2008. Program Synthesis by Sketching. Ph.D. Dissertation. Berkeley, CA, USA. isbn:978-1-109-09745-0 AAI3353225.Google Scholar
Digital Library
- Michael Stepp, Ross Tate, and Sorin Lerner. 2011. Equality-Based Translation Validator for LLVM. In Computer Aided Verification, Ganesh Gopalakrishnan and Shaz Qadeer (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 737–742. isbn:978-3-642-22110-1 https://doi.org/10.1007/978-3-642-22110-1_59 Google Scholar
Cross Ref
- Robert Endre Tarjan. 1975. Efficiency of a Good But Not Linear Set Union Algorithm. J. ACM, 22, 2 (1975), April, 215–225. issn:0004-5411 https://doi.org/10.1145/321879.321884 Google Scholar
Digital Library
- Ross Tate, Michael Stepp, Zachary Tatlock, and Sorin Lerner. 2009. Equality Saturation: A New Approach to Optimization. In Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’09). ACM, New York, NY, USA. 264–276. isbn:978-1-60558-379-2 https://doi.org/10.1145/1480881.1480915 Google Scholar
Digital Library
- Alexa VanHattum, Rachit Nigam, Vincent T. Lee, James Bornholt, and Adrian Sampson. 2021. Vectorization for Digital Signal Processors via Equality Saturation. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2021). Association for Computing Machinery, New York, NY, USA. 874–886. isbn:9781450383172 https://doi.org/10.1145/3445814.3446707 Google Scholar
Digital Library
- Eelco Visser. 2001. Stratego: A Language for Program Transformation Based on Rewriting Strategies System Description of Stratego 0.5. In Rewriting Techniques and Applications, Aart Middeldorp (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 357–361. isbn:978-3-540-45127-3Google Scholar
- Eelco Visser. 2001. A Survey of Rewriting Strategies in Program Transformation Systems. Electronic Notes in Theoretical Computer Science, 57 (2001), 109–143. issn:1571-0661 https://doi.org/10.1016/S1571-0661(04)00270-1 WRS 2001, 1st International Workshop on Reduction Strategies in Rewriting and Programming. Google Scholar
- Yisu Remy Wang, Shana Hutchison, Jonathan Leang, Bill Howe, and Dan Suciu. 2020. SPORES: Sum-Product Optimization via Relational Equality Saturation for Large Scale Linear Algebra. Proc. VLDB Endow., 13, 12 (2020), July, 1919–1932. issn:2150-8097 https://doi.org/10.14778/3407790.3407799 Google Scholar
Digital Library
- Deborah L. Whitfield and Mary Lou Soffa. 1997. An Approach for Exploring Code Improving Transformations. ACM Trans. Program. Lang. Syst., 19, 6 (1997), Nov., 1053–1084. issn:0164-0925 https://doi.org/10.1145/267959.267960 Google Scholar
Digital Library
- Max Willsey. 2021. egg Documentation. https://docs.rs/egg/0.6.0/egg/struct.BackoffScheduler.htmlGoogle Scholar
- Max Willsey, Chandrakana Nandi, Yisu Remy Wang, Oliver Flatt, Zachary Tatlock, and Pavel Panchekha. 2021. Egg: Fast and Extensible Equality Saturation. Proc. ACM Program. Lang., 5, POPL (2021), Article 23, Jan., 29 pages. https://doi.org/10.1145/3434304 Google Scholar
Digital Library
- Chenming Wu, Haisen Zhao, Chandrakana Nandi, Jeffrey I. Lipton, Zachary Tatlock, and Adriana Schulz. 2019. Carpentry Compiler. ACM Trans. Graph., 38, 6 (2019), Article 195, Nov., 14 pages. issn:0730-0301 https://doi.org/10.1145/3355089.3356518 Google Scholar
Digital Library
- Yichen Yang, Phitchaya Phothilimthana, Yisu Wang, Max Willsey, Sudip Roy, and Jacques Pienaar. 2021. Equality Saturation for Tensor Graph Superoptimization. In Proceedings of Machine Learning and Systems, A. Smola, A. Dimakis, and I. Stoica (Eds.). 3, 255–268. https://proceedings.mlsys.org/paper/2021/file/65ded5353c5ee48d0b7d48c591b8f430-Paper.pdfGoogle Scholar
Index Terms
Rewrite rule inference using equality saturation
Recommendations
Minimization of AND-EXOR Expressions Using Rewrite Rules
Conditions for generating optimal two-level AND-EXOR representations using rewrite rules are considered. Four results are presented. First, it is shown that a necessary condition for obtaining minimality is a temporary increase in the size of ...
On termination of one rule rewrite systems
The undecidability of the termination of rewrite systems is usually proved by reduction to the halting of Turing machines. In particular, Dauchet proves the undecidability of the termination of one rule rewrite systems by coding Turing machines into one ...
A new belief rule base knowledge representation scheme and inference methodology using the evidential reasoning rule for evidence combination
Generalised belief rules are introduced as an extension of traditional rules.A knowledge representation scheme based on generalised belief rules is presented.An inference methodology using the evidential reasoning approach is proposed. In this paper, we ...






Comments