CompilationConfig

Struct CompilationConfig 

Source
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: AndStrategy

Strategy for AND operations

§or_strategy: OrStrategy

Strategy for OR operations

§not_strategy: NotStrategy

Strategy for NOT operations

§exists_strategy: ExistsStrategy

Strategy for existential quantifiers

§forall_strategy: ForallStrategy

Strategy for universal quantifiers

§implication_strategy: ImplicationStrategy

Strategy for implication

§modal_strategy: ModalStrategy

Strategy for modal logic operators

§temporal_strategy: TemporalStrategy

Strategy 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

Source

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.

Source

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.

Source

pub fn fuzzy_godel() -> Self

Fuzzy logic configuration (Gödel semantics).

Standard fuzzy logic with Gödel t-norms and s-norms.

Source

pub fn fuzzy_product() -> Self

Fuzzy logic configuration (Product semantics).

Fuzzy logic with product t-norms.

Source

pub fn fuzzy_lukasiewicz() -> Self

Fuzzy logic configuration (Łukasiewicz semantics).

Fuzzy logic with Łukasiewicz t-norms, fully differentiable.

Source

pub fn probabilistic() -> Self

Probabilistic logic configuration.

Interprets logical operations as probabilistic events.

Source

pub fn custom() -> CompilationConfigBuilder

Create a custom configuration.

Trait Implementations§

Source§

impl Clone for CompilationConfig

Source§

fn clone(&self) -> CompilationConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CompilationConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CompilationConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for CompilationConfig

Source§

fn eq(&self, other: &CompilationConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CompilationConfig

Source§

impl StructuralPartialEq for CompilationConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.