pub struct ProofObligation {
pub obligation_type: ObligationType,
pub property: String,
pub formal: Option<String>,
pub tolerance: Option<f64>,
pub applies_to: Option<AppliesTo>,
pub lean: Option<LeanProof>,
pub requires: Option<String>,
pub applies_to_phase: Option<String>,
pub parent_contract: Option<String>,
}Expand description
A proof obligation derived from an equation.
26 obligation types: 19 property types plus 7 Design by Contract
types (precondition, postcondition, frame, loop_invariant,
loop_variant, old_state, subcontract).
Fields§
§obligation_type: ObligationType§property: String§formal: Option<String>§tolerance: Option<f64>§applies_to: Option<AppliesTo>§lean: Option<LeanProof>Phase 7: Lean 4 theorem proving metadata.
requires: Option<String>Postcondition only: links to a precondition obligation ID.
applies_to_phase: Option<String>Loop invariant/variant only: references a kernel_structure.phases[] name.
parent_contract: Option<String>Subcontract only: contract stem being refined (must be in metadata.depends_on).
Trait Implementations§
Source§impl Clone for ProofObligation
impl Clone for ProofObligation
Source§fn clone(&self) -> ProofObligation
fn clone(&self) -> ProofObligation
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 moreSource§impl Debug for ProofObligation
impl Debug for ProofObligation
Source§impl Default for ProofObligation
impl Default for ProofObligation
Source§fn default() -> ProofObligation
fn default() -> ProofObligation
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ProofObligation
impl<'de> Deserialize<'de> for ProofObligation
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ProofObligation
impl RefUnwindSafe for ProofObligation
impl Send for ProofObligation
impl Sync for ProofObligation
impl Unpin for ProofObligation
impl UnsafeUnpin for ProofObligation
impl UnwindSafe for ProofObligation
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