After a very long (almost two year) road, we have implemented a complete ID* and IDC* algorithm. This is based on [Shpitser and Pearl, 2012](https://arxiv.org/abs/1206.5294), however it fixes several issues with the original algorithm returning incorrect results.
What's Changed
* Generalize P() function by cthoyt in https://github.com/y0-causal-inference/y0/pull/57
* Small updates by cthoyt in https://github.com/y0-causal-inference/y0/pull/58
* Update graph I/O and mutation algorithms by cthoyt in https://github.com/y0-causal-inference/y0/pull/59
* More graph improvements to support ID/IDC by cthoyt in https://github.com/y0-causal-inference/y0/pull/60
* Improve canonicalization algorithm by cthoyt in https://github.com/y0-causal-inference/y0/pull/63
* Update type hints by cthoyt in https://github.com/y0-causal-inference/y0/pull/64
* Add safe constructors by cthoyt in https://github.com/y0-causal-inference/y0/pull/65
* Add canonicalized expression equals test by cthoyt in https://github.com/y0-causal-inference/y0/pull/66
* Pre-ID updates by cthoyt in https://github.com/y0-causal-inference/y0/pull/67
* Implement the ID and IDC algorithms by cthoyt in https://github.com/y0-causal-inference/y0/pull/46
* Implement bracket notation for probabilities with L2 interventions by cthoyt in https://github.com/y0-causal-inference/y0/pull/68
* Add y0 DSL output and generalize P() by cthoyt in https://github.com/y0-causal-inference/y0/pull/61
* Update draw graph by cthoyt in https://github.com/y0-causal-inference/y0/pull/77
* Expose distribution properties through probability DSL object by cthoyt in https://github.com/y0-causal-inference/y0/pull/82
* Enforce graphs are only on variables by cthoyt in https://github.com/y0-causal-inference/y0/pull/90
* Update expression in line 1 of identification by cthoyt in https://github.com/y0-causal-inference/y0/pull/89
* Add zero element to DSL by cthoyt in https://github.com/y0-causal-inference/y0/pull/96
* ⭐ Stars for everyone by cthoyt in https://github.com/y0-causal-inference/y0/pull/98
* Update marginalize and conditional functions in DSL by cthoyt in https://github.com/y0-causal-inference/y0/pull/100
* Add predicate to counterfactual variables for checking tautologies by cthoyt in https://github.com/y0-causal-inference/y0/pull/101
* Fix graph types in design algorithm by cthoyt in https://github.com/y0-causal-inference/y0/pull/107
* Add definition of "expression complexity" by cthoyt in https://github.com/y0-causal-inference/y0/pull/105
* Add 3.10 testing by cthoyt in https://github.com/y0-causal-inference/y0/pull/91
* Add generic simulation with Linear SCM by cthoyt in https://github.com/y0-causal-inference/y0/pull/108
* Make counterfactual variables' interventions' star status explicit by cthoyt in https://github.com/y0-causal-inference/y0/pull/111
* Refactor falsifications module by cthoyt in https://github.com/y0-causal-inference/y0/pull/113
* Update notebooks by cthoyt in https://github.com/y0-causal-inference/y0/pull/117
* Blacken notebooks by cthoyt in https://github.com/y0-causal-inference/y0/pull/119
* Update packaging and meta by cthoyt in https://github.com/y0-causal-inference/y0/pull/118
* Added ASKEM grant by djinnome in https://github.com/y0-causal-inference/y0/pull/126
* Fix tox.ini by cthoyt in https://github.com/y0-causal-inference/y0/pull/129
* Better canonicalize ordering by cthoyt in https://github.com/y0-causal-inference/y0/pull/131
* Add parallel worlds and counterfactual graphs by cthoyt in https://github.com/y0-causal-inference/y0/pull/128
* Automate testing notebooks by cthoyt in https://github.com/y0-causal-inference/y0/pull/132
* Counterfactual notebook by djinnome in https://github.com/y0-causal-inference/y0/pull/133
* Improve d-separation by cthoyt in https://github.com/y0-causal-inference/y0/pull/135
* Improve term canonicalization by cthoyt in https://github.com/y0-causal-inference/y0/pull/138
* Update minimum version to 3.10 by cthoyt in https://github.com/y0-causal-inference/y0/pull/141
* Handle overlapping interventions by cthoyt in https://github.com/y0-causal-inference/y0/pull/142
* Add tests for self-intervention by cthoyt in https://github.com/y0-causal-inference/y0/pull/143
* Fix bug in conditional() by cthoyt in https://github.com/y0-causal-inference/y0/pull/144
* Project cleanup by cthoyt in https://github.com/y0-causal-inference/y0/pull/146
* Update default graph draw by cthoyt in https://github.com/y0-causal-inference/y0/pull/147
* Implement ID* and IDC* by djinnome in https://github.com/y0-causal-inference/y0/pull/140
**Full Changelog**: https://github.com/y0-causal-inference/y0/compare/v0.1.0...v0.2.0