pub struct CompilationConfig {
pub and_strategy: AndStrategy,
pub or_strategy: OrStrategy,
pub not_strategy: NotStrategy,
pub exists_strategy: ExistsStrategy,
pub forall_strategy: ForallStrategy,
pub implication_strategy: ImplicationStrategy,
pub modal_strategy: ModalStrategy,
pub temporal_strategy: TemporalStrategy,
pub modal_world_size: Option<usize>,
pub temporal_time_steps: Option<usize>,
}Expand description
Complete compilation configuration.
Fields§
§and_strategy: AndStrategyStrategy for AND operations
or_strategy: OrStrategyStrategy for OR operations
not_strategy: NotStrategyStrategy for NOT operations
exists_strategy: ExistsStrategyStrategy for existential quantifiers
forall_strategy: ForallStrategyStrategy for universal quantifiers
implication_strategy: ImplicationStrategyStrategy for implication
modal_strategy: ModalStrategyStrategy for modal logic operators
temporal_strategy: TemporalStrategyStrategy for temporal logic operators
modal_world_size: Option<usize>Number of possible worlds for modal logic (default: 10)
temporal_time_steps: Option<usize>Number of time steps for temporal logic (default: 100)
Implementations§
Source§impl CompilationConfig
impl CompilationConfig
Sourcepub fn soft_differentiable() -> Self
pub fn soft_differentiable() -> Self
Soft, differentiable configuration (default).
Optimized for neural network training and gradient-based optimization. All operations are differentiable with smooth gradients.
Sourcepub fn hard_boolean() -> Self
pub fn hard_boolean() -> Self
Hard, Boolean-like configuration.
Optimized for discrete reasoning with Boolean-like values. Uses min/max operations for crisp logic semantics.
Sourcepub fn fuzzy_godel() -> Self
pub fn fuzzy_godel() -> Self
Fuzzy logic configuration (Gödel semantics).
Standard fuzzy logic with Gödel t-norms and s-norms.
Sourcepub fn fuzzy_product() -> Self
pub fn fuzzy_product() -> Self
Fuzzy logic configuration (Product semantics).
Fuzzy logic with product t-norms.
Sourcepub fn fuzzy_lukasiewicz() -> Self
pub fn fuzzy_lukasiewicz() -> Self
Fuzzy logic configuration (Łukasiewicz semantics).
Fuzzy logic with Łukasiewicz t-norms, fully differentiable.
Sourcepub fn probabilistic() -> Self
pub fn probabilistic() -> Self
Probabilistic logic configuration.
Interprets logical operations as probabilistic events.
Sourcepub fn custom() -> CompilationConfigBuilder
pub fn custom() -> CompilationConfigBuilder
Create a custom configuration.
Trait Implementations§
Source§impl Clone for CompilationConfig
impl Clone for CompilationConfig
Source§fn clone(&self) -> CompilationConfig
fn clone(&self) -> CompilationConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CompilationConfig
impl Debug for CompilationConfig
Source§impl Default for CompilationConfig
impl Default for CompilationConfig
Source§impl<'de> Deserialize<'de> for CompilationConfig
impl<'de> Deserialize<'de> for CompilationConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for CompilationConfig
impl PartialEq for CompilationConfig
Source§impl Serialize for CompilationConfig
impl Serialize for CompilationConfig
impl Eq for CompilationConfig
impl StructuralPartialEq for CompilationConfig
Auto Trait Implementations§
impl Freeze for CompilationConfig
impl RefUnwindSafe for CompilationConfig
impl Send for CompilationConfig
impl Sync for CompilationConfig
impl Unpin for CompilationConfig
impl UnwindSafe for CompilationConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.