Expand description
AND-OR graph data structures and algorithms.
The main data structure, Graph, is a bipartite graph of AND nodes
(representing rules in a proof system) and OR nodes (representing
propositions in a proof system). Graphs have a designated goal OR
node that represents the goal to be proven.
A convenient way to construct and store these graphs is to use the
From<jsongraph::Graph> trait implementation in Graph. Otherwise,
AND-OR graphs can be created with Graph::new.
Modules§
- algo
- Algorithms for operating on AND-OR graphs (e.g. provability, simplification)
Structs§
- AIdx
- An index to an AND node in an AND-OR graph
- AndSet
- A set of AND nodes in an AND-OR graph
- Graph
- An AND-OR graph (main data structure for this crate)
- Node
- A node in an AND-OR graph
- OIdx
- An index to an OR node in an AND-OR graph
- OrSet
- A set of OR nodes in an AND-OR graph
Enums§
- Node
Kind - Indicates whether a node is an AND node or an OR node