.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/schedule_demo.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_schedule_demo.py: Schedule demo ============= .. GENERATED FROM PYTHON SOURCE LINES 5-35 .. raw:: html
%3 outer_cluster_right-10080759905092916392-value cluster_right-10080759905092916392-value outer_cluster_right-5871781006564002453-value cluster_right-5871781006564002453-value outer_cluster_left-15952540911656918845-value cluster_left-15952540911656918845-value outer_cluster_left-11743562013128004906-value cluster_left-11743562013128004906-value outer_cluster_right-4208978898528913939-value cluster_right-4208978898528913939-value outer_cluster_left-10912160959110460649-value cluster_left-10912160959110460649-value outer_cluster_right-11743562013128004906-value cluster_right-11743562013128004906-value outer_cluster_left-5871781006564002453-value cluster_left-5871781006564002453-value outer_cluster_right-17615343019692007359-value cluster_right-17615343019692007359-value outer_cluster_left-10080759905092916392-value cluster_left-10080759905092916392-value outer_cluster_right-10912160959110460649-value cluster_right-10912160959110460649-value outer_cluster_left-5040379952546458196-value cluster_left-5040379952546458196-value outer_cluster_left-3377577844511369682-value cluster_left-3377577844511369682-value outer_cluster_left-0-value cluster_left-0-value outer_cluster_right-5040379952546458196-value cluster_right-5040379952546458196-value outer_cluster_left-16783941965674463102-value cluster_left-16783941965674463102-value outer_cluster_right-0-value cluster_right-0-value outer_cluster_right-16783941965674463102-value cluster_right-16783941965674463102-value outer_cluster_right-15952540911656918845-value cluster_right-15952540911656918845-value outer_cluster_left-17615343019692007359-value cluster_left-17615343019692007359-value outer_cluster_left-4208978898528913939-value cluster_left-4208978898528913939-value outer_cluster_i64-17615343019692007359 cluster_i64-17615343019692007359 outer_cluster_i64-3377577844511369682 cluster_i64-3377577844511369682 outer_cluster_i64-10080759905092916392 cluster_i64-10080759905092916392 outer_cluster_i64-5040379952546458196 cluster_i64-5040379952546458196 outer_cluster_i64-15952540911656918845 cluster_i64-15952540911656918845 outer_cluster_i64-10912160959110460649 cluster_i64-10912160959110460649 outer_cluster_i64-16783941965674463102 cluster_i64-16783941965674463102 outer_cluster_i64-4208978898528913939 cluster_i64-4208978898528913939 outer_cluster_i64-5871781006564002453 cluster_i64-5871781006564002453 outer_cluster_i64-11743562013128004906 cluster_i64-11743562013128004906 outer_cluster_i64-0 cluster_i64-0 right-10080759905092916392:s->i64-10080759905092916392 right-5871781006564002453:s->i64-5871781006564002453 left-15952540911656918845:s->i64-15952540911656918845 left-11743562013128004906:s->i64-11743562013128004906 right-4208978898528913939:s->i64-4208978898528913939 left-10912160959110460649:s->i64-10912160959110460649 right-11743562013128004906:s->i64-11743562013128004906 left-5871781006564002453:s->i64-5871781006564002453 right-17615343019692007359:s->i64-17615343019692007359 left-10080759905092916392:s->i64-10080759905092916392 right-10912160959110460649:s->i64-10912160959110460649 left-5040379952546458196:s->i64-5040379952546458196 left-3377577844511369682:s->i64-3377577844511369682 left-0:s->i64-0 right-5040379952546458196:s->i64-5040379952546458196 left-16783941965674463102:s->i64-16783941965674463102 right-0:s->i64-0 right-16783941965674463102:s->i64-16783941965674463102 right-15952540911656918845:s->i64-15952540911656918845 left-17615343019692007359:s->i64-17615343019692007359 left-4208978898528913939:s->i64-4208978898528913939 right-10080759905092916392 right i64-10080759905092916392 8 right-10080759905092916392-value () right-5871781006564002453 right i64-5871781006564002453 1 right-5871781006564002453-value () left-15952540911656918845 left i64-15952540911656918845 9 left-15952540911656918845-value () left-11743562013128004906 left i64-11743562013128004906 2 left-11743562013128004906-value () right-4208978898528913939 right i64-4208978898528913939 7 right-4208978898528913939-value () left-10912160959110460649 left i64-10912160959110460649 5 left-10912160959110460649-value () right-11743562013128004906 right right-11743562013128004906-value () left-5871781006564002453 left left-5871781006564002453-value () right-17615343019692007359 right i64-17615343019692007359 3 right-17615343019692007359-value () left-10080759905092916392 left left-10080759905092916392-value () right-10912160959110460649 right right-10912160959110460649-value () left-5040379952546458196 left i64-5040379952546458196 4 left-5040379952546458196-value () left-3377577844511369682 left i64-3377577844511369682 10 left-3377577844511369682-value () left-0 left i64-0 0 left-0-value () right-5040379952546458196 right right-5040379952546458196-value () left-16783941965674463102 left i64-16783941965674463102 6 left-16783941965674463102-value () right-0 right right-0-value () right-16783941965674463102 right right-16783941965674463102-value () right-15952540911656918845 right right-15952540911656918845-value () left-17615343019692007359 left left-17615343019692007359-value () left-4208978898528913939 left left-4208978898528913939-value ()


.. code-block:: Python from __future__ import annotations from egglog import * left = relation("left", i64) right = relation("right", i64) x, y = vars_("x y", i64) step_left = ruleset( rule( left(x), right(x), ).then(left(x + 1)), ) step_right = ruleset( rule( left(x), right(y), eq(x).to(y + 1), ).then(right(x)), ) egraph = EGraph() egraph.register(left(i64(0)), right(i64(0))) egraph.run((step_right.saturate() + step_left.saturate()) * 10) egraph.check(left(i64(10)), right(i64(9))) egraph.check_fail(left(i64(11)), right(i64(10))) egraph .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.552 seconds) .. _sphx_glr_download_auto_examples_schedule_demo.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: schedule_demo.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: schedule_demo.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_