pub fn compute_proof_level(
contract: &Contract,
binding_status: Option<(u32, u32)>,
) -> ProofLevelExpand description
Compute the proof level for a single contract.
Derivation rules (highest matching level wins):
- L5: every obligation Lean-proved AND all bindings implemented
- L4: every obligation Lean-proved — strict per-obligation coverage,
proved + not_applicable >= proof_obligations.len()withproved > 0(partial coverage is NOT L4; see [is_lean_proved]) - L3: has Kani harnesses AND falsification tests cover obligations
- L2: falsification tests count >= obligations count
- L1: contract exists with equations