Lotus

User Guide

  • Major Components Overview
  • Architecture Overview
  • Quick Start Guide
  • Installation Guide
  • Tutorials and Examples
  • Bug Detection with Lotus
  • PDG Query Language (Cypher)
  • Property-Based Slicing
  • Verification Backend Abstraction
  • Instrumentation Passes
  • Troubleshooting and FAQ
  • Command-Line Tools

Core Components

  • Alias Analysis
  • Analysis Framework
  • Annotations
  • Applications
  • Context-Free Language Analysis
  • Data Flow Analysis
  • Intermediate Representations
  • Overview
  • MemoryMLFeaturesPass
  • Features Extracted
  • Feature Output
  • Analysis Dependencies
  • Integration Notes
  • Related Components
  • Optimization
  • Solvers
    • CUDD (Binary Decision Diagrams)
    • SMT (Satisfiability Modulo Theories)
    • WPDS (Weighted Pushdown Systems)
    • SMT Samplers
    • SMT Formula Abstraction (SymAbs)
    • SMT-LIB to LLVM Translation (SLOT)
    • SMT Theory Arbitrage (STAUB)
    • E-Graph Quantifier Simplification (EGraphsSimp)
  • Transforms
  • Utilities
  • Verification
  • Checker Framework

Developer Documentation

  • API Reference
  • Developer Guide
Lotus
  • Solvers
  • View page source

Solvers

This section documents the solver frameworks, constraint solving backends, and SMT-based model checking components used throughout Lotus.

  • CUDD (Binary Decision Diagrams)
    • Overview
    • Typical Use Cases
    • Basic Usage (C++)
    • Features
    • Integration Notes
  • SMT (Satisfiability Modulo Theories)
    • Overview
    • Typical Use Cases
    • Basic Usage (C++)
    • Features
    • SymAbs: SMT Formula Abstraction Library
    • Integration Notes
  • WPDS (Weighted Pushdown Systems)
    • Overview
    • Typical Use Cases
    • Basic Usage (C++)
    • Features
    • Integration Notes
  • SMT Samplers
    • Overview
    • Samplers
    • QuickSampler Usage
    • IntervalSampler Usage
    • RegionSampler Usage
    • C++ API Usage
    • Related Work
    • See Also
  • SMT Formula Abstraction (SymAbs)
    • Overview
    • Key Differences
    • Why Linear Integer Approximation?
    • Abstract Domains
    • Key Algorithms
    • C++ API Usage
    • When to Use SymAbs
    • Related Components
  • SMT-LIB to LLVM Translation (SLOT)
    • Overview
    • Purpose
    • Key Components
    • Supported SMT-LIB Constructs
    • Example
    • Related Components
  • SMT Theory Arbitrage (STAUB)
    • Overview
    • Key Concept
    • Components
    • Usage Example
    • Workflow
    • Related Work
    • See Also
  • E-Graph Quantifier Simplification (EGraphsSimp)
    • Overview
    • Key Components
    • Main Functions
    • Algorithms
    • Use Cases
    • Related Components
Previous Next

© Copyright 2024-2025, ZJU Programming Languages and Automated Reasoning Group.

Built with Sphinx using a theme provided by Read the Docs.