pub struct EpistemicStratum {
pub head_predicates: Vec<String>,
pub rule_indices: Vec<usize>,
pub program: Program,
}Expand description
Split an epistemic program into independently solvable bounded components. One stratum of a stratified epistemic program: a self-contained sub-program whose epistemic heads gate only over EDB/invariant relations OR over the materialized (now-base) outputs of strictly-lower strata.
Fields§
§head_predicates: Vec<String>The epistemic output head predicate(s) this stratum materializes.
rule_indices: Vec<usize>Source-rule indices owned by this stratum.
program: ProgramThe self-contained sub-program for this stratum (its own defining rules plus the facts/EDB it needs). Lower-stratum heads are NOT redefined here; at execution they are present in the store as materialized base relations.
Trait Implementations§
Source§impl Clone for EpistemicStratum
impl Clone for EpistemicStratum
Source§fn clone(&self) -> EpistemicStratum
fn clone(&self) -> EpistemicStratum
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for EpistemicStratum
impl RefUnwindSafe for EpistemicStratum
impl Send for EpistemicStratum
impl Sync for EpistemicStratum
impl Unpin for EpistemicStratum
impl UnsafeUnpin for EpistemicStratum
impl UnwindSafe for EpistemicStratum
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