をある種のオブジェクトをエンコードし、Qをある特性を満たすすべてのオブジェクトのセットと考える。考えるP受け付ける機能(の符号)ペアとして(X 、P )xはオブジェクトであり、pはの「証拠」主張されているX ∈ Qを。関数Pは「証拠チェッカー」である:それはそれを検証し、pが実際に有効な証拠ことを表しているのx ∈ Qを。ある場合はxを返し、そうでない場合はQのデフォルト要素を返します。Σ∗QP(x 、p )バツpX ∈ QPpX ∈ QバツQ
例として、グラフをエンコードし、Qをハミルトニアングラフの(エンコードの)セットであるとします。可能Pは、このです:としてデコード入力(G 、ℓ )Gはグラフであり、ℓはの頂点のリストであり、G。ℓがGのハミルトニアンサイクルであることを確認します。もしそうならGを返し、そうでなければ1点のグラフを返します。Σ∗QP(G 、ℓ )GℓGℓGG
平面グラフの場合を考えました。適切なを取得するには、平面性のポリタイムチェック可能な証拠の概念が必要です。P
一般に、への入力はペア(x 、p )をエンコードする必要はありません。重要なことは、Pが入力から2つの情報を抽出できることです。問題のオブジェクトと、オブジェクトがQに属しているという主張されている証拠です。たとえば、一次理論で証明可能なすべての文のセットをQとしましょう。ここで、Pは入力を正式な証明としてデコードします。エンコーディングが無効である場合、それを返します⊤P(x,p)PQQP⊤。エンコーディングが有効な証明を表す場合、それは証明によって証明されたステートメントを返します(これは、証明ツリーのルート、または証明の形式に応じて、一連のステートメントの最後の式である可能性があります)。