The unconditional upper bound MIP ⊆ NEXP #
Every problem with a multiprover interactive proof (Cslib.Complexity.MIP or
Cslib.Complexity.MIP₂) is decidable in nondeterministic exponential time
(Cslib.Complexity.NEXP) Babai, Fortnow and Lund,
Arora and Barak, Section 8.5:
$$\mathsf{MIP}_2 \subseteq \mathsf{MIP} \subseteq \mathsf{NEXP}.$$
Proof overview #
- Multi-channel live replay (
Cslib.Complexity.MIP.aliveRun,Cslib.Complexity.MIP.accepts): A tagged historyth : TaggedHistoryis a list of(channel, (query, reply))entries with channel index inℕ(encoded in unary). Given inputxand coin stringrof lengtht,aliveRun M x r thspecializesCslib.Complexity.Interaction.aliveRunto executeMfortsteps, consumingthfrom the front wheneverMissues an oracle query(op, m)and checking that the entry matches(op.val, m). ByCslib.Complexity.Interaction.computableInPolyTime_accepts,acceptsis computable tidily in polynomial time. - Correspondence with deterministic prover families (
acceptFrom_eq_one_of_accepts,acceptFrom_eq_ite_accepts_canonicalTrace): Projecting a tagged historythonto proveri's channel (projHistory i th) commutes with non-communicating state updates (Function.update). Henceaccepts M x r th = trueunder projected histories valid forD : Fin p → DetProverimpliesacceptFrom (Prover.independent fun i => (D i).toProver) ... (some (coinProgram M t x r)) = 1, and conversely every deterministic prover familyDhas a canonical tagged historycanonicalTrace M t D ... rof length at mosttwith queries and replies of length at mostt. - Certificate verification in polynomial time on exponentially padded instances
(
checkPaddedCert,paddedMIP_mem_NP): A certificatecert : Certlists accepting pairs(r, th)of coin strings and tagged histories. The polynomial-time checker verifies that every(r, th) ∈ certhasr.length = tandaccepts M x r th = true, that the coin stringsrare pairwise distinct, that for every proveri < pthe projected historiesprojHistory i thare pairwiseconsistentHist, and that2 ^ t < 2 * cert.length. ByDetProver.ValidFrom.consistentHistandvalidFrom_candidateProver, such a certificate exists if and only if some family of deterministic provers is accepted on more than half of the2 ^ tcoin strings. - Upward translation from
NPtoNEXP(preimage_mem_NTIME_of_mem_NP,preimage_pad_mem_NEXP,MIP_subset_NEXP): Composing the deterministic exponential-padding machine (ComputableInO.unary_two_pow) with the halting fair-coin certificate-verifier machine (IsPPTOn.exists_halting_machine) viaMultiTapePTM.compand converting toMultiTapeNTMviaMultiTapePTM.toNTMplaces the unpadded language inNEXP.
The converse inclusion NEXP ⊆ MIP₂ (which requires the Babai–Fortnow–Lund multilinearity test
and the arithmetization of NEXP verification tableaux) is not formalized here and remains open.
Main definitions #
Cslib.Complexity.MIP.TaggedHistory: multi-channel(prover, (query, reply))transcripts.Cslib.Complexity.MIP.projHistory: projection of a tagged transcript onto one prover channel.Cslib.Complexity.MIP.aliveRun,Cslib.Complexity.MIP.accepts: polynomial-time multi-channel verifier replay.Cslib.Complexity.MIP.checkCert,Cslib.Complexity.MIP.paddedMIP: the certificate checker and exponentially paddedNPlanguage.
Main results #
Cslib.Complexity.MIP.exists_checkCert_of_detProver,Cslib.Complexity.MIP.exists_detProver_of_checkCert: completeness and soundness ofcheckCertagainst families of deterministic provers.Cslib.Complexity.MIP_subset_NEXP:MIP ⊆ NEXP.Cslib.Complexity.MIP₂_subset_NEXP:MIP₂ ⊆ NEXP.
References #
Tagged histories and per-prover projections #
A tagged query-reply entry (channel, (query, reply)) with channel index in ℕ.
Instances For
A multi-channel transcript of (channel, (query, reply)) entries.
Instances For
Encoding of a tagged transcript entry, with the channel index in unary.
Instances For
Encoding of multi-channel tagged transcripts.
Instances For
Project a multi-channel TaggedHistory onto the single-prover History seen by channel i.
Instances For
Projecting a tagged history onto channel i is polynomial-time.
Pairwise history consistency in polynomial time #
consistentHist is computable in polynomial time.
Multi-channel live replay in polynomial time #
Whether a tagged entry e belongs to prover channel op : Fin p.
Instances For
One step of the multi-channel live replay of M with truncation bound t and coin b.
Instances For
The multi-channel live replay of M on input x with coins r against tagged history th.
Instances For
Whether M on input x with coins r accepts along tagged history th: the replay stays
live, consumes the entire tagged history, and has output [true] after the clocked run.
Instances For
Multi-channel replay acceptance is polynomial-time in the input, coins, and tagged history.
Soundness of a single aliveStep: if aliveStep M t (cfg, th, true) b remains live and
every prover channel's projection of th is valid for D i from s i, then coinStep M t cfg b
against Prover.independent (fun i => (D i).toProver) transitions deterministically to the same
configuration and an updated state vector s' for which the remaining tagged history is valid.
Soundness of foldl (aliveStep M t): if the multi-channel replay over l stays live and
th has valid projections for D from s, then l.foldlM (coinStep M t) cfg transitions
deterministically to the final configuration of the replay.
Soundness of accepts: if r.length = t, accepts M x r th = true, and every prover's
projection of th is valid for D i from s i, then coinProgram M t x r accepts with
probability 1 against D.
The canonical tagged history generated by running M with truncation t against deterministic
provers D : Fin p → DetProver from configuration cfg and prover states s over coins l.
Instances For
Every prover's projection of canonicalTrace M t D cfg s l is a valid history for the
t-truncated deterministic prover (D i).truncate t starting from s i.
Running foldl (aliveStep M t) against canonicalTrace M t D cfg s l stays live, consumes the
entire trace, and reaches the exact configuration produced by l.foldlM (coinStep M t) cfg against
D.
Completeness of accepts via canonicalTrace: for any r of length t, the acceptance
probability of coinProgram M t x r against deterministic provers D is 1 if accepts holds on
canonicalTrace, and 0 otherwise.
Size bounds on canonicalTrace M t D cfg s l: its length is at most l.length, every channel
index is at most p, every query has length at most i + l.length, and every reply has length at
most t.
Polynomial-time certificate checking and the padded NP language #
A multiprover certificate is a list of (coinString, taggedHistory) pairs.
Instances For
Encoding of a single (coinString, taggedHistory) certificate entry.
Instances For
Total decoder for multiprover certificates.
Instances For
Check whether cert is a valid accepting multiprover transcript table for M on input x
with clock t = c * (x.length + 1) ^ d:
- every
(r, th) ∈ certhasr.length = tandaccepts M x r th = true, - every coin string
rincertappears once, - for every prover
i < p, the projected historiesprojHistory i thare pairwiseconsistentHist, 2 ^ t < 2 * cert.length.
Instances For
Check a certificate on a padded instance w: require (encCert cert).length ≤ w.length and
run checkCert on the unframed prefix unframe w.
Instances For
checkCert is computable in polynomial time.
checkPaddedCert is computable in polynomial time.
The padded multiprover language paddedMIP M c d belongs to NP encBits.
Soundness of checkCert: if checkCert M c d x cert = true, then there exists an
independent family of deterministic provers D : Fin p → DetProver whose acceptance probability on
the t = c * (x.length + 1) ^ d coin family exceeds 1 / 2.
Completeness of checkCert: if a family D : Fin p → DetProver of deterministic provers
makes M accept x on more than half of the t = c * (x.length + 1) ^ d coin strings, then
the canonical certificate built from D passes checkCert, and its encoded length is at most
32 * (p + x.length + t + 1) ^ 2 * 2 ^ t.
The unconditional upper bounds MIP ⊆ NEXP and MIP₂ ⊆ NEXP #
MIP ⊆ NEXP Babai, Fortnow and Lund,
Arora and Barak, Section 8.5: every problem with a multiprover interactive proof
is decidable in nondeterministic exponential time.