SMT Solver Configuration Using Neural Encoding and Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of SMT solvers and the interrelationships between assertions and terms in SMT problems make it difficult to determine optimal encoding or ordering, leading to inefficient processing times, and manual configuration requires extensive expert knowledge.

Innovation Solution

Utilizing deep neural networks (DNNs) to automatically adjust the encoding/ordering of SMT problems and configure SMT solvers, such as graph neural networks (GNNs) to optimize processing time, memory usage, and energy consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual configuration of SMT solvers is performed, then solving efficiency can be optimized, but extensive expert knowledge is required which users often do not have

Engineering Contradiction:
Improvesolving efficiencyVSAvoidconfiguration difficulty
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system performs self-configuration by automatically analyzing the SMT problem characteristics and selecting appropriate solver parameters without requiring user expertise. The configuration module autonomously adjusts solver settings based on problem type, size, and complexity, enabling the system to serve itself rather than relying on manual expert configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes solver configuration parameters based on the specific characteristics of the SMT problem being solved. By automatically adjusting parameters such as timeout values, resource limits, and solver-specific options according to problem analysis results, the system optimizes solving efficiency without requiring manual intervention or expert knowledge from users.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If encoding transformations are applied to SMT problems, then solver performance can be dramatically improved, but the optimal ordering cannot be determined due to complexity and solver differences

Engineering Contradiction:
Improvesolver performanceVSAvoidconfiguration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis of the SMT problem structure, assertions, and terms before solving to determine optimal encoding transformations and ordering. By pre-processing the problem to identify relationships and characteristics, the system can automatically generate optimized encodings without requiring users to understand the complex interactions between different solvers and problem structures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary configuration module that acts as a mediator between the raw SMT problem and the solver. This module automatically performs encoding transformations, reordering of assertions and terms, and parameter adjustments based on problem analysis, shielding users from the complexity of solver-specific optimizations while still achieving improved performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If extensive configuration options are provided for SMT solvers, then solving efficiency can be boosted, but manual configuration becomes impossible for large SMT problems

Engineering Contradiction:
Improvesolving efficiencyVSAvoidconfiguration feasibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system automatically configures itself by analyzing the SMT problem characteristics and selecting appropriate solver parameters from the available configuration options. The configuration module autonomously determines optimal settings for large and complex SMT problems without requiring manual intervention, making the extensive configuration capabilities accessible to users regardless of their expertise level.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically selects and adjusts solver configuration parameters based on the specific characteristics of each SMT problem. By automatically changing parameters such as resource limits, timeout values, and solver-specific options according to problem analysis, the system enables efficient solving of large problems without requiring users to manually configure the extensive available options.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12517809B1Adjusting satisfiability modulo theories solver configurations
Publication Date: 2026.01.06 AMAZON TECH INC
  • US12517809B1 patent drawing
  • US12517809B1 patent drawing
  • US12517809B1 patent drawing

AI summary

Disclosed are systems and methods for adjusting the encoding/ordering of parts of a satisfiability modulo theories (“SMT”) problem indicated in an SMT configuration and/or optimizing the SMT solver configuration of an SMT solver to reduce the processing time needed to process the SMT problem using the SMT solver. For example, the order of parts of an SMT problem may be rearranged to reduce a processing time of the SMT problem. Likewise, the configuration options selected for an SMT solver may be adjusted to reduce the processing time required to process an SMT problem.