pub struct KappaSaturatedModel {
pub model_name: String,
pub internal_sets: Vec<Vec<usize>>,
pub domain_size: usize,
}Expand description
A κ-saturated model approximation: tracks a family of internal sets and checks the finite intersection property (FIP).
Fields§
§model_name: StringLabel describing which κ-saturated model this represents.
internal_sets: Vec<Vec<usize>>Internal sets in this model (represented as index sets over a hyperfinite domain).
domain_size: usizeThe domain size (hyperfinite cardinality N).
Implementations§
Source§impl KappaSaturatedModel
impl KappaSaturatedModel
Sourcepub fn new(model_name: &str, domain_size: usize) -> Self
pub fn new(model_name: &str, domain_size: usize) -> Self
Create a new κ-saturated model with given domain size.
Sourcepub fn add_internal_set(&mut self, set: Vec<usize>)
pub fn add_internal_set(&mut self, set: Vec<usize>)
Add an internal set (as a set of indices).
Sourcepub fn has_fip(&self) -> bool
pub fn has_fip(&self) -> bool
Check the finite intersection property for the current family of internal sets. Returns true if every finite sub-family has a non-empty intersection.
Sourcepub fn fip_witness(&self) -> Option<usize>
pub fn fip_witness(&self) -> Option<usize>
If the family has FIP, return a witness element (element in all sets), else None.
Sourcepub fn saturation_description(&self) -> String
pub fn saturation_description(&self) -> String
Describe the saturation level of this model.
Auto Trait Implementations§
impl Freeze for KappaSaturatedModel
impl RefUnwindSafe for KappaSaturatedModel
impl Send for KappaSaturatedModel
impl Sync for KappaSaturatedModel
impl Unpin for KappaSaturatedModel
impl UnsafeUnpin for KappaSaturatedModel
impl UnwindSafe for KappaSaturatedModel
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
Mutably borrows from an owned value. Read more