Quantum and CircuitsReading edition

Degree: 19 declarations

Reading tools
Reading libraryFind statementsInspect Lean
Switch work

Saved reading

Read side by side

Verification statements describe the retained edition and its recorded evidence. This HTML presentation adds no Lean execution or proof review.

Start reading

Resources & source

Original TeX with line links · Download TeX

The wording and mathematics follow the retained manuscript. This reading format does not add a proof review or extend Lean coverage.

Skip contents and start reading

Degree: 19 declarations

L041 bprod_nil

Source. CircuitObstructions/Degree.lean:19
Block. 02 Axioms. none

CircuitObstructions.bprod_nil {W : Type} (s : CircuitObstructions.State W) : CircuitObstructions.bprod [] s = true

L042 bprod_cons

Source. CircuitObstructions/Degree.lean:20
Block. 02 Axioms. none

CircuitObstructions.bprod_cons {W : Type} (i : W) (is : List W) (s : CircuitObstructions.State W) :
  CircuitObstructions.bprod (i :: is) s = (s i && CircuitObstructions.bprod is s)
L043 bprod_append

Source. CircuitObstructions/Degree.lean:23
Block. 02 Axioms. propext

CircuitObstructions.bprod_append {W : Type} (l k : List W) (s : CircuitObstructions.State W) :
  CircuitObstructions.bprod (l ++ k) s = (CircuitObstructions.bprod l s && CircuitObstructions.bprod k s)
L044 xor_and_right

Source. CircuitObstructions/Degree.lean:29
Block. 02 Axioms. none

CircuitObstructions.xor_and_right (a b c : Bool) : ((a ^^ b) && c) = (a && c ^^ b && c)
L045 and_xor_right

Source. CircuitObstructions/Degree.lean:33
Block. 02 Axioms. none

CircuitObstructions.and_xor_right (a b c : Bool) : (a && (b ^^ c)) = (a && b ^^ a && c)
L046 not_as_xor_one

Source. CircuitObstructions/Degree.lean:37
Block. 02 Axioms. none

CircuitObstructions.not_as_xor_one (a : Bool) : (!a) = (a ^^ true)
L047 mono

Source. CircuitObstructions/Degree.lean:47
Block. 02 Axioms. none

CircuitObstructions.DegreeLE.mono {n d e : Nat} {f : CircuitObstructions.BFun n} (h : CircuitObstructions.DegreeLE d f)
  (hde : d ≤ e) : CircuitObstructions.DegreeLE e f
L048 one

Source. CircuitObstructions/Degree.lean:54
Block. 02 Axioms. none

CircuitObstructions.DegreeLE.one (n d : Nat) : CircuitObstructions.DegreeLE d fun x => true
L049 constant

Source. CircuitObstructions/Degree.lean:57
Block. 02 Axioms. none

CircuitObstructions.DegreeLE.constant (n d : Nat) (b : Bool) : CircuitObstructions.DegreeLE d fun x => b
L050 variable

Source. CircuitObstructions/Degree.lean:63
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.DegreeLE.variable {n : Nat} (i : Fin n) : CircuitObstructions.DegreeLE 1 fun x => x i
L051 xor

Source. CircuitObstructions/Degree.lean:67
Block. 02 Axioms. propext

CircuitObstructions.DegreeLE.xor {n d e : Nat} {f g : CircuitObstructions.BFun n}
  (hf : CircuitObstructions.DegreeLE d f) (hg : CircuitObstructions.DegreeLE e g) :
  CircuitObstructions.DegreeLE (max d e) fun x => f x ^^ g x
L052 not

Source. CircuitObstructions/Degree.lean:72
Block. 02 Axioms. Quot.sound

CircuitObstructions.DegreeLE.not {n d : Nat} {f : CircuitObstructions.BFun n} (hf : CircuitObstructions.DegreeLE d f) :
  CircuitObstructions.DegreeLE d fun x => !f x
L053 monomial_mul

Source. CircuitObstructions/Degree.lean:76
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.DegreeLE.monomial_mul {n d e : Nat} (l : List (Fin n)) (hl : l.length ≤ d)
  {g : CircuitObstructions.BFun n} (hg : CircuitObstructions.DegreeLE e g) :
  CircuitObstructions.DegreeLE (d + e) fun x => CircuitObstructions.bprod l x && g x
L054 mul

Source. CircuitObstructions/Degree.lean:87
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.DegreeLE.mul {n d e : Nat} {f g : CircuitObstructions.BFun n}
  (hf : CircuitObstructions.DegreeLE d f) (hg : CircuitObstructions.DegreeLE e g) :
  CircuitObstructions.DegreeLE (d + e) fun x => f x && g x
L055 product

Source. CircuitObstructions/Degree.lean:96
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.DegreeLE.product {n : Nat} {W : Type} (l : List W)
  (s : (Fin n → Bool) → CircuitObstructions.State W) (h : ∀ (i : W), CircuitObstructions.DegreeLE 1 fun x => s x i) :
  CircuitObstructions.DegreeLE l.length fun x => CircuitObstructions.bprod l (s x)
L056 polyEval_append

Source. CircuitObstructions/Degree.lean:109
Block. 02 Axioms. propext

CircuitObstructions.polyEval_append {n : Nat} (p q : List (List (Fin n))) (x : Fin n → Bool) :
  CircuitObstructions.polyEval (p ++ q) x = (CircuitObstructions.polyEval p x ^^ CircuitObstructions.polyEval q x)
L057 polynomial_witness

Source. CircuitObstructions/Degree.lean:115
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.DegreeLE.polynomial_witness {n d : Nat} {f : CircuitObstructions.BFun n}
  (h : CircuitObstructions.DegreeLE d f) :
  ∃ p, (∀ (l : List (Fin n)), l ∈ p → l.length ≤ d) ∧ CircuitObstructions.polyEval p = f
L058 polynomial_degree_certificate

Source. CircuitObstructions/Degree.lean:134
Block. 02 Axioms. propext

CircuitObstructions.polynomial_degree_certificate {n d : Nat} (p : List (List (Fin n)))
  (hp : ∀ (l : List (Fin n)), l ∈ p → l.length ≤ d) : CircuitObstructions.DegreeLE d (CircuitObstructions.polyEval p)
L059 degreeLE_iff_polynomial

Source. CircuitObstructions/Degree.lean:142
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.degreeLE_iff_polynomial {n d : Nat} (f : CircuitObstructions.BFun n) :
  CircuitObstructions.DegreeLE d f ↔
    ∃ p, (∀ (l : List (Fin n)), l ∈ p → l.length ≤ d) ∧ CircuitObstructions.polyEval p = f
Source and conversion record

Source SHA-256: 36eb83548efd74b42264ab400e359c2de20c701b436b132b8b2859312d2dcdba

Unsupported prose commands stop the build. The mathematical expression sequence is checked against the source, with manuscript macros expanded for display.

Conversion records

Notation in Quantum and Circuits

Look up a symbol without leaving this chapter. Select text before opening help to search for it.

Search this work’s notation.

    Symbols can have different meanings in different passages. Read each result in its own context.

    Open the full notation index