//! The succinct profile (envelope profile 1): the same public statements as
//! public v3 and state v3, with the witness committed instead of disclosed.
//!
//! The verifier derives the relation exactly as v3 does โ it recompiles the
//! CCS from the program and the subject shape and pins `z[0] = 1`, the
//! inputs, the outputs, the cost and (for state statements) every read โ
//! then checks a Spartan IOP over Fp3 challenges and one opening of the
//! committed free half of the witness. See `protocol` for the layout and the
//! protocol, `pcs` for the schemes and the policy, `specs/execution.md`
//! ยง succinct and `specs/soundness.md` for the bound.
pub
pub use ;
pub use ;
/// The schemes and their parameters, so callers need not depend on lens.
pub use Decoding;
pub use ;
pub use ;
pub use ;
use ;
use StateEvidence;
use ;
use Goldilocks;
/// Identifies the succinct profile inside an artifact.
pub const FORMAT: &str = "zheng-nox-succinct-execution-v1";
/// The bytes the transcript absorbs first: the verifying key's digest,
/// then the statement. The proof is bound to the relation it was made for.
/// Run `program` on `input` within `budget` and prove the execution with a
/// committed witness.
/// Derive the relation from `statement` and verify `proof` against it.
/// [`verify`] with an optional cached key: when given, it must have been
/// derived for this statement's program key (else the proof is rejected)
/// and the relation is not recompiled.
/// Prove an authenticated-state execution with a committed witness; the
/// statement's root is the root `evidence` authenticates.
/// Verify a succinct state proof: `evidence` is authenticated under
/// `statement.state_root` and every active read against it before anything
/// else is checked.
/// [`verify_state`] with an optional cached key (see [`verify_with`]).
/// The relation and the pinned coordinates (`(0, 1)` first) a verifier
/// derives from a public execution statement.
/// `โ`: the variables of the committed half for this relation and pins.
Homonyms
cyb/evy/forks/naga/src/back/hlsl/mod.rs
struct Baz { m: mat3x2, } struct Baz { float2 m_0; float2 m_1; float2 m_2; }; float3x2 GetMatmOnBaz(Baz obj) { return float3x2(obj.m_0, obj.m_1, obj.m_2); }