Quantum and CircuitsReading edition

CutComparison: 13 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

CutComparison: 13 declarations

L017 target_separated

Source. CircuitObstructions/CutComparison.lean:17
Block. 01 Axioms. propext

CircuitObstructions.Boundary.target_separated {X W : Type} (e : CircuitObstructions.Boundary X W) (x : X) :
  e.encode x false ≠ e.encode x true

L018 canonical_input

Source. CircuitObstructions/CutComparison.lean:39
Block. 01 Axioms. none

CircuitObstructions.canonical_input (n a : Nat) (x : Fin n → Bool) (b : Bool) (i : Fin n) :
  (CircuitObstructions.canonicalBoundary n a).encode x b (Sum.inl i) = x i
L019 canonical_ancilla

Source. CircuitObstructions/CutComparison.lean:42
Block. 01 Axioms. none

CircuitObstructions.canonical_ancilla (n a : Nat) (x : Fin n → Bool) (b : Bool) (i : Fin a) :
  (CircuitObstructions.canonicalBoundary n a).encode x b (Sum.inr (Sum.inl i)) = false
L020 canonical_target

Source. CircuitObstructions/CutComparison.lean:45
Block. 01 Axioms. none

CircuitObstructions.canonical_target (n a : Nat) (x : Fin n → Bool) (b : Bool) :
  (CircuitObstructions.canonicalBoundary n a).encode x b (Sum.inr (Sum.inr ())) = b
L021 inverse_suffix_boundary

Source. CircuitObstructions/CutComparison.lean:49
Block. 01 Axioms. propext, Quot.sound

CircuitObstructions.inverse_suffix_boundary {X W : Type} [DecidableEq W] (e : CircuitObstructions.Boundary X W)
  (p q : CircuitObstructions.Circuit W) (f : X → Bool) (hR : CircuitObstructions.Restores e (p ++ q) f) (x : X)
  (b : Bool) :
  CircuitObstructions.run (List.reverse q) (e.encode x b) = CircuitObstructions.run p (e.encode x (b ^^ f x))
L022 direction_nonzero

Source. CircuitObstructions/CutComparison.lean:67
Block. 01 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.direction_nonzero {X W : Type} [DecidableEq W] (e : CircuitObstructions.Boundary X W)
  (p : CircuitObstructions.Circuit W) (x : X) : ∃ i, CircuitObstructions.direction e p x i = true
L023 cut_transport_identity

Source. CircuitObstructions/CutComparison.lean:82
Block. 01 Axioms. propext, Quot.sound

CircuitObstructions.cut_transport_identity {X W : Type} [DecidableEq W] (e : CircuitObstructions.Boundary X W)
  (p q : CircuitObstructions.Circuit W) (f : X → Bool) (hR : CircuitObstructions.Restores e (p ++ q) f) (x : X)
  (i : W) : CircuitObstructions.packet e p q x i = (f x && CircuitObstructions.direction e p x i)
L024 cut_packet_safe

Source. CircuitObstructions/CutComparison.lean:91
Block. 01 Axioms. propext, Quot.sound

CircuitObstructions.cut_packet_safe {X W : Type} [DecidableEq W] (e : CircuitObstructions.Boundary X W)
  (p q : CircuitObstructions.Circuit W) (f : X → Bool) (hR : CircuitObstructions.Restores e (p ++ q) f) (x : X)
  (i : W) : CircuitObstructions.packet e p q x i = true → f x = true
L025 cut_cover_complete

Source. CircuitObstructions/CutComparison.lean:99
Block. 01 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.cut_cover_complete {X W : Type} [DecidableEq W] (e : CircuitObstructions.Boundary X W)
  (p q : CircuitObstructions.Circuit W) (f : X → Bool) (hR : CircuitObstructions.Restores e (p ++ q) f) (x : X) :
  f x = true ↔ ∃ i, CircuitObstructions.packet e p q x i = true
L026 complete_safe_cover

Source. CircuitObstructions/CutComparison.lean:111
Block. 01 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.complete_safe_cover {X W : Type} [DecidableEq W] (e : CircuitObstructions.Boundary X W)
  (p q : CircuitObstructions.Circuit W) (f : X → Bool) (hR : CircuitObstructions.Restores e (p ++ q) f) :
  (∀ (x : X) (i : W), CircuitObstructions.packet e p q x i = true → f x = true) ∧
    ∀ (x : X), f x = true ↔ ∃ i, CircuitObstructions.packet e p q x i = true
L027 cut_states_equal_iff_reject

Source. CircuitObstructions/CutComparison.lean:119
Block. 01 Axioms. propext, Quot.sound

CircuitObstructions.cut_states_equal_iff_reject {X W : Type} [DecidableEq W] (e : CircuitObstructions.Boundary X W)
  (p q : CircuitObstructions.Circuit W) (f : X → Bool) (hR : CircuitObstructions.Restores e (p ++ q) f) (x : X) :
  CircuitObstructions.run p (e.encode x false) = CircuitObstructions.run (List.reverse q) (e.encode x false) ↔
    f x = false
L028 every_index_cut

Source. CircuitObstructions/CutComparison.lean:131
Block. 01 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.every_index_cut {X W : Type} [DecidableEq W] (e : CircuitObstructions.Boundary X W)
  (c : CircuitObstructions.Circuit W) (f : X → Bool) (hR : CircuitObstructions.Restores e c f) (k : Nat) (x : X) :
  f x = true ↔ ∃ i, CircuitObstructions.packet e (List.take k c) (List.drop k c) x i = true
L029 canonical_complete_safe_cover

Source. CircuitObstructions/CutComparison.lean:139
Block. 01 Axioms. propext, Classical.choice, Quot.sound

CircuitObstructions.canonical_complete_safe_cover (n a : Nat)
  (c : CircuitObstructions.Circuit (CircuitObstructions.CanonicalWire n a)) (f : (Fin n → Bool) → Bool)
  (hR : CircuitObstructions.Restores (CircuitObstructions.canonicalBoundary n a) c f) (k : Nat) :
  (∀ (x : Fin n → Bool) (i : CircuitObstructions.CanonicalWire n a),
      CircuitObstructions.packet (CircuitObstructions.canonicalBoundary n a) (List.take k c) (List.drop k c) x i =
          true →
        f x = true) ∧
    ∀ (x : Fin n → Bool),
      f x = true ↔
        ∃ i,
          CircuitObstructions.packet (CircuitObstructions.canonicalBoundary n a) (List.take k c) (List.drop k c) x i =
            true
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