@@ -18,6 +18,12 @@ image:https://hitsofcode.com/github/Lipen/bdd-rs["Hits-of-Code",link="https://hi
1818* *SAT & Model Counting*: Satisfiability checking, model extraction, solution counting
1919* *Visualization*: Graphviz DOT export
2020
21+ == Companion Guide
22+
23+ A comprehensive tutorial on BDDs is available:
24+ link:docs/guide/[`guide/`]
25+ image:https://img.shields.io/badge/Guide-Binary Decision Diagrams-blue?style=social&logo=gitbook["Comprehensive Guide on BDDs", link="https://lipen.github.io/bdd-rs/guide-bdd.pdf"]
26+
2127== Installation
2228
2329Add `bdd-rs` to your `Cargo.toml`:
@@ -58,8 +64,7 @@ assert!(bdd.is_one(result));
5864
5965=== BDD Manager Operations
6066
61- * `Bdd::new(bits)` -- Create manager with $2^bits$ nodes capacity
62- * `Bdd::default()` -- Create manager with default capacity (2^20 nodes)
67+ * `Bdd::default()` -- Create BDD manager with default parameters
6368* `mk_var(var_id)` -- Create BDD for variable (1-indexed)
6469* `collect_garbage(roots)` -- Reclaim unused nodes
6570
@@ -103,7 +108,10 @@ Comprehensive examples demonstrating BDD applications:
103108
104109See link:examples/abstract-interpretation/[`examples/abstract-interpretation/`]
105110
106- Static program analysis framework combining abstract interpretation with BDDs.
111+ > Static program analysis framework combining abstract interpretation with BDDs.
112+
113+ *Companion Guide*: link:examples/abstract-interpretation/guide/[`guide/`]
114+ image:https://img.shields.io/badge/Guide-Abstract Interpretation-blue?style=social&logo=gitbook["Guide on Abstract Interpretation", link="https://lipen.github.io/bdd-rs/guide-ai.pdf"]
107115
108116*Examples*:
109117
@@ -117,13 +125,6 @@ Static program analysis framework combining abstract interpretation with BDDs.
117125* *Realistic Programs*: Array bounds checking, combined multi-domain analysis
118126
119127*Tests*: Comprehensive unit and integration tests for all domains
120-
121- *Companion Guide*: link:examples/abstract-interpretation/guide/[`guide/`] (150+ pages)
122-
123- * Part I: Gentle Introduction
124- * Part II: Lattice theory, fixpoints, domain design
125- * Part III: Applications
126-
127128[source,bash]
128129----
129130cd examples/abstract-interpretation
@@ -136,7 +137,10 @@ cargo test # Run 80+ tests
136137
137138See link:examples/model-checking/[`examples/model-checking/`]
138139
139- Symbolic model checking implementing algorithms from Burch et al. (1990).
140+ > Symbolic model checking implementing algorithms from Burch et al. (1990).
141+
142+ *Companion Guide:* link:examples/model-checking/guide/[`guide/`]
143+ image:https://img.shields.io/badge/Guide-Model Checking-blue?style=social&logo=gitbook["Guide on Model Checking", link="https://lipen.github.io/bdd-rs/guide-mc.pdf"]
140144
141145*Features*:
142146
@@ -155,7 +159,7 @@ cargo run --bin modelcheck -- example toggle
155159
156160See link:examples/symbolic-execution/[`examples/symbolic-execution/`]
157161
158- Symbolic execution for boolean programs with BDD constraint solving.
162+ > Symbolic execution for boolean programs with BDD constraint solving.
159163
160164*Features*:
161165
0 commit comments