Skip to main content

qualia_core_db/modalities/logic/
mod.rs

1//! Logic Modality
2//!
3//! This module contains all logic-related modalities for the QualiaDB engine.
4//! It includes deontic logic, core logic evaluation, QUBO compilation,
5//! N3 rule processing, SHACL constraint compilation, and OWL conversion.
6
7// ─── Core Logic ─────────────────────────────────────────────────────────────
8
9pub mod core;
10pub use core::{WebizenCompiler, WebizenOpcode, WebizenVM};
11
12// ─── Deontic Logic ───────────────────────────────────────────────────────────
13
14pub mod deontic;
15#[cfg(any(
16    not(target_arch = "wasm32"),
17    feature = "wasm-scientific",
18    feature = "wasm-full"
19))]
20pub use deontic::compile_n3_rule_to_norm;
21pub use deontic::{
22    compile_norm_quin, defeater_fingerprint, evaluate_deontic_contract, extract_deontic_opcode,
23    extract_expiry_unix32, harvest_defeater_fingerprints, norm_has_active_defeater, DeonticError,
24    DeonticStatus, DeonticVerdict, DEFEATER_BIT, MAX_DEFEATER_SLOTS, OP_FORBID, OP_OBLIGATE,
25    OP_PERMIT,
26};
27
28// ─── QUBO Compilation ─────────────────────────────────────────────────────────
29
30pub mod qubo;
31
32// ─── N3 Rule Processing ────────────────────────────────────────────────────────
33
34#[cfg(any(
35    not(target_arch = "wasm32"),
36    feature = "wasm-scientific",
37    feature = "wasm-full"
38))]
39pub mod n3_compiler;
40pub mod n3_parser;
41pub mod n3logic;
42#[cfg(any(
43    not(target_arch = "wasm32"),
44    feature = "wasm-scientific",
45    feature = "wasm-full"
46))]
47pub use n3_compiler::{
48    validate_rule_against_shapes, AgentIntentFrame, N3CompileError, N3CompiledProgram,
49    N3OutputMode, SentinelError, MAX_CONTEXT_NAMESPACE_SLOTS, MAX_INTENT_SCOPE_SLOTS,
50};
51pub use n3_parser::{N3Event, N3Parser, Rule, RuleType, Term};
52
53// ─── SHACL Constraint Compilation ───────────────────────────────────────────────
54
55#[cfg(any(
56    not(target_arch = "wasm32"),
57    feature = "wasm-scientific",
58    feature = "wasm-full"
59))]
60pub mod shacl;
61#[cfg(any(
62    not(target_arch = "wasm32"),
63    feature = "wasm-scientific",
64    feature = "wasm-full"
65))]
66pub use shacl::{
67    CalcComputeTarget, ClinicalRiskModel, CompiledShape, NodeKindType, PropertyPath,
68    ProteinScoringMatrix, ShaclCompiler, ShaclConstraint, ShaclSeverity,
69};
70
71// ─── SHACL Extensions for New Client Features ───────────────────────────────────
72
73#[cfg(any(
74    not(target_arch = "wasm32"),
75    feature = "wasm-scientific",
76    feature = "wasm-full"
77))]
78pub mod shacl_extensions;
79#[cfg(any(
80    not(target_arch = "wasm32"),
81    feature = "wasm-scientific",
82    feature = "wasm-full"
83))]
84pub use shacl_extensions::{
85    LogConfiguration, LogEntry, LogExportFormat, LogLevel, LogRetention, NetworkConfiguration,
86    SecurityConfiguration, StorageConfiguration, SystemTrayConfiguration,
87    TaxRecipientConfiguration, TrayAction, TrayMenuItem, TrayStatusIndicator,
88};
89
90// ─── SHACL Extensions for Specialized Libraries ─────────────────────────────────
91
92#[cfg(any(
93    not(target_arch = "wasm32"),
94    feature = "wasm-scientific",
95    feature = "wasm-full"
96))]
97pub mod geometry_asset_shacl;
98#[cfg(any(
99    not(target_arch = "wasm32"),
100    feature = "wasm-scientific",
101    feature = "wasm-full"
102))]
103pub mod specialized_libs_shacl;
104#[cfg(any(
105    not(target_arch = "wasm32"),
106    feature = "wasm-scientific",
107    feature = "wasm-full"
108))]
109pub use geometry_asset_shacl::{
110    validate_geometry_manifest, GeometryAssetConfiguration, GeometryConstraintViolation,
111    GeometryManifestFacts, MAX_GEOMETRY_COUNT,
112};
113#[cfg(any(
114    not(target_arch = "wasm32"),
115    feature = "wasm-scientific",
116    feature = "wasm-full"
117))]
118pub use specialized_libs_shacl::{
119    // Quantum Biology
120    BiomolecularConfiguration,
121    BoundaryConditions,
122    ClinicalDecisionConfiguration,
123    // Cryptographic Library
124    CryptographicConfiguration,
125    DeterminantConfiguration,
126    DigitalSignatureConfiguration,
127    DistributionConfiguration,
128    EigenDecomposition,
129    // Engineering Analysis
130    EngineeringSimulationConfiguration,
131    // Financial Modeling
132    FinancialModelConfiguration,
133    InferenceConfiguration,
134    KeyManagementConfiguration,
135    LoadConfiguration,
136    MaterialProperties,
137    // Linear Algebra
138    MatrixConfiguration,
139    MatrixOperation,
140    // Medical Computing
141    MedicalDataConfiguration,
142    MedicalImagingConfiguration,
143    MeshConfiguration,
144    // Machine Learning
145    ModelConfiguration,
146    // Chemistry Modeling
147    MoleculeConfiguration,
148    PolynomialSolveConfiguration,
149    // QPU Bridge
150    QPUConfiguration,
151    QuantumAnnealingConfiguration,
152    QuantumBiologyCalculation,
153    QuantumCalculation,
154    QuantumCircuitConfiguration,
155    ReactionConfiguration,
156    RiskCalculation,
157    SamplingConfiguration,
158    // Physics Simulation
159    SimulationConfiguration,
160    // Statistical Computing
161    StatisticalAnalysisConfiguration,
162    SvdConfiguration,
163    SymbolicExpressionConfiguration,
164    SymbolicOperationConfiguration,
165    TradingConfiguration,
166    TrainingConfiguration,
167};
168
169// ─── SHACL Extensions for the Computational-Mathematics Engine ──────────────────
170
171#[cfg(any(
172    not(target_arch = "wasm32"),
173    feature = "wasm-scientific",
174    feature = "wasm-full"
175))]
176pub mod computational_maths_shacl;
177#[cfg(any(
178    not(target_arch = "wasm32"),
179    feature = "wasm-scientific",
180    feature = "wasm-full"
181))]
182pub use computational_maths_shacl::{
183    get_computational_maths_shacl_ttl, AssumptionConfiguration, ExactArithmeticConfiguration,
184    IntegralTransformConfiguration, InterpolationConfiguration, NumberTheoryConfiguration,
185    NumericalMethodConfiguration, SpecialFunctionConfiguration, SymbolicCalculusConfiguration,
186    UnitsConfiguration, VectorCalculusConfiguration, COMPUTATIONAL_MATHS_SHAPES,
187};
188
189// ─── SHACL Extensions for Core Modalities ───────────────────────────────────────
190
191pub mod logic_modalities_shacl;
192pub use logic_modalities_shacl::{get_logic_modalities_shacl_ttl, LOGIC_MODALITY_SHAPES};
193
194#[cfg(any(
195    not(target_arch = "wasm32"),
196    feature = "wasm-scientific",
197    feature = "wasm-full"
198))]
199pub mod core_modalities_shacl;
200#[cfg(any(
201    not(target_arch = "wasm32"),
202    feature = "wasm-scientific",
203    feature = "wasm-full"
204))]
205pub use core_modalities_shacl::{
206    // ASP
207    ASPConfiguration,
208    AllenIntervalConfiguration,
209    ArgumentEvaluationConfiguration,
210    // Argumentation
211    ArgumentationConfiguration,
212    BayesianInferenceConfiguration,
213    // Calculus
214    CalculusConfiguration,
215    ContradictionHandling,
216    // Control Feedback
217    ControlFeedbackConfiguration,
218    // DL
219    DLConfiguration,
220    DLQueryConfiguration,
221    // Dialectical Logic
222    DialecticalConfiguration,
223    // Diffusion
224    DiffusionConfiguration,
225    DiffusionGridConfiguration,
226    // Epistemic Logic
227    EpistemicConfiguration,
228    EpistemicQuery,
229    FeedbackGainConfiguration,
230    GraphAlgorithmConfiguration,
231    GraphAnalysisConfiguration,
232    // Graph Theory
233    GraphConfiguration,
234    // Interval Reasoning
235    IntervalArithmeticConfiguration,
236    // Temporal LTL
237    LTLConfiguration,
238    // Linear Logic
239    LinearLogicConfiguration,
240    ODEConfiguration,
241    // Paraconsistent Logic
242    ParaconsistentConfiguration,
243    // Probabilistic
244    ProbabilisticConfiguration,
245    SpatialRegionConfiguration,
246    // Spatio-Temporal
247    SpatioTemporalConfiguration,
248    StableModelConfiguration,
249    SynthesisConfiguration,
250    TemporalTrace,
251    TensorProvenanceConfiguration,
252};
253
254// ─── SHACL Extensions for Infrastructure ───────────────────────────────────────
255
256#[cfg(any(
257    not(target_arch = "wasm32"),
258    feature = "wasm-scientific",
259    feature = "wasm-full"
260))]
261pub mod infrastructure_shacl;
262#[cfg(any(
263    not(target_arch = "wasm32"),
264    feature = "wasm-scientific",
265    feature = "wasm-full"
266))]
267pub use infrastructure_shacl::{
268    // Domain-Specific
269    BiologicalDomainConfiguration,
270    CalculusSolverConfiguration,
271    ChemicalDomainConfiguration,
272    DomainTransformerConfiguration,
273    FinancialDomainConfiguration,
274    // Geometric Algebra
275    GeometricAlgebraConfiguration,
276    GeospatialDomainConfiguration,
277    HybridStateConfiguration,
278    LinearAlgebraSolverConfiguration,
279    MathematicalDomainConfiguration,
280    // Obfuscation
281    ObfuscationConfiguration,
282    OptimizationSolverConfiguration,
283    PhysicalDomainConfiguration,
284    PolynomialObfuscationConfiguration,
285    QuantumOptimizerConfiguration,
286    SemanticStripperConfiguration,
287    // Solvers
288    SolverConfiguration,
289    SymbolicLogicSolverConfiguration,
290};
291
292// ─── OWL Conversion ───────────────────────────────────────────────────────────
293
294pub mod owl;
295
296// ─── Rules ─────────────────────────────────────────────────────────────────────
297
298#[cfg(any(
299    not(target_arch = "wasm32"),
300    feature = "wasm-scientific",
301    feature = "wasm-full"
302))]
303pub mod rules;
304#[cfg(any(
305    not(target_arch = "wasm32"),
306    feature = "wasm-scientific",
307    feature = "wasm-full"
308))]
309pub use rules::{RuleEngine, RuleSet, GUARDIANSHIP_RULESET};
310
311// ─── Opcodes ─────────────────────────────────────────────────────────────────
312
313/// Epistemic logic opcodes (0x20-0x22)
314pub const OP_KNOW: u8 = 0x20;
315pub const OP_BELIEVE: u8 = 0x21;
316pub const OP_DOUBT: u8 = 0x22;
317
318/// Paraconsistent logic opcodes (0x30-0x32)
319pub const OP_CONTRADICTION: u8 = 0x30;
320pub const OP_GLUT: u8 = 0x31;
321pub const OP_RELEVANCE: u8 = 0x32;
322
323/// LTL (Linear Temporal Logic) opcodes (0x40-0x44)
324pub const OP_NEXT: u8 = 0x40;
325pub const OP_UNTIL: u8 = 0x41;
326pub const OP_ALWAYS: u8 = 0x42;
327pub const OP_EVENTUALLY: u8 = 0x43;
328pub const OP_RELEASE: u8 = 0x44;
329
330// ─── Re-exports ───────────────────────────────────────────────────────────────
331
332// Re-export commonly used types from submodules