It seems to me that the diagonalisation arguments that can be used are only slightly different from a standard one, e.g. such as can be found in these lecture notes about the Baker–Gill–Solovay Theorem (i.e., that there are oracles A for which PA=NPA และออราเคิล A ซึ่ง PA≠NPA) โดยทั่วไปคุณจะต้องอธิบายวิธีการ 'ป้อนข้อมูล' ฝ่ายตรงข้ามให้แตกต่างกันเล็กน้อย
นี่คือวิธีที่เราอาจใช้วิธีนี้เพื่อพิสูจน์การมีอยู่ของออราเคิล A ซึ่ง NPA⊈BQPA. สำหรับ oracle ใด ๆAกำหนดภาษา
LA={1n∣∣∃z∈{0,1}n:A(z,0)=(z,1)}.
เป็นที่ชัดเจนว่า LA∈NPA ด้วยเหตุผลง่ายๆที่เครื่องทัวริง nondeterministic สามารถตรวจสอบว่าอินพุตเป็นของแบบฟอร์มหรือไม่ 1n สำหรับบางคน nแล้วคาดเดาสตริง z∈{0,1}n ซึ่ง A(z,0)=(z,1) ถ้าเช่นนั้น zที่มีอยู่ เป้าหมายคือการแสดงให้เห็นว่าLA ไม่สามารถตัดสินใจได้ในเวลาพหุนามด้วยข้อผิดพลาดที่ถูกล้อมรอบโดยตระกูลวงจรรวมที่เหมือนกันโดยใช้ O(2n/2) ขอบเขตล่างของปัญหาการค้นหา
ปล่อย c,N>0 เป็นเช่นนั้นกับปัญหาการค้นหาใน oracles ด้วย nอินพุตบิตต้องการอย่างน้อย c2n/2 oracle ทำการสืบค้นอย่างถูกต้อง (ด้วยความน่าจะเป็นอย่างน้อย 2/3) สำหรับทุกคน n>N.
ปล่อย C(1), C(2), … เป็นเครื่องนับจำนวนตระกูลออราเคิลรวมทั้งหมด C(k)={C(k)n}n⩾0เช่นว่าลำดับประตูของวงจร C(k)n ทำหน้าที่ใน n- บิตอินพุตสามารถผลิตได้ในเวลาน้อยกว่าอย่างเคร่งครัด c2n/2. (เวลานี้เกี่ยวข้องกับสภาพ 'ความสม่ำเสมอ' ซึ่งเราจะสนใจในวงจรสามารถคำนวณได้โดยเครื่องทัวริงที่กำหนดขึ้นในเวลาพหุนาม - สภาพที่แข็งแกร่งกว่าที่เรากำหนดที่นี่การแจงนับของตระกูลวงจรเหล่านี้สามารถทำได้สำหรับ อินสแตนซ์โดยเป็นตัวแทนของพวกเขาโดยอ้อมโดยทัวริงเครื่องกำหนดT(k)ซึ่งสร้างลำดับเกทของพวกเขาและแจกแจงพวกนั้น ) เราแจกแจงตระกูลวงจรเพื่อให้แต่ละตระกูลวงจรเกิดขึ้นอย่างไม่สิ้นสุดบ่อยครั้งในการแจงนับ
จากขอบเขตรันไทม์บนคำอธิบายของลำดับเกตตามด้วยโดยเฉพาะอย่างยิ่ง C(k)n มีน้อยกว่า c2n/2 ประตูสำหรับทุกคน kและโดยเฉพาะอย่างยิ่งทำให้น้อยกว่า c2n/2 แบบสอบถามไปยัง oracle
สำหรับคนใด nพิจารณาวงจร C(n)n. จากขอบเขตล่างของปัญหาการค้นหาเรารู้ว่าสำหรับn>N มีค่าที่เป็นไปได้ของฟังก์ชั่น oracle f:{0,1}n→{0,1} ประเมินโดย oracle เช่นว่าด้วยความน่าจะเป็น 2/3 ผลผลิตที่ผลิตโดย C(n)n บนอินพุต 1n ไม่ใช่คำตอบที่ถูกต้องหรือไม่ ∃z∈{0,1}n:f(z)=1.
แต่ละ n>Nเลือกฟังก์ชั่นดังกล่าว fn ซึ่ง C(n)n "ล้มเหลว" ด้วยวิธีนี้
ปล่อย A เป็น oracle ที่ขนาดอินพุต n>Nประเมินผล fn.
มีการสร้าง A ด้วยวิธีนี้แต่ละตระกูลวงจร C(n) ตัดสินใจไม่ถูกต้อง LA ด้วยความน่าจะเป็นอย่างน้อย 2/3 สำหรับบางคน n>N (และอีกมากมายเช่นนี้ nในความเป็นจริง). ถ้าอย่างนั้นไม่มีตระกูลวงจรC(k) ตัดสินใจได้อย่างถูกต้อง LA ด้วยความน่าจะเป็นที่ประสบความสำเร็จล้อมรอบด้านล่าง 2/3 ของอินพุตทั้งหมดดังนั้น LA ไม่สามารถแก้ไขได้ด้วยขอบเขตดังกล่าวโดยตระกูลวงจรรวมเครื่องแบบที่สร้างขึ้นได้ทันเวลา p(n).
ดังนั้น, LA∉BQPAซึ่งมันตามมานั้น NPA⊈BQPA.