1. Intro
  2. User Guide
  3. 1. Tokenized State Machines
    1. 1.1. High-Level Idea
    2. 1.2. Guide by example
      1. 1.2.1. Counting to 2
        1. 1.2.1.1. Unverified Source
        2. 1.2.1.2. Verified Source
      2. 1.2.2. Counting to n
        1. 1.2.2.1. Unverified Source
        2. 1.2.2.2. Verified Source
      3. 1.2.3. Producer-consumer queue
        1. 1.2.3.1. Unverified Source
        2. 1.2.3.2. Verified Source
      4. 1.2.4. Reference-counted smart pointer
        1. 1.2.4.1. Unverified Source
        2. 1.2.4.2. Verified Source
        3. 1.2.4.3. Exercises
    3. 1.3. Guide TODO
      1. 1.3.1. Counting to n (again) (TODO)
      2. 1.3.2. Hash table (TODO)
      3. 1.3.3. Reader-writer lock (TODO)
  4. Reference
  5. 2. State Machines
    1. 2.1. State Machine Basics
    2. 2.2. State Machine Macro Syntax (TODO)
    3. 2.3. Transition Language
    4. 2.4. Invariants and Inductive Proofs
    5. 2.5. Macro-generated code (TODO)
    6. 2.6. State Machine Refinements (TODO)
  6. 3. VerusSync
    1. 3.1. Strategy Reference
      1. 3.1.1. variable
      2. 3.1.2. constant
      3. 3.1.3. option
      4. 3.1.4. map
      5. 3.1.5. set
      6. 3.1.6. multiset
      7. 3.1.7. bool
      8. 3.1.8. count
      9. 3.1.9. persistent_option
      10. 3.1.10. persistent_map
      11. 3.1.11. persistent_set
      12. 3.1.12. persistent_bool
      13. 3.1.13. persistent_count
      14. 3.1.14. not_tokenized
      15. 3.1.15. storage_option
      16. 3.1.16. storage_map
    2. 3.2. Operation definitions
      1. 3.2.1. birds_eye
    3. 3.3. Formalism of Tokenization by monoids (TODO)

Verus Transition Systems

Counting to n (again) (TODO)