Structural Matching
Decompose:
- Subject and pattern graphs into common terms
- Could have multiple representations
- Decomposition is not cannonical
Make DAGs into trees
- Make fanouts into primary outputs
- Duplicate logic
- Tree matching and covering run in linear time