Quantum and CircuitsReading edition

SafeDegree: 22 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

SafeDegree: 22 declarations

L072 mono

Source. CircuitObstructions/SafeDegree.lean:16
Block. 02 Axioms. none

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

L073 bprod_true_iff

Source. CircuitObstructions/SafeDegree.lean:22
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.bprod_true_iff {W : Type} (l : List W) (s : CircuitObstructions.State W) :
  CircuitObstructions.bprod l s = true ↔ ∀ (i : W), i ∈ l → s i = true
L074 pointIndicator_true_iff

Source. CircuitObstructions/SafeDegree.lean:31
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.pointIndicator_true_iff {n : Nat} (v x : Fin n → Bool) :
  CircuitObstructions.pointIndicator v x = true ↔ x = v
L075 pointIndicator_degree

Source. CircuitObstructions/SafeDegree.lean:44
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.pointIndicator_degree {n : Nat} (v : Fin n → Bool) :
  CircuitObstructions.DegreeLE n (CircuitObstructions.pointIndicator v)
L076 completeSafeDegree_le_inputs

Source. CircuitObstructions/SafeDegree.lean:56
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.completeSafeDegree_le_inputs {n : Nat} (f : CircuitObstructions.BFun n) :
  CircuitObstructions.CompleteSafeDegreeLE f n
L077 exists_least_degree

Source. CircuitObstructions/SafeDegree.lean:65
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.exists_least_degree (P : Nat → Prop) (n : Nat) (hn : P n) : ∃ r, P r ∧ ∀ (k : Nat), P k → r ≤ k
L078 beta_exists

Source. CircuitObstructions/SafeDegree.lean:83
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.beta_exists {n : Nat} (f : CircuitObstructions.BFun n) :
  ∃ r, CircuitObstructions.CompleteSafeDegreeLE f r ∧ ∀ (k : Nat), CircuitObstructions.CompleteSafeDegreeLE f k → r ≤ k
L079 beta_spec

Source. CircuitObstructions/SafeDegree.lean:90
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.beta_spec {n : Nat} (f : CircuitObstructions.BFun n) :
  CircuitObstructions.CompleteSafeDegreeLE f (CircuitObstructions.beta f)
L080 beta_le_of_cover

Source. CircuitObstructions/SafeDegree.lean:93
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.beta_le_of_cover {n d : Nat} {f : CircuitObstructions.BFun n}
  (h : CircuitObstructions.CompleteSafeDegreeLE f d) : CircuitObstructions.beta f ≤ d
L081 beta_le_iff

Source. CircuitObstructions/SafeDegree.lean:97
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.beta_le_iff {n d : Nat} (f : CircuitObstructions.BFun n) :
  CircuitObstructions.beta f ≤ d ↔ CircuitObstructions.CompleteSafeDegreeLE f d
L082 beta_le_inputs

Source. CircuitObstructions/SafeDegree.lean:103
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.beta_le_inputs {n : Nat} (f : CircuitObstructions.BFun n) : CircuitObstructions.beta f ≤ n
L083 beta_zero

Source. CircuitObstructions/SafeDegree.lean:106
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.beta_zero (n : Nat) : (CircuitObstructions.beta fun x => false) = 0
L084 canonical_cut_completeSafeDegree

Source. CircuitObstructions/SafeDegree.lean:113
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.canonical_cut_completeSafeDegree (n a : Nat)
  (p q : CircuitObstructions.Circuit (CircuitObstructions.CanonicalWire n a)) (f : CircuitObstructions.BFun n)
  (hR : CircuitObstructions.Restores (CircuitObstructions.canonicalBoundary n a) (p ++ q) f) :
  CircuitObstructions.CompleteSafeDegreeLE f
    (max (CircuitObstructions.toffoliCount p) (CircuitObstructions.toffoliCount q) + 1)
L085 toffoliCost_le_one

Source. CircuitObstructions/SafeDegree.lean:124
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.Gate.toffoliCost_le_one {W : Type} (g : CircuitObstructions.Gate W) : g.toffoliCost ≤ 1
L086 toffoliCount_nil

Source. CircuitObstructions/SafeDegree.lean:127
Block. 02 Axioms. propext

CircuitObstructions.toffoliCount_nil {W : Type} : CircuitObstructions.toffoliCount [] = 0
L087 toffoliCount_cons

Source. CircuitObstructions/SafeDegree.lean:129
Block. 02 Axioms. propext

CircuitObstructions.toffoliCount_cons {W : Type} (g : CircuitObstructions.Gate W) (c : CircuitObstructions.Circuit W) :
  CircuitObstructions.toffoliCount (g :: c) = g.toffoliCost + CircuitObstructions.toffoliCount c
L088 exists_cut_with_toffoliCount

Source. CircuitObstructions/SafeDegree.lean:133
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.exists_cut_with_toffoliCount {W : Type} (c : CircuitObstructions.Circuit W) (k : Nat)
  (hk : k ≤ CircuitObstructions.toffoliCount c) : ∃ p q, c = p ++ q ∧ CircuitObstructions.toffoliCount p = k
L089 exists_balanced_toffoli_cut

Source. CircuitObstructions/SafeDegree.lean:155
Block. 02 Axioms. propext, Quot.sound

CircuitObstructions.exists_balanced_toffoli_cut {W : Type} (c : CircuitObstructions.Circuit W) :
  ∃ p q,
    c = p ++ q ∧
      max (CircuitObstructions.toffoliCount p) (CircuitObstructions.toffoliCount q) ≤
        (CircuitObstructions.toffoliCount c + 1) / 2
L090 canonical_restored_completeSafeDegree

Source. CircuitObstructions/SafeDegree.lean:165
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.canonical_restored_completeSafeDegree (n a : Nat)
  (c : CircuitObstructions.Circuit (CircuitObstructions.CanonicalWire n a)) (f : CircuitObstructions.BFun n)
  (hR : CircuitObstructions.Restores (CircuitObstructions.canonicalBoundary n a) c f) :
  CircuitObstructions.CompleteSafeDegreeLE f ((CircuitObstructions.toffoliCount c + 1) / 2 + 1)
L091 beta_le_half_toffoliCount

Source. CircuitObstructions/SafeDegree.lean:173
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.beta_le_half_toffoliCount (n a : Nat)
  (c : CircuitObstructions.Circuit (CircuitObstructions.CanonicalWire n a)) (f : CircuitObstructions.BFun n)
  (hR : CircuitObstructions.Restores (CircuitObstructions.canonicalBoundary n a) c f) :
  CircuitObstructions.beta f ≤ (CircuitObstructions.toffoliCount c + 1) / 2 + 1
L092 beta_restoration_bound

Source. CircuitObstructions/SafeDegree.lean:179
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.beta_restoration_bound (n a : Nat)
  (c : CircuitObstructions.Circuit (CircuitObstructions.CanonicalWire n a)) (f : CircuitObstructions.BFun n)
  (hR : CircuitObstructions.Restores (CircuitObstructions.canonicalBoundary n a) c f) :
  2 * CircuitObstructions.beta f ≤ CircuitObstructions.toffoliCount c + 3
L093 toffoliCount_ge_two_beta_sub_three

Source. CircuitObstructions/SafeDegree.lean:186
Block. 02 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.toffoliCount_ge_two_beta_sub_three (n a : Nat)
  (c : CircuitObstructions.Circuit (CircuitObstructions.CanonicalWire n a)) (f : CircuitObstructions.BFun n)
  (hR : CircuitObstructions.Restores (CircuitObstructions.canonicalBoundary n a) c f) :
  2 * CircuitObstructions.beta f - 3 ≤ CircuitObstructions.toffoliCount c
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