pub fn rewrite_with_inventions_egraph(
    root: Id,
    invs: &[Invention],
    egraph: &mut crate::EGraph,
) -> Expr {
    let mut root = root;
    for inv in invs.iter() {
        let expr = rewrite_with_invention_egraph(root, inv, egraph);
        root = egraph.add_expr(&expr.into());
    }
    extract(root,egraph)
}
/// Same as `rewrite_with_invention_egraph` but for multiple inventions, rewriting with one after another in order, compounding on each other
Same as `rewrite_with_invention_egraph` but for multiple inventions, rewriting with one after another in order, compounding on each other
Same as ` rewrite_with_invention_egraph ` but for multiple inventions rewriting with one after another in order compounding on each other
pub fn rewrite_with_inventions_egraph(
    root: Id,
    invs: &[Invention],
    egraph: &mut crate::EGraph,
) -> Expr {
    let mut root = root;
    for inv in invs.iter() {
        let expr = rewrite_with_invention_egraph(root, inv, egraph);
        root = egraph.add_expr(&expr.into());
    }
    extract(root,egraph)
}
pub fn rewrite_with_inventions_egraph ( root : Id , invs : & [ Invention ] , egraph : & mut crate :: EGraph , ) -> Expr { let mut root = root ; for inv in invs . iter ( ) { let expr = rewrite_with_invention_egraph ( root , inv , egraph ) ; root = egraph . add_expr ( & expr . into ( ) ) ; } extract ( root , egraph ) }
Same as `rewrite_with_invention_egraph` but for multiple inventions, rewriting with one after another in order, compounding on each other
Same as ` rewrite_with_invention_egraph ` but for multiple inventions rewriting with one after another in order compounding on each other
root
Id
invs
&[Invention]
egraph
&mut crate::EGraph
root
Id
invs
&[Invention]
egraph
&mut crate::EGraph