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: ObligationTypeObligation category. Defaults to Invariant for legacy contracts
that predate the DbC split (e.g. eval-harness-humaneval-v1,
publish-manifest-v1) which ship with just property:/formal:.
property: StringHuman-readable statement of what must hold. Alias statement
accepted for legacy diagnostic contracts (e.g.
decode-hot-path-prefix-cache-diagnostic-v1) whose POs predate
the canonical property: naming.
formal: Option<String>Formal predicate (Rust/Lean syntax). Alias verification accepted
for legacy contracts that ship a shell/pmat-query check instead of
a formal predicate.
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
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more