> ## Documentation Index
> Fetch the complete documentation index at: https://docs.optimism.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Execution

The execution phase of the program is commonly the heaviest portion of the fault proof program, where the computation
that is being verified is performed.

This phase consumes the outputs of the [prologue phase](/rust/kona/sdk/fpp-dev/prologue), and performs the bulk of the verifiable
computation. After execution has concluded, the outputs are passed along to the [epilogue phase](/rust/kona/sdk/fpp-dev/epilogue) for
final verification.

## Example

At a high-level, in the `kona-client` program, the execution phase:

1. Derives the inputs to the L2 derivation pipeline by unrolling the L1 head hash fetched in the epilogue.
2. Passes the inputs to the L2 derivation pipeline, producing the L2 execution payloads required to reproduce
   the L2 safe chain at the claimed height.
3. Executes the payloads produced by the L2 derivation pipeline, producing the [L2 output root][l2-output-root] at the
   L2 claim height.

[l2-output-root]: https://specs.optimism.io/protocol/proposals.html#l2-output-commitment-construction
