pub fn run(self) -> Result<SP1ProofWithPublicValues> {
        let Self { prover, mode: kind, pk, stdin } = self;

        // Dump the program and stdin to files for debugging if `SP1_DUMP` is set.
        crate::utils::sp1_dump(&pk.elf, &stdin);

        prover.prove(pk, &stdin, kind)
    }
Run the prover with the built arguments.

# Details
This method will run the prover with the built arguments. If the prover fails to run, the
method will return an error.

# Example
```rust,no_run
use sp1_sdk::{Prover, ProverClient, SP1Stdin};

let elf = &[1, 2, 3];
let stdin = SP1Stdin::new();

let client = ProverClient::from_env();
let (pk, vk) = client.setup(elf);
let proof = client.prove(&pk, &stdin).run().unwrap();
```
crates/sdk/src/env/prove.rs