LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
assumption.hpp
浏览该文件的文档.
1
/**
2
* @file assumption.hpp
3
* @brief Core enumerations and forward declarations for the Assumption System.
4
*
5
* Defines Domain, Sign, Parity, Boundedness, and Tribool enumerations used
6
* throughout the assumption-based reasoning layers (PropertyStore, RelationStore,
7
* InferenceEngine, AssumptionContext, QueryInterface).
8
*/
9
#pragma once
10
11
namespace
LMCAS
{
12
13
/// Mathematical domain hierarchy (least specific → most specific).
14
/// Complex ⊃ Real ⊃ Algebraic ⊃ Rational ⊃ Integer ⊃ Natural ⊃ PositiveInt
15
enum class
Domain
{
16
Complex
,
///< Complex numbers (default, least specific)
17
Real
,
///< Real numbers
18
Algebraic,
///< Algebraic numbers (roots of polynomials with rational coefficients)
19
Rational,
///< Rational numbers
20
Integer
,
///< Integers
21
Natural
,
///< Non-negative integers (0, 1, 2, ...)
22
PositiveInt
///< Positive integers (1, 2, 3, ...)
23
};
24
25
/// Sign classification for symbols and expressions.
26
enum class
Sign
{
27
Positive
,
///< > 0
28
Negative
,
///< < 0
29
NonNegative
,
///< >= 0
30
NonPositive
,
///< <= 0
31
Zero
,
///< == 0
32
NonZero
///< != 0
33
};
34
35
/// Integer parity classification.
36
enum class
Parity
{
37
Even
,
///< Even integer
38
Odd
,
///< Odd integer
39
Unknown
///< Parity not determined
40
};
41
42
/// Boundedness classification for symbols.
43
enum class
Boundedness
{
44
Bounded
,
///< Symbol has finite bounds
45
Unbounded
,
///< Symbol is unbounded
46
Unknown
///< Boundedness not determined
47
};
48
49
/// Tri-state logic value for property queries.
50
enum class
Tribool
{
51
True
,
///< Property definitely holds
52
False
,
///< Property definitely does not hold
53
Unknown
///< Property cannot be determined
54
};
55
56
/// Monotonicity classification for functions over intervals.
57
enum class
Monotonicity
{
58
Increasing
,
///< Strictly increasing
59
Decreasing
,
///< Strictly decreasing
60
NonDecreasing
,
///< Non-decreasing (weakly increasing)
61
NonIncreasing
,
///< Non-increasing (weakly decreasing)
62
Unknown
///< Monotonicity not determined
63
};
64
65
/// Matrix definiteness classification.
66
enum class
Definiteness
{
67
PositiveDefinite
,
///< All eigenvalues positive
68
PositiveSemiDefinite
,
///< All eigenvalues non-negative
69
NegativeDefinite
,
///< All eigenvalues negative
70
NegativeSemiDefinite
,
///< All eigenvalues non-positive
71
Indefinite
,
///< Mixed eigenvalue signs
72
Unknown
///< Definiteness not determined
73
};
74
75
/// Finiteness classification for limits and sequences.
76
enum class
Finiteness
{
77
Finite
,
///< Has a finite value or limit
78
Divergent
,
///< Diverges to infinity or oscillates
79
Unknown
///< Finiteness not determined
80
};
81
82
// Forward declarations for assumption system components
83
class
PropertyStore;
84
class
RelationStore;
85
class
InferenceEngine;
86
class
AssumptionContext;
87
class
QueryInterface;
88
89
}
// namespace LMCAS
LMCAS
定义
assumption.hpp:11
LMCAS::Domain
Domain
Mathematical domain hierarchy (least specific → most specific). Complex ⊃ Real ⊃ Algebraic ⊃ Rational...
定义
assumption.hpp:15
LMCAS::Domain::Natural
@ Natural
Non-negative integers (0, 1, 2, ...)
定义
assumption.hpp:21
LMCAS::Domain::Real
@ Real
Real numbers
定义
assumption.hpp:17
LMCAS::Domain::Integer
@ Integer
Integers
定义
assumption.hpp:20
LMCAS::Domain::PositiveInt
@ PositiveInt
Positive integers (1, 2, 3, ...)
定义
assumption.hpp:22
LMCAS::Boundedness
Boundedness
Boundedness classification for symbols.
定义
assumption.hpp:43
LMCAS::Boundedness::Unbounded
@ Unbounded
Symbol is unbounded
定义
assumption.hpp:45
LMCAS::Boundedness::Bounded
@ Bounded
Symbol has finite bounds
定义
assumption.hpp:44
LMCAS::Tribool
Tribool
Tri-state logic value for property queries.
定义
assumption.hpp:50
LMCAS::Tribool::True
@ True
Property definitely holds
定义
assumption.hpp:51
LMCAS::Tribool::False
@ False
Property definitely does not hold
定义
assumption.hpp:52
LMCAS::Monotonicity
Monotonicity
Monotonicity classification for functions over intervals.
定义
assumption.hpp:57
LMCAS::Monotonicity::NonDecreasing
@ NonDecreasing
Non-decreasing (weakly increasing)
定义
assumption.hpp:60
LMCAS::Monotonicity::Decreasing
@ Decreasing
Strictly decreasing
定义
assumption.hpp:59
LMCAS::Monotonicity::NonIncreasing
@ NonIncreasing
Non-increasing (weakly decreasing)
定义
assumption.hpp:61
LMCAS::Monotonicity::Increasing
@ Increasing
Strictly increasing
定义
assumption.hpp:58
LMCAS::Definiteness
Definiteness
Matrix definiteness classification.
定义
assumption.hpp:66
LMCAS::Definiteness::NegativeSemiDefinite
@ NegativeSemiDefinite
All eigenvalues non-positive
定义
assumption.hpp:70
LMCAS::Definiteness::NegativeDefinite
@ NegativeDefinite
All eigenvalues negative
定义
assumption.hpp:69
LMCAS::Definiteness::PositiveSemiDefinite
@ PositiveSemiDefinite
All eigenvalues non-negative
定义
assumption.hpp:68
LMCAS::Definiteness::PositiveDefinite
@ PositiveDefinite
All eigenvalues positive
定义
assumption.hpp:67
LMCAS::Definiteness::Indefinite
@ Indefinite
Mixed eigenvalue signs
定义
assumption.hpp:71
LMCAS::Finiteness
Finiteness
Finiteness classification for limits and sequences.
定义
assumption.hpp:76
LMCAS::Finiteness::Finite
@ Finite
Has a finite value or limit
定义
assumption.hpp:77
LMCAS::Finiteness::Divergent
@ Divergent
Diverges to infinity or oscillates
定义
assumption.hpp:78
LMCAS::Parity
Parity
Integer parity classification.
定义
assumption.hpp:36
LMCAS::Parity::Even
@ Even
Even integer
定义
assumption.hpp:37
LMCAS::Parity::Odd
@ Odd
Odd integer
定义
assumption.hpp:38
LMCAS::Parity::Unknown
@ Unknown
Parity not determined
定义
assumption.hpp:39
LMCAS::Sign
Sign
Sign classification for symbols and expressions.
定义
assumption.hpp:26
LMCAS::Sign::NonNegative
@ NonNegative
>= 0
定义
assumption.hpp:29
LMCAS::Sign::Positive
@ Positive
定义
assumption.hpp:27
LMCAS::Sign::NonZero
@ NonZero
!= 0
定义
assumption.hpp:32
LMCAS::Sign::Zero
@ Zero
== 0
定义
assumption.hpp:31
LMCAS::Sign::NonPositive
@ NonPositive
<= 0
定义
assumption.hpp:30
LMCAS::Sign::Negative
@ Negative
< 0
定义
assumption.hpp:28
LMCAS::ode_root_detail::Complex
定义
ode_polynomial_utils.hpp:19
include
assumption.hpp
生成于
, 为 LMCAS使用
1.18.0