Documentation

BlrPcp.Problems.QESAT

Quadratic equation satisfiability #

This file defines the QESAT language and the exponential-length PCP for it.

@[reducible, inline]
abbrev QESAT (F : Type) [Field F] (n : ) :
Equations
Instances For
    def QESAT.size (F : Type) [Field F] [Fintype F] (n : ) (polys : List (CPoly.CMvPolynomial n F)) :

    The size of a QESAT instance if it was a binary string TODO: the proper way would be to use this: https://leanprover-community.github.io/mathlib4_docs/Mathlib/Computability/Encoding.html

    Equations
    Instances For
      theorem QESAT_exp_PCP {vars : } :
      ∃ (q : ) (r : Polynomial ), QESAT (ZMod 2) vars PCP (QESAT.size (ZMod 2) vars) 0 (1 / 2) (ZMod 2) (fun (n : ) => 2 ^ n) (fun (x : ) => q) fun (x : ) => Polynomial.eval x r