33class AssumptionContext;
65 explicit InferenceEngine(
const AssumptionContext& ctx);
68 InferenceEngine(
const InferenceEngine&) =
delete;
69 InferenceEngine& operator=(
const InferenceEngine&) =
delete;
70 InferenceEngine(InferenceEngine&&)
noexcept;
71 InferenceEngine& operator=(InferenceEngine&&)
noexcept;
159 void set_max_depth(
int depth);
165 int get_max_depth()
const;
181 const SymbolicExpr& expr,
const std::string&
variable)
const;
197 const SymbolicExpr& expr,
const std::string&
variable)
const;
216 Monotonicity infer_monotonicity(
const SymbolicExpr& expr,
const std::string& var,
228 std::optional<Interval> propagate_bounds(
const SymbolicExpr& expr)
const;
241 void apply_monotonicity_rules(
const Relation& rel, RelationStore& store,
242 PropertyStore& prop_store,
int depth = 0);
252 RelationStore& store,
253 PropertyStore& prop_store,
257 static constexpr int MAX_MONOTONICITY_DEPTH = 8;
261 std::unique_ptr<Impl> impl_;
Core enumerations and forward declarations for the Assumption System.
函数节点,表示数学函数调用(三角函数、对数、特殊函数等)。
const std::string & variable
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
ExprResult interval(ExprPtr lower, ExprPtr upper, bool lower_closed, bool upper_closed)
Domain
Mathematical domain hierarchy (least specific → most specific). Complex ⊃ Real ⊃ Algebraic ⊃ Rational...
Result< std::optional< SymbolicExpr > > InferencePeriodResult
Monotonicity
Monotonicity classification for functions over intervals.
std::size_t std::size_t depth
const NumberDomainSet & domain
Result< Tribool > InferenceTriboolResult
Sign
Sign classification for symbols and expressions.
A stored relational constraint between two symbolic expressions.
RelationStore class for storing relational constraints between symbolic expressions.
符号表达式主类 SymbolicExpr 及其工厂方法,运算接口.