pub struct HoareVerifier { /* private fields */ }Expand description
A simple Hoare-logic verifier for IO programs.
Records pre/postcondition pairs for IO operations and checks consistency.
Implementations§
Source§impl HoareVerifier
impl HoareVerifier
Sourcepub fn add_triple(
&mut self,
op: impl Into<String>,
pre: impl Into<String>,
post: impl Into<String>,
)
pub fn add_triple( &mut self, op: impl Into<String>, pre: impl Into<String>, post: impl Into<String>, )
Add a Hoare triple.
Sourcepub fn triple_count(&self) -> usize
pub fn triple_count(&self) -> usize
Count registered triples.
Sourcepub fn postcondition_of(&self, op: &str) -> Option<&str>
pub fn postcondition_of(&self, op: &str) -> Option<&str>
Look up the postcondition for a given operation.
Sourcepub fn has_triple(&self, op: &str) -> bool
pub fn has_triple(&self, op: &str) -> bool
Check if an operation has been registered.
Sourcepub fn operations(&self) -> Vec<&str>
pub fn operations(&self) -> Vec<&str>
Get all registered operation names.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for HoareVerifier
impl RefUnwindSafe for HoareVerifier
impl Send for HoareVerifier
impl Sync for HoareVerifier
impl Unpin for HoareVerifier
impl UnsafeUnpin for HoareVerifier
impl UnwindSafe for HoareVerifier
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