pub struct EqualsRule { /* private fields */ }Expand description
Check that there is a constraint in the database that is equal to the expected constraint.
Implementations§
Trait Implementations§
Source§impl Debug for EqualsRule
impl Debug for EqualsRule
Source§impl Rule for EqualsRule
impl Rule for EqualsRule
Source§fn compute(
&mut self,
context: &mut Context,
database: &mut Database,
) -> Result<Vec<Rc<DBConstraint>>, CheckingError>
fn compute( &mut self, context: &mut Context, database: &mut Database, ) -> Result<Vec<Rc<DBConstraint>>, CheckingError>
Check the conditions for the rule and return the derived constraints.
fn get_returned_id(&self) -> Option<isize>
Source§fn elaborate(
&self,
context: &mut Context,
database: &Database,
) -> Result<(), ElaborationError>
fn elaborate( &self, context: &mut Context, database: &Database, ) -> Result<(), ElaborationError>
Elaborate the proof rule to the kernel proof.
Source§fn is_subproof_friendly(&self) -> bool
fn is_subproof_friendly(&self) -> bool
Returns
true if the rule can be used within a subproof. Read morefn trace_rule(&self, lex: Lexer<'_, RuleToken>)
Source§fn get_deleted<'a>(
&'a self,
_database: &Database,
) -> Result<Option<DeletionSequenceEnum<'a>>, CheckingError>
fn get_deleted<'a>( &'a self, _database: &Database, ) -> Result<Option<DeletionSequenceEnum<'a>>, CheckingError>
Return the ids of constraints deleted by the rule.
Source§fn add_constraints_to_core(&self, _context: &Context) -> bool
fn add_constraints_to_core(&self, _context: &Context) -> bool
Return
true if resulting constraints are added to the core set instead of the derived set by default.Source§fn swaps_database(&self) -> bool
fn swaps_database(&self) -> bool
Returns
true if the rule swaps out the currently considered database.Source§fn get_new_database(&mut self) -> (Database, PropagationEngine)
fn get_new_database(&mut self) -> (Database, PropagationEngine)
Get the new database to be swapped out.
Source§fn handle_old_database(
&mut self,
_context: &mut Context,
_database: Database,
_prop_engine: PropagationEngine,
)
fn handle_old_database( &mut self, _context: &mut Context, _database: Database, _prop_engine: PropagationEngine, )
Give the old database to the rule to handle it.
Auto Trait Implementations§
impl !RefUnwindSafe for EqualsRule
impl !Send for EqualsRule
impl !Sync for EqualsRule
impl !UnwindSafe for EqualsRule
impl Freeze for EqualsRule
impl Unpin for EqualsRule
impl UnsafeUnpin for EqualsRule
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
Source§impl<Enum> FromEnumMut<Enum> for Enum
impl<Enum> FromEnumMut<Enum> for Enum
Source§fn from_enum_mut(e: &mut Enum) -> Option<&mut Enum>
fn from_enum_mut(e: &mut Enum) -> Option<&mut Enum>
The inverse of
EnumExtensions::try_mut_var, see that method’s documentation for more. Read moreSource§impl<Enum> FromEnumRef<Enum> for Enum
impl<Enum> FromEnumRef<Enum> for Enum
Source§fn from_enum_ref(e: &Enum) -> Option<&Enum>
fn from_enum_ref(e: &Enum) -> Option<&Enum>
The inverse of
EnumExtensions::try_ref_var, see that method’s documentation for more. Read moreSource§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more