APNOutputs/AICollaborator/QuantumOptics/35.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: Google DeepMind published the AlphaProof Nexus proof artifacts. The pinned repository identifies the mathematical sources and collaborators, including OEIS, Erdős Problems, Gergely Bérczi, and Mario Krenn; those source records remain the authority for individual credit.
Project sources: Pinned AlphaProof Nexus results documentation, AlphaProof Nexus paper, Pinned human-written natural-language proof companions
194 declarations, 23 contain sorry, 0 declared as axioms
Open Quantum Problem 35: existence of absolutely maximally entangled pure states
Problem: For which numbers of parties $n$ and local dimensions $d$ does there exist a pure absolutely maximally entangled state $\psi$?
A pure state $\psi$ on $n$ parties of local dimension $d$ is called absolutely maximally entangled (AME) if, for every subset of at most half of the parties, the corresponding reduced density matrix is maximally mixed.
References:
- Open Quantum Problems, Problem 35: https://oqp.iqoqi.oeaw.ac.at/existence-of-absolutely-maximally-entangled-pure-states
- Formal Conjectures issue #3452: https://github.com/google-deepmind/formal-conjectures/issues/3452
- W. Helwig, W. Cui, A. Riera, J. I. Latorre, and H.-K. Lo, Absolute Maximal Entanglement and Quantum Secret Sharing, Phys. Rev. A 86, 052335 (2012), arXiv:1204.2289.
- D. Goyeneche, D. Alsina, J. I. Latorre, A. Riera, and K. Życzkowski, Absolutely Maximally Entangled states, combinatorial designs and multi-unitary matrices, Phys. Rev. A 92, 032316 (2015), arXiv:1506.08857.
- A. Higuchi and A. Sudbery, How entangled can two couples get?, Phys. Lett. A 273, 213-217 (2000), arXiv:quant-ph/0005013.
- A. J. Scott, Multipartite entanglement, quantum-error-correcting codes, and entangling power of quantum evolutions, Phys. Rev. A 69, 052330 (2004), arXiv:quant-ph/0310137.
- F. Huber, O. Gühne, and J. Siewert, Absolutely maximally entangled states of seven qubits do not exist, Phys. Rev. Lett. 118, 200502 (2017), arXiv:1608.06228.
- F. Huber and M. Grassl, Quantum Codes of Maximal Distance and Highly Entangled Subspaces, Quantum 4, 284 (2020), arXiv:1907.07733.
- S. A. Rather, A. Burchardt, W. Bruzda, G. Rajchel-Mieldzioć, A. Lakshminarayan, and K. Życzkowski, Thirty-six entangled officers of Euler: Quantum solution to a classically impossible problem, Phys. Rev. Lett. 128, 080507 (2022), arXiv:2104.05122.
- G. Rajchel-Mieldzioć, R. Bistroń, A. Rico, A. Lakshminarayan, and K. Życzkowski, Absolutely maximally entangled pure states of multipartite quantum systems, arXiv:2508.04777 (2025).
This file formalizes the problem of determining for which pairs $(n,d)$ there exists an absolutely maximally entangled pure state $\mathrm{AME}(n,d)$.
We represent an $n$-partite state of local dimension $d$ by the finite-dimensional Hilbert space
EuclideanSpace ℂ (Config n d), whose coordinates in the computational basis are amplitudes.
The helper mkStateVector turns an amplitude function into such a state, and normalization is
imposed explicitly via IsNormalized, i.e. via the ambient $L^2$ norm.
The main reusable lemma is reducedDensityFirst_of_completion: if a state is a
uniform superposition over the graph of an injective completion function
completion : Config m d → Config (n - m) d,
then the reduced state on the first $m$ parties is maximally mixed.
As demonstration, we show that the Bell states with $n=2$ and GHZ states with $n=3$ are AME states, and the GHZ state with $n=4$ is not an AME state.
Imports (1)
FormalConjectures.Util.ProblemImports
- abbrev
OpenQuantumProblem35.ConfigA computational-basis configuration of $n$ parties with local dimension $d$ line 85 sourceSource documentation
A computational-basis configuration of $n$ parties with local dimension $d$.
no axioms what this means
Statement uses:
NatProof uses:
Finabbrev Config (n d : ℕ) := Fin n → Fin d
- abbrev
OpenQuantumProblem35.StateVectorA state vector in the computational basis, viewed as a finite-dimensional Hilbert space line 88 sourceSource documentation
A state vector in the computational basis, viewed as a finite-dimensional Hilbert space.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
EuclideanSpace,Complex, OpenQuantumProblem35.Configabbrev StateVector (n d : ℕ) := EuclideanSpace ℂ (Config n d)
Mentions: OpenQuantumProblem35.Config
- abbrev
OpenQuantumProblem35.mkStateVectorBuild a state vector from its computational-basis amplitudes line 91 sourceSource documentation
Build a state vector from its computational-basis amplitudes.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.Config,Complex, OpenQuantumProblem35.StateVectorProof uses:
WithLp.toLp,OfNat.ofNat,ENNReal5 instances, coercions and auxiliary constants left out.
abbrev mkStateVector {n d : ℕ} (ψ : Config n d → ℂ) : StateVector n d := …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.StateVector
- instance
OpenQuantumProblem35.(instance at line 95)line 95 sourceSource documentation
A state vector can be evaluated on a computational-basis configuration to read its amplitude.
instance {n d : ℕ} : CoeFun (StateVector n d) (fun _ => Config n d → ℂ) where …Mentions: OpenQuantumProblem35.StateVector, OpenQuantumProblem35.Config
- lemma
OpenQuantumProblem35.mkStateVector_applyA state built from amplitudes has those amplitudes as its coordinates line 100 sourceSource documentation
A state built from amplitudes has those amplitudes as its coordinates.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.Config,Complex,Eq,WithLp.ofLp,OfNat.ofNat,ENNReal, OpenQuantumProblem35.mkStateVectorProof uses:
rfl10 instances, coercions and auxiliary constants left out.
lemma mkStateVector_apply {n d : ℕ} (ψ : Config n d → ℂ) (x : Config n d) : mkStateVector ψ x = ψ x := rflMentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.mkStateVector
- def
OpenQuantumProblem35.IsNormalizedA state vector is normalized if it has $L^2$ norm $1$ line 104 sourceSource documentation
A state vector is normalized if it has $L^2$ norm $1$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.StateVectorProof uses:
Eq,Real,Norm.norm,OfNat.ofNat,ENNReal, OpenQuantumProblem35.Config,Complex,Fin12 instances, coercions and auxiliary constants left out.
def IsNormalized {n d : ℕ} (ψ : StateVector n d) : Prop := …Mentions: OpenQuantumProblem35.StateVector
- lemma
OpenQuantumProblem35.isNormalized_iff_norm_sq_eq_oneA state is normalized iff its squared $L^2$ norm is $1$ line 109 sourceSource documentation
A state is normalized iff its squared $L^2$ norm is $1$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.StateVector,Iff, OpenQuantumProblem35.IsNormalized,Eq,Real,HPow.hPow,Norm.norm,OfNat.ofNat,ENNReal, OpenQuantumProblem35.Config,Complex,FinProof uses:
Iff.intro,Trans.trans,Eq.mpr,id,congrArg,Eq.mp,OpenQuantumProblem35.IsNormalized.eq_1,Eq.refl,Mathlib.Meta.NormNum.isNat_eq_true,Mathlib.Meta.NormNum.isNat_pow,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_one,Mathlib.Meta.NormNum.one_natPow,Or,Neg.neg,Eq.trans,one_pow,Iff.mp,sq_eq_sq_iff_eq_or_eq_neg,LE.leand 47 more104 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
lemma isNormalized_iff_norm_sq_eq_one {n d : ℕ} (ψ : StateVector n d) : IsNormalized ψ ↔ ‖ψ‖ ^ 2 = 1 := by …Mentions: OpenQuantumProblem35.StateVector, OpenQuantumProblem35.IsNormalized
- def
OpenQuantumProblem35.permuteConfigPermute the parties of a configuration line 129 sourceSource documentation
Permute the parties of a configuration.
standard axioms: Quot.sound what this means
Statement uses:
Nat,Equiv.Perm,Fin, OpenQuantumProblem35.Config3 instances, coercions and auxiliary constants left out.
def permuteConfig {n d : ℕ} (π : Equiv.Perm (Fin n)) (x : Config n d) : Config n d := …Mentions: OpenQuantumProblem35.Config
- theorem
OpenQuantumProblem35.permuteConfig_reflThe identity permutation leaves a configuration unchanged line 134 sourceSource documentation
The identity permutation leaves a configuration unchanged.
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.Config,Eq, OpenQuantumProblem35.permuteConfig,Equiv.refl,FinProof uses:
funext,Fin.ext,of_eq_true,eq_self1 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem permuteConfig_refl {n d : ℕ} (x : Config n d) : permuteConfig (Equiv.refl (Fin n)) x = x := by …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.permuteConfig
- def
OpenQuantumProblem35.permuteStatePermute the parties of a state vector line 140 sourceSource documentation
Permute the parties of a state vector.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Equiv.Perm,Fin, OpenQuantumProblem35.StateVectorProof uses: OpenQuantumProblem35.mkStateVector, OpenQuantumProblem35.Config,
WithLp.ofLp,OfNat.ofNat,ENNReal,Complex, OpenQuantumProblem35.permuteConfig5 instances, coercions and auxiliary constants left out.
def permuteState {n d : ℕ} (π : Equiv.Perm (Fin n)) (ψ : StateVector n d) : StateVector n d := …Mentions: OpenQuantumProblem35.StateVector
- lemma
OpenQuantumProblem35.permuteState_applyEvaluating a permuted state vector reads the amplitude at the permuted configuration line 145 sourceSource documentation
Evaluating a permuted state vector reads the amplitude at the permuted configuration.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Equiv.Perm,Fin, OpenQuantumProblem35.StateVector, OpenQuantumProblem35.Config,Eq,Complex,WithLp.ofLp,OfNat.ofNat,ENNReal, OpenQuantumProblem35.permuteState, OpenQuantumProblem35.permuteConfigProof uses:
Eq.mpr, OpenQuantumProblem35.mkStateVector,id,congrArg,OpenQuantumProblem35.permuteState.eq_1, OpenQuantumProblem35.mkStateVector_apply,Eq.refl10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma permuteState_apply {n d : ℕ} (π : Equiv.Perm (Fin n)) (ψ : StateVector n d) (x : Config n d) : permuteState π ψ x = ψ (permuteConfig π x) := by …Mentions: OpenQuantumProblem35.StateVector, OpenQuantumProblem35.Config, OpenQuantumProblem35.permuteState, OpenQuantumProblem35.permuteConfig
- theorem
OpenQuantumProblem35.permuteState_reflThe identity permutation leaves a state vector unchanged line 151 sourceSource documentation
The identity permutation leaves a state vector unchanged.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.StateVector,Eq, OpenQuantumProblem35.permuteState,Equiv.refl,FinProof uses:
PiLp.ext,OfNat.ofNat,ENNReal, OpenQuantumProblem35.Config,Complex,of_eq_true,WithLp.ofLp,Eq.trans,True,congrArg, OpenQuantumProblem35.permuteConfig, OpenQuantumProblem35.permuteState_apply, OpenQuantumProblem35.permuteConfig_refl,eq_self5 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem permuteState_refl {n d : ℕ} (ψ : StateVector n d) : permuteState (Equiv.refl (Fin n)) ψ = ψ := by …Mentions: OpenQuantumProblem35.StateVector, OpenQuantumProblem35.permuteState
- def
OpenQuantumProblem35.combineFirstMerge a configuration on the first $m$ parties and a configuration on the remaining $n-m$ parties into a configuration on all $n$ parties line 160 sourceSource documentation
Merge a configuration on the first $m$ parties and a configuration on the remaining $n-m$ parties into a configuration on all $n$ parties.
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat,LE.le, OpenQuantumProblem35.Config,HSub.hSubProof uses:
Fin,dite,LT.lt,Fin.mk,Not10 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def combineFirst {n d : ℕ} (m : ℕ) (hm : m ≤ n) (x : Config m d) (y : Config (n - m) d) : Config n d := …Mentions: OpenQuantumProblem35.Config
- def
OpenQuantumProblem35.leftIndexThe embedding of the first $m$ indices into $\mathrm{Fin}\, n$ line 171 sourceSource documentation
The embedding of the first $m$ indices into $\mathrm{Fin}\, n$.
no axioms what this means
Statement uses:
Nat,LE.le,FinProof uses:
Fin.mk4 instances, coercions and auxiliary constants left out.
def leftIndex {m n : ℕ} (hm : m ≤ n) (i : Fin m) : Fin n := … - def
OpenQuantumProblem35.rightIndexThe embedding of the last $n-m$ indices into $\mathrm{Fin}\, n$ line 175 sourceSource documentation
The embedding of the last $n-m$ indices into $\mathrm{Fin}\, n$.
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat,LE.le,Fin,HSub.hSubProof uses:
Fin.mk,HAdd.hAdd10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
def rightIndex {m n : ℕ} (hm : m ≤ n) (i : Fin (n - m)) : Fin n := … - lemma
OpenQuantumProblem35.combineFirst_leftIndexCombining and then restricting to the left block recovers the left input line 180 sourceSource documentation
Combining and then restricting to the left block recovers the left input.
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat,LE.le, OpenQuantumProblem35.Config,HSub.hSub,Fin,Eq, OpenQuantumProblem35.combineFirst, OpenQuantumProblem35.leftIndexProof uses:
of_eq_true,dite,LT.lt,Fin.mk,Not,Eq.trans,eq_true,Fin.isLt,True,congrArg,dite_cond_eq_true,eq_self10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma combineFirst_leftIndex {n d m : ℕ} (hm : m ≤ n) (x : Config m d) (y : Config (n - m) d) (i : Fin m) : combineFirst (n := n) (d := d) m hm x y (leftIndex hm i) = x i := by …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.combineFirst, OpenQuantumProblem35.leftIndex
- lemma
OpenQuantumProblem35.combineFirst_rightIndexCombining and then restricting to the right block recovers the right input line 187 sourceSource documentation
Combining and then restricting to the right block recovers the right input.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le, OpenQuantumProblem35.Config,HSub.hSub,Fin,Eq, OpenQuantumProblem35.combineFirst, OpenQuantumProblem35.rightIndexProof uses:
Not,LT.lt,HAdd.hAdd,of_eq_true,dite,Fin.mk,Eq.trans,of_eq_false,eq_false,add_tsub_cancel_left,True,congrArg,dite_cond_eq_false,Fin.mk.congr_simp,eq_self29 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma combineFirst_rightIndex {n d m : ℕ} (hm : m ≤ n) (x : Config m d) (y : Config (n - m) d) (i : Fin (n - m)) : combineFirst (n := n) (d := d) m hm x y (rightIndex hm i) = y i := by …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.combineFirst, OpenQuantumProblem35.rightIndex
- def
OpenQuantumProblem35.reducedDensityFirstThe reduced density matrix obtained by tracing out the last $n-m$ parties line 201 sourceSource documentation
The reduced density matrix obtained by tracing out the last $n-m$ parties.
The subsystem is always the first $m$ parties; different subsystems are handled by first permuting the parties.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le, OpenQuantumProblem35.StateVector,Matrix, OpenQuantumProblem35.Config,ComplexProof uses:
Finset.sum,HSub.hSub,Finset.univ,Fin,HMul.hMul, OpenQuantumProblem35.combineFirst,WithLp.ofLp,OfNat.ofNat,ENNReal,Star.star37 instances, coercions and auxiliary constants left out.
noncomputable def reducedDensityFirst {n d : ℕ} (m : ℕ) (hm : m ≤ n) (ψ : StateVector n d) : Matrix (Config m d) (Config m d) ℂ := …Mentions: OpenQuantumProblem35.StateVector, OpenQuantumProblem35.Config
- def
OpenQuantumProblem35.maximallyMixedThe maximally mixed state on $m$ parties line 209 sourceSource documentation
The maximally mixed state on $m$ parties.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix, OpenQuantumProblem35.Config,ComplexProof uses:
HSMul.hSMul,Inv.inv,Fintype.card,Fin,OfNat.ofNat17 instances, coercions and auxiliary constants left out.
noncomputable def maximallyMixed (m d : ℕ) : Matrix (Config m d) (Config m d) ℂ := …Mentions: OpenQuantumProblem35.Config
- def
OpenQuantumProblem35.HasMaximallyMixedFirstReductionA state has maximally mixed reduction on the first $m$ parties line 215 sourceSource documentation
A state has maximally mixed reduction on the first $m$ parties.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le, OpenQuantumProblem35.StateVectorProof uses:
Eq,Matrix, OpenQuantumProblem35.Config,Complex, OpenQuantumProblem35.reducedDensityFirst, OpenQuantumProblem35.maximallyMixed2 instances, coercions and auxiliary constants left out.
def HasMaximallyMixedFirstReduction {n d : ℕ} (m : ℕ) (hm : m ≤ n) (ψ : StateVector n d) : Prop := …Mentions: OpenQuantumProblem35.StateVector
- def
OpenQuantumProblem35.IsAMEA state $\psi$ is absolutely maximally entangled line 232 sourceSource documentation
A state $\psi$ is absolutely maximally entangled.
Standard AME definitions quantify over all subsets $A \subseteq \mathrm{Fin}\, n$ with $|A| \le \lfloor n/2 \rfloor$ and require that the reduction on $A$ be maximally mixed. For pure states it is enough to check subsets of size exactly $\lfloor n/2 \rfloor$; see the references of Helwig--Cui--Riera--Latorre--Lo (2012) and Goyeneche--Alsina--Latorre--Riera--Życzkowski (2015). In this file, a subsystem of that size is encoded by first permuting the chosen parties to the front and then tracing out the remaining parties.
We also require $\psi$ to be normalized explicitly.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.StateVectorProof uses:
And, OpenQuantumProblem35.IsNormalized,Equiv.Perm,Fin, OpenQuantumProblem35.HasMaximallyMixedFirstReduction,HDiv.hDiv,OfNat.ofNat, OpenQuantumProblem35.permuteState4 instances, coercions and auxiliary constants left out.
def IsAME {n d : ℕ} (ψ : StateVector n d) : Prop := …Mentions: OpenQuantumProblem35.StateVector
- def
OpenQuantumProblem35.ExistsAMEExistence of an $\mathrm{AME}(n,d)$ state line 239 sourceSource documentation
Existence of an $\mathrm{AME}(n,d)$ state.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Exists, OpenQuantumProblem35.StateVector, OpenQuantumProblem35.IsAMEdef ExistsAME (n d : ℕ) : Prop := …
- theorem
OpenQuantumProblem35.not_existsAME_zero_dimNo absolutely maximally entangled state exists in local dimension $0$ once $n \ge 1$ line 244 sourceSource documentation
No absolutely maximally entangled state exists in local dimension $0$ once $n \ge 1$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Not, OpenQuantumProblem35.ExistsAMEProof uses: OpenQuantumProblem35.StateVector, OpenQuantumProblem35.IsAME,
False,Fin,Fin.mk,Eq,ENNReal, OpenQuantumProblem35.Config,Complex,Subsingleton.elim,IsEmpty.mk,Fin.elim0,Real,Eq.mpr,id,False.elim,Eq.mp, OpenQuantumProblem35.IsNormalized,Eq.trans,Norm.normand 15 more49 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
theorem not_existsAME_zero_dim {n : ℕ} (hn : 1 ≤ n) : ¬ ExistsAME n 0 := by …Mentions: OpenQuantumProblem35.ExistsAME
- lemma
OpenQuantumProblem35.card_configThe number of computational-basis configurations on $m$ parties of local dimension $d$ is $d^m$ line 256 sourceSource documentation
The number of computational-basis configurations on $m$ parties of local dimension $d$ is $d^m$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Fintype.card, OpenQuantumProblem35.Config,Fin,HPow.hPowProof uses:
of_eq_true,Eq.trans,True,congrArg,Finset.prod,Finset.univ,Fintype.card_pi,Finset.card,Finset.prod_congr,Eq.refl,Finset,Membership.mem,Fintype.card_fin,Finset.prod_const,eq_self15 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma card_config (m d : ℕ) : Fintype.card (Config m d) = d ^ m := by …
Mentions: OpenQuantumProblem35.Config
- lemma
OpenQuantumProblem35.maximallyMixed_applyThe matrix entries of the maximally mixed state are diagonal and equal to the inverse subsystem dimension line 261 sourceSource documentation
The matrix entries of the maximally mixed state are diagonal and equal to the inverse subsystem dimension.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.Config,Eq,Complex, OpenQuantumProblem35.maximallyMixed,ite,Fin,Inv.inv,Fintype.card,OfNat.ofNatProof uses:
dite,of_eq_true,HSMul.hSMul,Matrix,Eq.trans,HPow.hPow,True,congr,congrArg,Finset.prod,Finset.univ,Fintype.card_pi,Finset.card,Finset.prod_congr,Eq.refl,Finset,Membership.mem,Fintype.card_fin,Finset.prod_const,Nat.cast_powand 11 more51 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma maximallyMixed_apply {m d : ℕ} (x y : Config m d) : maximallyMixed m d x y = if x = y then ((Fintype.card (Config m d) : ℂ)⁻¹) else 0 := by …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.maximallyMixed
- def
OpenQuantumProblem35.uniformCoeffThe common amplitude of the Bell and GHZ witnesses line 272 sourceSource documentation
The common amplitude of the Bell and GHZ witnesses.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,ComplexProof uses:
Real.sqrt,Inv.inv,Real4 instances, coercions and auxiliary constants left out.
noncomputable def uniformCoeff (d : ℕ) : ℂ := …
- def
OpenQuantumProblem35.IsConstantConfigA configuration is constant if all coordinates agree line 276 sourceSource documentation
A configuration is constant if all coordinates agree.
no axioms what this means
Statement uses:
Nat, OpenQuantumProblem35.ConfigProof uses:
Fin,EqTactic trace: 3 steps
Open to load the checked before-and-after goal states.
def IsConstantConfig {n d : ℕ} (x : Config n d) : Prop := …Mentions: OpenQuantumProblem35.Config
- instance
OpenQuantumProblem35.(instance at line 279)line 279 source - def
OpenQuantumProblem35.constantConfigThe constant configuration with value $a$ line 285 sourceSource documentation
The constant configuration with value $a$.
no axioms what this means
Statement uses:
Nat,Fin, OpenQuantumProblem35.Configdef constantConfig {m d : ℕ} (a : Fin d) : Config m d := …Mentions: OpenQuantumProblem35.Config
- theorem
OpenQuantumProblem35.isConstantConfig_constantConfigEvery constant configuration is constant line 290 sourceSource documentation
Every constant configuration is constant.
no axioms what this means
Statement uses:
Nat,Fin, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.constantConfigProof uses:
Eq.reflTactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem isConstantConfig_constantConfig {m d : ℕ} (a : Fin d) : IsConstantConfig (constantConfig (m := m) (d := d) a) := by …Mentions: OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.constantConfig
- theorem
OpenQuantumProblem35.not_isConstantConfig_exampleA simple binary two-party configuration with different entries is not constant line 297 sourceSource documentation
A simple binary two-party configuration with different entries is not constant.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Not, OpenQuantumProblem35.IsConstantConfig,OfNat.ofNat,Nat,Fin,ite,EqProof uses:
False.elim,False,Eq.mp,Eq.trans,congr,congrArg,ite_cond_eq_true,eq_self,ite_cond_eq_false22 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
theorem not_isConstantConfig_example : ¬ IsConstantConfig (fun i : Fin 2 => if i = 0 then (0 : Fin 2) else 1) := by …Mentions: OpenQuantumProblem35.IsConstantConfig
- def
OpenQuantumProblem35.diagonalStateThe diagonal $n$-party state: the uniform superposition over constant computational-basis strings line 304 sourceSource documentation
The diagonal $n$-party state: the uniform superposition over constant computational-basis strings.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.StateVectorProof uses: OpenQuantumProblem35.mkStateVector, OpenQuantumProblem35.Config,
ite,Complex, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.uniformCoeff,OfNat.ofNat3 instances, coercions and auxiliary constants left out.
noncomputable def diagonalState (n d : ℕ) : StateVector n d := …
Mentions: OpenQuantumProblem35.StateVector
- lemma
OpenQuantumProblem35.diagonalState_applyEvaluating the diagonal state returns the uniform coefficient on constant strings and0otherwise line 309 sourceSource documentation
Evaluating the diagonal state returns the uniform coefficient on constant strings and
0otherwise.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.Config,Eq,Complex,WithLp.ofLp,OfNat.ofNat,ENNReal, OpenQuantumProblem35.diagonalState,ite, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.uniformCoeffProof uses:
Eq.mpr, OpenQuantumProblem35.mkStateVector,id,congrArg, OpenQuantumProblem35.StateVector,OpenQuantumProblem35.diagonalState.eq_1, OpenQuantumProblem35.mkStateVector_apply,Eq.refl16 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma diagonalState_apply {n d : ℕ} (x : Config n d) : diagonalState n d x = if IsConstantConfig x then uniformCoeff d else 0 := by …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.diagonalState, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.uniformCoeff
- abbrev
OpenQuantumProblem35.bellStateThe standard $d$-dimensional Bell state line 314 sourceSource documentation
The standard $d$-dimensional Bell state.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.StateVector,OfNat.ofNatProof uses: OpenQuantumProblem35.diagonalState
2 instances, coercions and auxiliary constants left out.
noncomputable abbrev bellState (d : ℕ) : StateVector 2 d := …
Mentions: OpenQuantumProblem35.StateVector
- abbrev
OpenQuantumProblem35.ghzStateThe standard $d$-dimensional GHZ state on $3$ parties line 318 sourceSource documentation
The standard $d$-dimensional GHZ state on $3$ parties.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.StateVector,OfNat.ofNatProof uses: OpenQuantumProblem35.diagonalState
2 instances, coercions and auxiliary constants left out.
noncomputable abbrev ghzState (d : ℕ) : StateVector 3 d := …
Mentions: OpenQuantumProblem35.StateVector
- abbrev
OpenQuantumProblem35.ghzState4The standard $d$-dimensional GHZ state on $4$ parties line 322 sourceSource documentation
The standard $d$-dimensional GHZ state on $4$ parties.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.StateVector,OfNat.ofNatProof uses: OpenQuantumProblem35.diagonalState
2 instances, coercions and auxiliary constants left out.
noncomputable abbrev ghzState4 (d : ℕ) : StateVector 4 d := …
Mentions: OpenQuantumProblem35.StateVector
- def
OpenQuantumProblem35.constantCompletionThe completion function for constant-support states reduced to one party line 326 sourceSource documentation
The completion function for constant-support states reduced to one party.
standard axioms: propext what this means
Statement uses:
Nat, OpenQuantumProblem35.Config,OfNat.ofNat,HSub.hSubProof uses: OpenQuantumProblem35.constantConfig,
Fin8 instances, coercions and auxiliary constants left out.
def constantCompletion {n d : ℕ} (x : Config 1 d) : Config (n - 1) d := …Mentions: OpenQuantumProblem35.Config
- lemma
OpenQuantumProblem35.constantConfig_injectiveOn a nonempty index type, different constants give different constant configurations line 331 sourceSource documentation
On a nonempty index type, different constants give different constant configurations.
no axioms what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Function.Injective,Fin, OpenQuantumProblem35.Config, OpenQuantumProblem35.constantConfigProof uses:
Fin.mk,Iff.mp,Nat.succ,LT.lt,Nat.succ_le_iff,Eq,congrArg5 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma constantConfig_injective {n d : ℕ} (hn : 1 ≤ n) : Function.Injective (@constantConfig n d) := by …Mentions: OpenQuantumProblem35.constantConfig
- lemma
OpenQuantumProblem35.isConstantConfig_iff_exists_constantConfigA configuration on a nonempty index type is constant iff it is equal to some constant configuration line 340 sourceSource documentation
A configuration on a nonempty index type is constant iff it is equal to some constant configuration.
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OpenQuantumProblem35.Config,Iff, OpenQuantumProblem35.IsConstantConfig,Exists,Fin,Eq, OpenQuantumProblem35.constantConfigProof uses:
Fin.mk,Iff.mp,Nat.succ,LT.lt,Nat.succ_le_iff,Iff.intro,Exists.intro,funext,id,of_eq_true,eq_self,Eq.symm7 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma isConstantConfig_iff_exists_constantConfig {n d : ℕ} (hn : 1 ≤ n) (x : Config n d) : IsConstantConfig x ↔ ∃ a : Fin d, x = constantConfig (m := n) (d := d) a := by …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.constantConfig
- lemma
OpenQuantumProblem35.uniformCoeff_norm_sqThe squared norm of the uniform coefficient is the inverse local dimension line 354 sourceSource documentation
The squared norm of the uniform coefficient is the inverse local dimension.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Real,HPow.hPow,Norm.norm,Complex, OpenQuantumProblem35.uniformCoeff,OfNat.ofNat,Inv.invProof uses:
LE.le,inv_nonneg_of_nonneg,Nat.cast_nonneg',Eq.mpr,HMul.hMul,Real.sqrt,id,congrArg,Eq.trans,Real.sqrt_inv,Complex.ofReal_inv,norm_inv,Complex.norm_real,abs_of_nonneg,Real.sqrt_nonneg,pow_two,Eq.mp,Real.sq_sqrt58 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma uniformCoeff_norm_sq (d : ℕ) : ‖uniformCoeff d‖ ^ 2 = ((d : ℝ)⁻¹) := by …Mentions: OpenQuantumProblem35.uniformCoeff
- lemma
OpenQuantumProblem35.uniformCoeff_mul_starThe squared norm of the uniform coefficient is the inverse local dimension line 363 sourceSource documentation
The squared norm of the uniform coefficient is the inverse local dimension.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Complex,HMul.hMul, OpenQuantumProblem35.uniformCoeff,Star.star,Inv.invProof uses:
Trans.trans,Real,HPow.hPow,Norm.norm,OfNat.ofNat,Eq.mpr,RingHom,starRingEnd,id,congrArg,Complex.ofReal_pow,RCLike.mul_conj, OpenQuantumProblem35.uniformCoeff_norm_sq,Eq.refl,of_eq_true,Eq.trans,True,Complex.ofReal_inv,eq_self59 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma uniformCoeff_mul_star (d : ℕ) : uniformCoeff d * star (uniformCoeff d) = ((d : ℂ)⁻¹) := by …Mentions: OpenQuantumProblem35.uniformCoeff
- lemma
OpenQuantumProblem35.diagonalState_isNormalizedFor $n \ge 1$ and $d \ge 1$, the diagonal state is normalized line 375 sourceSource documentation
For $n \ge 1$ and $d \ge 1$, the diagonal state is normalized.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OpenQuantumProblem35.IsNormalized, OpenQuantumProblem35.diagonalStateProof uses:
Finset, OpenQuantumProblem35.Config,Finset.filter, OpenQuantumProblem35.IsConstantConfig,Finset.univ,Fin,Eq,Finset.image, OpenQuantumProblem35.constantConfig,Finset.ext,of_eq_true,Iff,Membership.mem,Eq.trans,Exists,True,congr,congrArg,And,propextand 54 more80 instances, coercions and auxiliary constants left out.
Tactic trace: 28 steps
Open to load the checked before-and-after goal states.
lemma diagonalState_isNormalized {n d : ℕ} (hn : 1 ≤ n) (hd : 1 ≤ d) : IsNormalized (diagonalState n d) := by …Mentions: OpenQuantumProblem35.IsNormalized, OpenQuantumProblem35.diagonalState
- lemma
OpenQuantumProblem35.isConstantConfig_permute_iffPermuting the parties preserves the property of being a constant configuration line 422 sourceSource documentation
Permuting the parties preserves the property of being a constant configuration.
standard axioms: Quot.sound what this means
Statement uses:
Nat,Equiv.Perm,Fin, OpenQuantumProblem35.Config,Iff, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.permuteConfigProof uses:
Iff.intro,Eq,Equiv,Equiv.symm,Eq.mp,congr,congrArg,Equiv.apply_symm_apply,id3 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma isConstantConfig_permute_iff {n d : ℕ} (π : Equiv.Perm (Fin n)) (x : Config n d) : IsConstantConfig (permuteConfig π x) ↔ IsConstantConfig x := by …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.permuteConfig
- lemma
OpenQuantumProblem35.diagonalState_permuteThe diagonal state is invariant under permutations of the parties line 433 sourceSource documentation
The diagonal state is invariant under permutations of the parties.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Equiv.Perm,Fin,Eq, OpenQuantumProblem35.StateVector, OpenQuantumProblem35.permuteState, OpenQuantumProblem35.diagonalStateProof uses:
PiLp.ext,OfNat.ofNat,ENNReal, OpenQuantumProblem35.Config,Complex,dite,WithLp.ofLp, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.permuteConfig,Iff.mpr, OpenQuantumProblem35.isConstantConfig_permute_iff,of_eq_true,Eq.trans, OpenQuantumProblem35.uniformCoeff,True,congr,congrArg, OpenQuantumProblem35.permuteState_apply,ite, OpenQuantumProblem35.diagonalState_apply and 7 more8 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma diagonalState_permute (n d : ℕ) (π : Equiv.Perm (Fin n)) : permuteState π (diagonalState n d) = diagonalState n d := by …Mentions: OpenQuantumProblem35.permuteState, OpenQuantumProblem35.diagonalState
- lemma
OpenQuantumProblem35.constantCompletion_eq_iffA tail configuration equals the constant completion of $x$ iff all of its entries agree with the unique entry of $x$ line 446 sourceSource documentation
A tail configuration equals the constant completion of $x$ iff all of its entries agree with the unique entry of $x$.
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.Config,OfNat.ofNat,HSub.hSub,Iff,Eq, OpenQuantumProblem35.constantCompletion,FinProof uses:
Iff.intro,congrArg,funext10 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma constantCompletion_eq_iff {n d : ℕ} (x : Config 1 d) (z : Config (n - 1) d) : z = constantCompletion (n := n) (d := d) x ↔ ∀ i, z i = x 0 := by …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.constantCompletion
- lemma
OpenQuantumProblem35.eq_leftIndex_zero_or_eq_rightIndexEvery index in $\mathrm{Fin}\, n$ is either the unique left index or a right index when the left block has size $1$ line 457 sourceSource documentation
Every index in $\mathrm{Fin}\, n$ is either the unique left index or a right index when the left block has size $1$.
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Fin,Or,Eq, OpenQuantumProblem35.leftIndex,Exists,HSub.hSub, OpenQuantumProblem35.rightIndexProof uses:
dite,Or.inl,Fin.eq_of_val_eq,Eq.mpr,id,congrArg,Fin.mk,LT.lt,Fin.val_eq_zero,Fin.mk.congr_simp,Not,Or.inr,Exists.intro,Decidable.byContradiction,HAdd.hAdd22 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
lemma eq_leftIndex_zero_or_eq_rightIndex {n : ℕ} (hn : 1 ≤ n) (i : Fin n) : i = leftIndex (m := 1) (n := n) hn 0 ∨ …Mentions: OpenQuantumProblem35.leftIndex
- lemma
OpenQuantumProblem35.constantCompletion_injectiveThe completion map for constant configurations is injective once $n \ge 2$ line 472 sourceSource documentation
The completion map for constant configurations is injective once $n \ge 2$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Function.Injective, OpenQuantumProblem35.Config,HSub.hSub, OpenQuantumProblem35.constantCompletionProof uses:
Eq,funext,Fin,List,List.Mem,List.finRange,HEq,Membership.mem,Finset,Fintype.elems,Fintype.complete,List.cons,List.Mem.head,Fin.mk,Nat.le_refl,List.nil,LT.lt,Decidable.byContradiction,Not,congrArgand 8 more16 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma constantCompletion_injective {n d : ℕ} (hn : 2 ≤ n) : Function.Injective (@constantCompletion n d) := by …Mentions: OpenQuantumProblem35.constantCompletion
- lemma
OpenQuantumProblem35.isConstantConfig_combineFirst_one_iffA configuration obtained by combining one entry with a tail is constant iff the tail is the constant completion of that entry line 487 sourceSource documentation
A configuration obtained by combining one entry with a tail is constant iff the tail is the constant completion of that entry.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OpenQuantumProblem35.Config,HSub.hSub,Iff, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.combineFirst,Eq, OpenQuantumProblem35.constantCompletionProof uses:
Eq.mpr,Fin,id,congrArg,propext, OpenQuantumProblem35.constantCompletion_eq_iff,Iff.intro, OpenQuantumProblem35.rightIndex, OpenQuantumProblem35.leftIndex,Eq.mp,congr, OpenQuantumProblem35.combineFirst_rightIndex, OpenQuantumProblem35.combineFirst_leftIndex,Exists,Or, OpenQuantumProblem35.eq_leftIndex_zero_or_eq_rightIndex,of_eq_true,Eq.trans,True,eq_selfand 1 more13 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
lemma isConstantConfig_combineFirst_one_iff {n d : ℕ} (hn : 1 ≤ n) (x : Config 1 d) (z : Config (n - 1) d) : IsConstantConfig (combineFirst (n := n) (d := d) 1 hn x z) ↔ …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.IsConstantConfig, OpenQuantumProblem35.combineFirst
- lemma
OpenQuantumProblem35.diagonalState_combineFirst_oneThe diagonal state on a split configuration is nonzero exactly on the graph of the constant completion map line 509 sourceSource documentation
The diagonal state on a split configuration is nonzero exactly on the graph of the constant completion map.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OpenQuantumProblem35.Config,HSub.hSub,Eq,Complex, OpenQuantumProblem35.combineFirst,WithLp.ofLp,ENNReal, OpenQuantumProblem35.diagonalState,ite, OpenQuantumProblem35.constantCompletion,Fin, OpenQuantumProblem35.uniformCoeffProof uses:
dite, OpenQuantumProblem35.IsConstantConfig,Iff.mpr, OpenQuantumProblem35.isConstantConfig_combineFirst_one_iff,rfl,Eq.mpr,id,congrArg, OpenQuantumProblem35.diagonalState_apply,if_pos,Eq.refl,Eq.symm,Not,Iff.mp,if_neg30 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
lemma diagonalState_combineFirst_one {n d : ℕ} (hn : 1 ≤ n) (x : Config 1 d) (z : Config (n - 1) d) : diagonalState n d (combineFirst (n := n) (d := d) 1 hn x z) = …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.diagonalState, OpenQuantumProblem35.combineFirst
- lemma
OpenQuantumProblem35.reducedDensityFirst_of_completionA uniform superposition over the graph of an injective completion map has reduced density matrix $(c\overline c) I$ on the first subsystem line 530 sourceSource documentation
A uniform superposition over the graph of an injective completion map has reduced density matrix $(c\overline c) I$ on the first subsystem.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le, OpenQuantumProblem35.StateVector, OpenQuantumProblem35.Config,HSub.hSub,Complex,Eq, OpenQuantumProblem35.combineFirst,WithLp.ofLp,OfNat.ofNat,ENNReal,ite,Fin,Function.Injective,Matrix, OpenQuantumProblem35.reducedDensityFirst,HSMul.hSMul,HMul.hMul,Star.starProof uses:
Matrix.ext,dite,Eq.mpr,Finset.sum,Finset.univ,id,congrArg,OpenQuantumProblem35.reducedDensityFirst.eq_1,Finset.sum_eq_single,Membership.mem,Finset,Ne,of_eq_true,Eq.trans,True,congr,ite_cond_eq_false,eq_false,star_zero,MulZeroClass.mul_zeroand 18 more130 instances, coercions and auxiliary constants left out.
Tactic trace: 36 steps
Open to load the checked before-and-after goal states.
lemma reducedDensityFirst_of_completion {n d m : ℕ} (hm : m ≤ n) (ψ : StateVector n d) (completion : Config m d → Config (n - m) d) (coeff : ℂ) (hψ : ∀ x z, ψ (combineFirst (n := n) (d := d) m hm x z) = if z = completion x then coeff else 0) …Mentions: OpenQuantumProblem35.StateVector, OpenQuantumProblem35.Config, OpenQuantumProblem35.combineFirst
- lemma
OpenQuantumProblem35.hasMaximallyMixedFirstReduction_of_completionThe completion criterion gives a maximally mixed reduced state once the coefficient has the correct squared norm line 578 sourceSource documentation
The completion criterion gives a maximally mixed reduced state once the coefficient has the correct squared norm.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le, OpenQuantumProblem35.StateVector, OpenQuantumProblem35.Config,HSub.hSub,Complex,Eq, OpenQuantumProblem35.combineFirst,WithLp.ofLp,OfNat.ofNat,ENNReal,ite,Fin,Function.Injective,HMul.hMul,Star.star,Inv.inv,Fintype.card, OpenQuantumProblem35.HasMaximallyMixedFirstReductionProof uses:
Eq.mpr,Matrix, OpenQuantumProblem35.reducedDensityFirst, OpenQuantumProblem35.maximallyMixed,id,congrArg,OpenQuantumProblem35.HasMaximallyMixedFirstReduction.eq_1,HSMul.hSMul, OpenQuantumProblem35.reducedDensityFirst_of_completion,OpenQuantumProblem35.maximallyMixed.eq_1,Eq.refl73 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma hasMaximallyMixedFirstReduction_of_completion {n d m : ℕ} (hm : m ≤ n) (ψ : StateVector n d) (completion : Config m d → Config (n - m) d) (coeff : ℂ) (hψ : ∀ x z, ψ (combineFirst (n := n) (d := d) m hm x z) = if z = completion x then coeff else 0) …Mentions: OpenQuantumProblem35.StateVector, OpenQuantumProblem35.Config, OpenQuantumProblem35.combineFirst
- lemma
OpenQuantumProblem35.diagonalState_hasMaximallyMixedFirstReduction_oneThe diagonal state has maximally mixed one-party reductions once $n \ge 2$ line 594 sourceSource documentation
The diagonal state has maximally mixed one-party reductions once $n \ge 2$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OpenQuantumProblem35.HasMaximallyMixedFirstReduction,Decidable.byContradiction,Not, OpenQuantumProblem35.diagonalStateProof uses: OpenQuantumProblem35.hasMaximallyMixedFirstReduction_of_completion, OpenQuantumProblem35.constantCompletion, OpenQuantumProblem35.uniformCoeff, OpenQuantumProblem35.Config,
HSub.hSub, OpenQuantumProblem35.diagonalState_combineFirst_one, OpenQuantumProblem35.constantCompletion_injective,Eq.mpr,Eq,Complex,HMul.hMul,Star.star,Inv.inv,Fintype.card,Fin,RingHom,starRingEnd,id,congrArg,Eq.transand 15 more51 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
lemma diagonalState_hasMaximallyMixedFirstReduction_one {n d : ℕ} (hn : 2 ≤ n) : HasMaximallyMixedFirstReduction (n := n) (d := d) 1 (by omega) (diagonalState n d) := by …Mentions: OpenQuantumProblem35.HasMaximallyMixedFirstReduction, OpenQuantumProblem35.diagonalState
- lemma
OpenQuantumProblem35.diagonalState_isAME_of_div_two_eq_oneIf $\lfloor n/2 \rfloor = 1$, then the diagonal state is $\mathrm{AME}(n,d)$ for every $d \ge 2$ line 610 sourceSource documentation
If $\lfloor n/2 \rfloor = 1$, then the diagonal state is $\mathrm{AME}(n,d)$ for every $d \ge 2$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq,HDiv.hDiv, OpenQuantumProblem35.IsAME, OpenQuantumProblem35.diagonalStateProof uses:
And.intro, OpenQuantumProblem35.IsNormalized,Equiv.Perm,Fin, OpenQuantumProblem35.HasMaximallyMixedFirstReduction, OpenQuantumProblem35.permuteState,Decidable.byContradiction,Not, OpenQuantumProblem35.diagonalState_isNormalized,Eq.mpr,id,congrArg, OpenQuantumProblem35.StateVector, OpenQuantumProblem35.diagonalState_permute,OpenQuantumProblem35.HasMaximallyMixedFirstReduction.congr_simp,Eq.refl, OpenQuantumProblem35.diagonalState_hasMaximallyMixedFirstReduction_one13 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma diagonalState_isAME_of_div_two_eq_one {n d : ℕ} (hn : 2 ≤ n) (hhalf : n / 2 = 1) (hd : 2 ≤ d) : IsAME (n := n) (d := d) (diagonalState n d) := by …Mentions: OpenQuantumProblem35.IsAME, OpenQuantumProblem35.diagonalState
- lemma
OpenQuantumProblem35.bellState_isAMEThe standard Bell state is $\mathrm{AME}(2,d)$ for every physical local dimension $d \ge 2$ line 623 sourceSource documentation
The standard Bell state is $\mathrm{AME}(2,d)$ for every physical local dimension $d \ge 2$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OpenQuantumProblem35.IsAME, OpenQuantumProblem35.bellStateProof uses:
id, OpenQuantumProblem35.diagonalState_isAME_of_div_two_eq_one,of_decide_eq_true,Eq,Bool,Decidable.decide,Bool.true,Eq.refl,Mathlib.Meta.NormNum.isNat_eq_true,HDiv.hDiv,Mathlib.Meta.NormNum.isNat_natDiv,Mathlib.Meta.NormNum.isNat_ofNat8 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma bellState_isAME {d : ℕ} (hd : 2 ≤ d) : IsAME (n := 2) (d := d) (bellState d) := by …Mentions: OpenQuantumProblem35.IsAME, OpenQuantumProblem35.bellState
- lemma
OpenQuantumProblem35.ghzState_isAMEThe standard $3$-party GHZ state is $\mathrm{AME}(3,d)$ for every physical local dimension $d \ge 2$ line 630 sourceSource documentation
The standard $3$-party GHZ state is $\mathrm{AME}(3,d)$ for every physical local dimension $d \ge 2$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OpenQuantumProblem35.IsAME, OpenQuantumProblem35.ghzStateProof uses:
id, OpenQuantumProblem35.diagonalState_isAME_of_div_two_eq_one,of_decide_eq_true,Eq,Bool,Decidable.decide,Bool.true,Eq.refl,Mathlib.Meta.NormNum.isNat_eq_true,HDiv.hDiv,Mathlib.Meta.NormNum.isNat_natDiv,Mathlib.Meta.NormNum.isNat_ofNat8 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma ghzState_isAME {d : ℕ} (hd : 2 ≤ d) : IsAME (n := 3) (d := d) (ghzState d) := by …Mentions: OpenQuantumProblem35.IsAME, OpenQuantumProblem35.ghzState
- theorem
OpenQuantumProblem35.ame_2_existsThe Bell state witnesses the existence of $\mathrm{AME}(2,d)$ for every local dimension $d \ge 2$ line 637 sourceSource documentation
The Bell state witnesses the existence of $\mathrm{AME}(2,d)$ for every local dimension $d \ge 2$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OpenQuantumProblem35.ExistsAMEProof uses:
Exists.intro, OpenQuantumProblem35.StateVector, OpenQuantumProblem35.IsAME, OpenQuantumProblem35.bellState, OpenQuantumProblem35.bellState_isAME4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_2_exists {d : ℕ} (hd : 2 ≤ d) : ExistsAME 2 d := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_3_existsThe $3$-party GHZ state witnesses the existence of $\mathrm{AME}(3,d)$ for every local dimension $d \ge 2$ line 642 sourceSource documentation
The $3$-party GHZ state witnesses the existence of $\mathrm{AME}(3,d)$ for every local dimension $d \ge 2$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OpenQuantumProblem35.ExistsAMEProof uses:
Exists.intro, OpenQuantumProblem35.StateVector, OpenQuantumProblem35.IsAME, OpenQuantumProblem35.ghzState, OpenQuantumProblem35.ghzState_isAME4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_3_exists {d : ℕ} (hd : 2 ≤ d) : ExistsAME 3 d := by …Mentions: OpenQuantumProblem35.ExistsAME
- lemma
OpenQuantumProblem35.diagonalState_combineFirst_two_of_neOn $4$ parties, the diagonal state vanishes on any split configuration whose first two entries are different line 649 sourceSource documentation
On $4$ parties, the diagonal state vanishes on any split configuration whose first two entries are different.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, OpenQuantumProblem35.Config,OfNat.ofNat,Ne,Fin,Eq,Complex, OpenQuantumProblem35.combineFirst,of_decide_eq_true,LE.le,id,Bool,Decidable.decide,Bool.true,Eq.refl,WithLp.ofLp,ENNReal, OpenQuantumProblem35.diagonalStateProof uses:
Not, OpenQuantumProblem35.IsConstantConfig,Eq.mp, OpenQuantumProblem35.leftIndex,congr,congrArg, OpenQuantumProblem35.combineFirst_leftIndex,of_eq_true,Eq.trans,True,ite, OpenQuantumProblem35.uniformCoeff, OpenQuantumProblem35.diagonalState_apply,ite_cond_eq_false,eq_false,eq_self25 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma diagonalState_combineFirst_two_of_ne {d : ℕ} {x z : Config 2 d} (h : x 0 ≠ x 1) : diagonalState 4 d (combineFirst (n := 4) (d := d) 2 (by decide) x z) = 0 := by …Mentions: OpenQuantumProblem35.Config, OpenQuantumProblem35.diagonalState, OpenQuantumProblem35.combineFirst
- lemma
OpenQuantumProblem35.ghzState4_not_ameSanity check: the standard GHZ family on $4$ parties is not absolutely maximally entangled for any local dimension $d \ge 2$ line 663 sourceSource documentation
Sanity check: the standard GHZ family on $4$ parties is not absolutely maximally entangled for any local dimension $d \ge 2$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Not, OpenQuantumProblem35.IsAME, OpenQuantumProblem35.ghzState4Proof uses: OpenQuantumProblem35.diagonalState,
Fin,Fin.mk,Decidable.byContradiction,LT.lt, OpenQuantumProblem35.Config,ite,Eq,Ne,Eq.mpr,False,id,False.elim,Eq.mp,Eq.trans,congr,congrArg,congrFun,funext,ite_congrand 57 more118 instances, coercions and auxiliary constants left out.
Tactic trace: 37 steps
Open to load the checked before-and-after goal states.
lemma ghzState4_not_ame {d : ℕ} (hd : 2 ≤ d) : ¬ IsAME (n := 4) (d := d) (ghzState4 d) := by …Mentions: OpenQuantumProblem35.IsAME, OpenQuantumProblem35.ghzState4
- theorem
OpenQuantumProblem35.ame_2_2_existsSource-backed benchmark statement: the Bell state witnesses the existence of an $\mathrm{AME}(2,2)$ state line 707 sourceSource documentation
Source-backed benchmark statement: the Bell state witnesses the existence of an $\mathrm{AME}(2,2)$ state.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OpenQuantumProblem35.ExistsAME,
OfNat.ofNat,NatProof uses: OpenQuantumProblem35.ame_2_exists,
of_decide_eq_true,LE.le,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem ame_2_2_exists : ExistsAME 2 2 := by …
Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_3_2_existsSource-backed benchmark statement: the three-qubit GHZ state witnesses the existence of an $\mathrm{AME}(3,2)$ state line 712 sourceSource documentation
Source-backed benchmark statement: the three-qubit GHZ state witnesses the existence of an $\mathrm{AME}(3,2)$ state.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OpenQuantumProblem35.ExistsAME,
OfNat.ofNat,NatProof uses: OpenQuantumProblem35.ame_3_exists,
of_decide_eq_true,LE.le,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem ame_3_2_exists : ExistsAME 3 2 := by …
Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_5_2_existsSource-backed benchmark statement: an $\mathrm{AME}(5,2)$ state exists sorry line 717 sourceSource documentation
Source-backed benchmark statement: an $\mathrm{AME}(5,2)$ state exists. This is one of the four qubit cases $n=2,3,5,6$; see the OQP page and Scott (2004).
depends on sorry what this means
Statement uses: OpenQuantumProblem35.ExistsAME,
OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_5_2_exists : ExistsAME 5 2 := by …
Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_6_2_existsSource-backed benchmark statement: an $\mathrm{AME}(6,2)$ state exists sorry line 722 sourceSource documentation
Source-backed benchmark statement: an $\mathrm{AME}(6,2)$ state exists. This is one of the four qubit cases $n=2,3,5,6$; see the OQP page and Scott (2004).
depends on sorry what this means
Statement uses: OpenQuantumProblem35.ExistsAME,
OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_6_2_exists : ExistsAME 6 2 := by …
Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_4_2_not_existsSource-backed benchmark statement: no $\mathrm{AME}(4,2)$ state exists; see Higuchi--Sudbery (2000) and the OQP page sorry line 727 sourceSource documentation
Source-backed benchmark statement: no $\mathrm{AME}(4,2)$ state exists; see Higuchi--Sudbery (2000) and the OQP page.
depends on sorry what this means
Statement uses:
Not, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_4_2_not_exists : ¬ ExistsAME 4 2 := by …
Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_7_2_not_existsSource-backed benchmark statement: no $\mathrm{AME}(7,2)$ state exists; see Huber--Gühne--Siewert (2017) and the OQP page sorry line 732 sourceSource documentation
Source-backed benchmark statement: no $\mathrm{AME}(7,2)$ state exists; see Huber--Gühne--Siewert (2017) and the OQP page.
depends on sorry what this means
Statement uses:
Not, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_7_2_not_exists : ¬ ExistsAME 7 2 := by …
Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_4_3_existsSource-backed benchmark statement: an $\mathrm{AME}(4,3)$ state exists; see Helwig et al sorry line 737 sourceSource documentation
Source-backed benchmark statement: an $\mathrm{AME}(4,3)$ state exists; see Helwig et al. (2012) and Goyeneche et al. (2015).
depends on sorry what this means
Statement uses: OpenQuantumProblem35.ExistsAME,
OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_4_3_exists : ExistsAME 4 3 := by …
Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_4_6_existsSource-backed benchmark statement: an $\mathrm{AME}(4,6)$ state exists; see Rather et al sorry line 742 sourceSource documentation
Source-backed benchmark statement: an $\mathrm{AME}(4,6)$ state exists; see Rather et al. (2022).
depends on sorry what this means
Statement uses: OpenQuantumProblem35.ExistsAME,
OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_4_6_exists : ExistsAME 4 6 := by …
Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_7_6_openOpen benchmark statement: does an $\mathrm{AME}(7,6)$ state exist? sorry line 749 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(7,6)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_7_6_open : answer(sorry) ↔ ExistsAME 7 6 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_7_10_openOpen benchmark statement: does an $\mathrm{AME}(7,10)$ state exist? sorry line 755 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(7,10)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_7_10_open : answer(sorry) ↔ ExistsAME 7 10 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_8_4_openOpen benchmark statement: does an $\mathrm{AME}(8,4)$ state exist? sorry line 761 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(8,4)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_8_4_open : answer(sorry) ↔ ExistsAME 8 4 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_8_6_openOpen benchmark statement: does an $\mathrm{AME}(8,6)$ state exist? sorry line 767 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(8,6)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_8_6_open : answer(sorry) ↔ ExistsAME 8 6 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_8_10_openOpen benchmark statement: does an $\mathrm{AME}(8,10)$ state exist? sorry line 773 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(8,10)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_8_10_open : answer(sorry) ↔ ExistsAME 8 10 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_9_6_openOpen benchmark statement: does an $\mathrm{AME}(9,6)$ state exist? sorry line 779 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(9,6)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_9_6_open : answer(sorry) ↔ ExistsAME 9 6 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_9_10_openOpen benchmark statement: does an $\mathrm{AME}(9,10)$ state exist? sorry line 785 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(9,10)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_9_10_open : answer(sorry) ↔ ExistsAME 9 10 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_10_6_openOpen benchmark statement: does an $\mathrm{AME}(10,6)$ state exist? sorry line 791 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(10,6)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_10_6_open : answer(sorry) ↔ ExistsAME 10 6 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_10_10_openOpen benchmark statement: does an $\mathrm{AME}(10,10)$ state exist? sorry line 797 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(10,10)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_10_10_open : answer(sorry) ↔ ExistsAME 10 10 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_11_3_openOpen benchmark statement: does an $\mathrm{AME}(11,3)$ state exist? sorry line 803 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(11,3)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_11_3_open : answer(sorry) ↔ ExistsAME 11 3 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_11_4_openOpen benchmark statement: does an $\mathrm{AME}(11,4)$ state exist? sorry line 809 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(11,4)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_11_4_open : answer(sorry) ↔ ExistsAME 11 4 := by …Mentions: OpenQuantumProblem35.ExistsAME
- def
OpenQuantumProblem35.omega5line 818 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
ComplexProof uses:
Complex.exp,HDiv.hDiv,HMul.hMul,OfNat.ofNat,Real.pi,Complex.I10 instances, coercions and auxiliary constants left out.
- lemma
OpenQuantumProblem35.omega5_pow_sumline 820 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
ZMod,OfNat.ofNat,Nat,Ne,Eq,Complex,Finset.sum,Finset.univ,HPow.hPow, OpenQuantumProblem35.omega5,ZMod.val,HMul.hMulProof uses:
by_contra,Not,absurd,Fact,Nat.Prime,False,Fact.mk,Nat.prime_five,Eq.trans,id,Complex.exp,HDiv.hDiv,Real.pi,Complex.I,HAdd.hAdd,Equiv,Equiv.mulLeft₀,Equiv.sum_comp,Finset.range,Fin.sum_univ_eq_sum_rangeand 11 more96 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- def
OpenQuantumProblem35.explicit_Aline 824 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZModProof uses:
Array,List.toArray,List.cons,List.nil,Array.getD,HMod.hMod,HSub.hSub,HAdd.hAdd25 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.S_matline 828 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
List,Fin,OfNat.ofNat,Nat,ZModProof uses: OpenQuantumProblem35.explicit_A,
List.getD5 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.drop_colline 831 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,NatProof uses:
ite,LT.lt,Fin.mk,HAdd.hAdd9 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
OpenQuantumProblem35.submatrixline 834 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,LE.le,Matrix,Fin,ZMod,OfNat.ofNat,Equiv.Perm,HSub.hSubProof uses:
Equiv,Equiv.symm, OpenQuantumProblem35.leftIndex, OpenQuantumProblem35.rightIndex11 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.rankConditionline 838 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,Matrix,Fin,ZMod,OfNat.ofNatProof uses:
Equiv.Perm, OpenQuantumProblem35.Config,Ne,Exists,HSub.hSub,Finset.sum,Finset.univ,HMul.hMul, OpenQuantumProblem35.submatrix28 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.explicit_A_natline 842 sourceno axioms what this means
Statement uses:
NatProof uses:
Array,List.toArray,List.cons,OfNat.ofNat,List.nil,Array.getD,HMod.hMod,HSub.hSub,HAdd.hAdd7 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.get_colsline 846 sourceno axioms what this means
Statement uses:
Nat,ProdProof uses:
OpenQuantumProblem35.get_cols.loop,OfNat.ofNat1 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.subset_rank_cond_fnline 867 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZModProof uses:
And,Ne,Or,Exists,HAdd.hAdd,HMul.hMul15 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.det2line 876 sourceno axioms what this means
Statement uses:
NatProof uses:
HMod.hMod,HSub.hSub,HAdd.hAdd,HMul.hMul,OfNat.ofNat9 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.det3line 879 sourceno axioms what this means
Statement uses:
NatProof uses:
HMod.hMod,HAdd.hAdd,HMul.hMul, OpenQuantumProblem35.det2,HSub.hSub,OfNat.ofNat9 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.det4line 884 sourceno axioms what this means
Statement uses:
NatProof uses:
HMod.hMod,HAdd.hAdd,HMul.hMul, OpenQuantumProblem35.det3,HSub.hSub,OfNat.ofNat9 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.det5line 893 sourceno axioms what this means
Statement uses:
NatProof uses:
HMod.hMod,HAdd.hAdd,HMul.hMul, OpenQuantumProblem35.det4,HSub.hSub,OfNat.ofNat9 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.is_full_rank_Mline 904 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
bne, OpenQuantumProblem35.det5, OpenQuantumProblem35.explicit_A_nat,OfNat.ofNat,Bool.or3 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.subset_rank_cond_det_boolline 918 sourceno axioms what this means
Statement uses:
Fin,OfNat.ofNat,Nat,BoolProof uses:
OpenQuantumProblem35.subset_rank_cond_det_bool.match_1,Prod, OpenQuantumProblem35.get_cols, OpenQuantumProblem35.is_full_rank_M3 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.get_cols_complement_boolline 924 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
Prod, OpenQuantumProblem35.get_cols,Prod.fst,Prod.snd,Bool.and,Decidable.decide,LT.lt,OfNat.ofNat,bne5 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.loop_comp_f4line 940 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,ite,Eq,Bool.and,Decidable.decide,GT.gt, OpenQuantumProblem35.get_cols_complement_bool,Bool.false6 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.loop_comp_f3line 948 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,Bool.and, OpenQuantumProblem35.loop_comp_f43 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.loop_comp_f2line 953 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,Bool.and, OpenQuantumProblem35.loop_comp_f33 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.loop_comp_f1line 958 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,Bool.and, OpenQuantumProblem35.loop_comp_f23 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.loop_comp_f0line 963 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,Bool.and, OpenQuantumProblem35.loop_comp_f13 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.check_all_subsets_complementline 968 sourceno axioms what this means
Statement uses:
BoolProof uses: OpenQuantumProblem35.loop_comp_f0,
OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
- lemma
OpenQuantumProblem35.check_all_subsets_complement_eq_trueline 970 sourceno axioms what this means
Statement uses:
Eq,Bool, OpenQuantumProblem35.check_all_subsets_complement,Bool.trueProof uses:
of_decide_eq_true,id,Decidable.decide,Eq.refl1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_comp_f4_impliesline 972 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_comp_f4,Bool.true,LT.lt,GT.gt, OpenQuantumProblem35.get_cols_complement_boolProof uses:
Nat.recAux,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,ite,Bool.and,Decidable.decide,Bool.false,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_comp_f4.eq_def,Eq.refl,dite,if_pos,Orand 21 more14 instances, coercions and auxiliary constants left out.
Tactic trace: 26 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_comp_f3_impliesline 998 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_comp_f3,Bool.true,LT.lt,GT.gt, OpenQuantumProblem35.loop_comp_f4Proof uses:
Nat.recAux,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,Bool.and,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_comp_f3.eq_def,Eq.refl,And,of_eq_true,Eq.trans,True,Bool.and_eq_true,Orand 5 more10 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_comp_f2_impliesline 1017 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_comp_f2,Bool.true,LT.lt,GT.gt, OpenQuantumProblem35.loop_comp_f3Proof uses:
Nat.recAux,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,Bool.and,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_comp_f2.eq_def,Eq.refl,And,of_eq_true,Eq.trans,True,Bool.and_eq_true,Orand 5 more10 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_comp_f1_impliesline 1036 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_comp_f1,Bool.true,LT.lt,GT.gt, OpenQuantumProblem35.loop_comp_f2Proof uses:
Nat.recAux,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,Bool.and,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_comp_f1.eq_def,Eq.refl,And,of_eq_true,Eq.trans,True,Bool.and_eq_true,Orand 5 more10 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_comp_f0_impliesline 1055 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_comp_f0,Bool.true,LT.lt, OpenQuantumProblem35.loop_comp_f1Proof uses:
Nat.recAux,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,Bool.and,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_comp_f0.eq_def,Eq.refl,And,of_eq_true,Eq.trans,True,Bool.and_eq_true,Orand 5 more10 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- def
OpenQuantumProblem35.loop_det_f4line 1076 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,ite,Eq,Bool.and,Decidable.decide,GT.gt,dite,LT.lt, OpenQuantumProblem35.subset_rank_cond_det_bool,Fin.mk,Bool.false,Not6 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.loop_det_f3line 1090 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,Bool.and, OpenQuantumProblem35.loop_det_f43 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.loop_det_f2line 1095 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,Bool.and, OpenQuantumProblem35.loop_det_f33 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.loop_det_f1line 1100 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,Bool.and, OpenQuantumProblem35.loop_det_f23 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.loop_det_f0line 1105 sourceno axioms what this means
Statement uses:
Nat,BoolProof uses:
OpenQuantumProblem35.get_cols.loop.match_2,Unit,OfNat.ofNat,Bool.true,Nat.succ,Bool.and, OpenQuantumProblem35.loop_det_f13 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.check_all_subsets_detline 1110 sourceno axioms what this means
Statement uses:
BoolProof uses: OpenQuantumProblem35.loop_det_f0,
OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
- lemma
OpenQuantumProblem35.check_all_subsets_det_eq_trueline 1112 sourceno axioms what this means
Statement uses:
Eq,Bool, OpenQuantumProblem35.check_all_subsets_det,Bool.trueProof uses:
of_decide_eq_true,id,Decidable.decide,Eq.refl1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.det_ne_zero_implies_v_zeroline 1114 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod,Ne,Matrix.det,Eq,Finset.sum,Finset.univ,HMul.hMulProof uses:
Fact,Nat.Prime,Fact.mk,Nat.prime_five,congr_fun,Matrix.eq_zero_of_vecMul_eq_zero,funext,Matrix.vecMul32 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_det_f4_impliesline 1119 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_det_f4,Bool.true,LT.lt,GT.gt,OfNat.ofNat, OpenQuantumProblem35.subset_rank_cond_det_bool,Fin.mkProof uses:
Nat.recAux,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,ite,Bool.and,Decidable.decide,dite,Bool.false,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_det_f4.eq_def,Eq.refl,if_pos,dif_pos,Orand 22 more15 instances, coercions and auxiliary constants left out.
Tactic trace: 66 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_det_f3_impliesline 1171 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_det_f3,Bool.true,LT.lt,GT.gt, OpenQuantumProblem35.loop_det_f4Proof uses:
Nat.recAux,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,Bool.and,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_det_f3.eq_def,Eq.refl,And,of_eq_true,Eq.trans,True,Bool.and_eq_true,Orand 5 more10 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_det_f2_impliesline 1190 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_det_f2,Bool.true,LT.lt,GT.gt, OpenQuantumProblem35.loop_det_f3Proof uses:
Nat.recAux,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,Bool.and,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_det_f2.eq_def,Eq.refl,And,of_eq_true,Eq.trans,True,Bool.and_eq_true,Orand 5 more10 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_det_f1_impliesline 1209 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_det_f1,Bool.true,LT.lt,GT.gt, OpenQuantumProblem35.loop_det_f2Proof uses:
Nat.recAux,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,Bool.and,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_det_f1.eq_def,Eq.refl,And,of_eq_true,Eq.trans,True,Bool.and_eq_true,Orand 5 more10 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.loop_det_f0_impliesline 1228 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.loop_det_f0,Bool.true,LT.lt, OpenQuantumProblem35.loop_det_f1Proof uses:
Nat.recAux,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,HAdd.hAdd,Bool.and,id,implies_congr,OpenQuantumProblem35.get_cols.loop.match_2,Unit,congrArg,OpenQuantumProblem35.loop_det_f0.eq_def,Eq.refl,And,of_eq_true,Eq.trans,True,Bool.and_eq_true,Orand 5 more10 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.check_all_subsets_det_impliesline 1247 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,GT.gt,Eq,Bool, OpenQuantumProblem35.subset_rank_cond_det_bool,Bool.trueProof uses: OpenQuantumProblem35.loop_det_f1, OpenQuantumProblem35.loop_det_f0_implies, OpenQuantumProblem35.check_all_subsets_det_eq_true,
Fin.isLt, OpenQuantumProblem35.loop_det_f2, OpenQuantumProblem35.loop_det_f1_implies, OpenQuantumProblem35.loop_det_f3, OpenQuantumProblem35.loop_det_f2_implies, OpenQuantumProblem35.loop_det_f4, OpenQuantumProblem35.loop_det_f3_implies,Fin.mk, OpenQuantumProblem35.loop_det_f4_implies6 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_swap01line 1256 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses:
id,Membership.mem,Bool,Set,setOf,And,Ne,Or,Exists,HAdd.hAdd,HMul.hMul,Bool.and,Function.comp,Not,Eq,Exists.imp,And.imp,Iff.mp,and_left_comm,mtand 24 more28 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_swap12line 1261 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses:
id,Membership.mem,Set,setOf,And,Ne,Or,Exists,HAdd.hAdd,HMul.hMul,Function.comp,Exists.imp,And.imp,And.imp_right,Iff.mp,and_left_comm,mt,Eq,Eq.trans,Mathlib.Tactic.Abel.termgand 24 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_swap23line 1266 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses:
id,Eq.mpr,Membership.mem,Bool,Set,setOf,And,Ne,Or,Exists,HAdd.hAdd,HMul.hMul,Bool.and,Eq,implies_congr,Eq.trans,congrArg,funext,Eq.refl,forall_congrand 35 more34 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_swap34line 1272 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses:
id,IsEmpty,Nonempty,Or,Membership.mem,Bool,Set,setOf,And,Ne,Exists,HAdd.hAdd,HMul.hMul,Bool.and,isEmpty_or_nonempty,False.elim,Eq.mp,False,Eq.mpr,Eqand 37 more44 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.det2_eqline 1287 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,ZMod,OfNat.ofNat, OpenQuantumProblem35.det2,HSub.hSub,HMul.hMulProof uses:
id,Eq.trans,HMod.hMod,HAdd.hAdd,ZMod.natCast_mod,Nat.cast_sub,Decidable.byContradiction,LE.le,Not,of_eq_true,True,congrArg,congr,Nat.cast_add,Nat.cast_mul,of_decide_eq_true,Bool,Decidable.decide,Bool.true,Eq.refland 2 more62 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.det3_eqline 1292 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,ZMod,OfNat.ofNat, OpenQuantumProblem35.det3,HAdd.hAdd,HSub.hSub,HMul.hMul, OpenQuantumProblem35.det2Proof uses:
Decidable.byContradiction,Not,Star.star,Mod.mod,HMod.hMod,Eq.trans,ZMod.natCast_mod,Eq.mpr,id,congrArg,Nat.cast_add,Nat.cast_mul,Eq.refl,Fin,Neg.neg,congr,TrivialStar.star_trivial,sub_eq_add_neg,HAdd,Eq.recand 3 more74 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.det4_eqline 1305 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,ZMod,OfNat.ofNat, OpenQuantumProblem35.det4,HSub.hSub,HAdd.hAdd,HMul.hMul, OpenQuantumProblem35.det3Proof uses:
Eq.mpr,id,congrArg,sub_add,sub_sub,Int,Int.subNatNat,Eq.trans,congr,Nat.cast_mul,Eq.symm,Int.cast_mul,Int.cast_natCast,HMod.hMod,Iff.mpr,Nat.ModEq,ZMod.eq_iff_modEq_nat,Nat.mod_mod,of_eq_true,Neg.negand 25 more118 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.det5_eqline 1317 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,ZMod,OfNat.ofNat, OpenQuantumProblem35.det5,HAdd.hAdd,HSub.hSub,HMul.hMul, OpenQuantumProblem35.det4Proof uses:
Eq.mpr,id,congrArg,Eq.trans,sub_add,Int,Int.subNatNat,congr,Nat.cast_mul,Eq.symm,Int.cast_mul,Int.cast_natCast,Star.star,Mod.mod,HMod.hMod,Neg.neg,add_assoc,TrivialStar.star_trivial,sub_eq_add_neg,Int.cast_addand 28 more122 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.matrix_det2_eqline 1330 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod,Eq,Matrix.det,HSub.hSub,HMul.hMulProof uses:
Matrix.det_fin_two21 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.matrix_det3_eqline 1334 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod,Eq,Matrix.det,HAdd.hAdd,HSub.hSub,HMul.hMul,Nat.succ,Matrix.vecCons,Matrix.vecEmptyProof uses:
Eq.trans,Matrix.det_fin_three,symm,Eq.mpr,id,congrArg,Matrix.det_fin_two,Eq.refl,Eq.symm,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_muland 25 more59 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.matrix_det4_eqline 1340 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod,Eq,Matrix.det,HSub.hSub,HAdd.hAdd,HMul.hMul,Nat.succ,Matrix.vecCons,Matrix.vecEmptyProof uses:
Eq.mpr,Neg.neg,Fin.succAbove,id,congr,Fin.succ,congrArg,Eq.trans,Finset.sum,Finset.univ,HPow.hPow,Matrix.submatrix,Matrix.det_succ_row_zero,Finset.sum_congr,Eq.refl,Finset,Membership.mem,CommRing,Matrix.det_fin_three,AddCommMonoidand 39 more105 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.matrix_det5_eqline 1348 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod,Eq,Matrix.det,HAdd.hAdd,HSub.hSub,HMul.hMul,Nat.succ,Matrix.vecCons,Matrix.vecEmptyProof uses:
Eq.mpr,Finset.sum,Finset.univ,HPow.hPow,Neg.neg,Matrix.submatrix,Fin.succ,Fin.succAbove,id,congrArg,Matrix.det_succ_row_zero,propext,eq_comm,congr,Eq.trans,sub_eq_add_neg,Finset.sum_congr,Eq.refl,Finset,Membership.memand 35 more92 instances, coercions and auxiliary constants left out.
Tactic trace: 28 steps
Open to load the checked before-and-after goal states.
- def
OpenQuantumProblem35.minor_matrixline 1363 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Matrix,ZModProof uses:
Matrix.vecCons,Nat.succ,Matrix.vecEmpty, OpenQuantumProblem35.explicit_A2 instances, coercions and auxiliary constants left out.
- lemma
OpenQuantumProblem35.minor_matrix_applyline 1369 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Eq,ZMod, OpenQuantumProblem35.minor_matrix, OpenQuantumProblem35.explicit_A,Matrix.vecCons,Nat.succ,Matrix.vecEmptyProof uses:
rfl2 instances, coercions and auxiliary constants left out.
- lemma
OpenQuantumProblem35.det2_bridgeline 1372 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Eq,ZMod, OpenQuantumProblem35.det2, OpenQuantumProblem35.explicit_A_nat,Matrix.det,Nat.succ,Matrix.vecCons, OpenQuantumProblem35.explicit_A,Matrix.vecEmptyProof uses:
of_decide_eq_true,id,Bool,Decidable.decide,Bool.true,Eq.refl,Eq.mpr,HSub.hSub,HMul.hMul,congrArg, OpenQuantumProblem35.det2_eq, OpenQuantumProblem35.matrix_det2_eq,of_eq_true,Eq.trans,True,congr,Matrix.cons_val',funext,Matrix.cons_val_fin_one,congrFunand 1 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.det3_bridgeline 1381 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Eq,ZMod, OpenQuantumProblem35.det3, OpenQuantumProblem35.explicit_A_nat,Matrix.det,Nat.succ,Matrix.vecCons, OpenQuantumProblem35.explicit_A,Matrix.vecEmptyProof uses:
of_decide_eq_true,id,Bool,Decidable.decide,Bool.true,Eq.refl,Eq.mpr,HAdd.hAdd,HSub.hSub,HMul.hMul, OpenQuantumProblem35.det2,congrArg, OpenQuantumProblem35.det3_eq, OpenQuantumProblem35.matrix_det3_eq,congr,Eq.trans,Matrix.cons_val',funext,Matrix.cons_val_fin_one,Matrix.det.congr_simpand 5 more37 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.det4_bridgeline 1396 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Eq,ZMod, OpenQuantumProblem35.det4, OpenQuantumProblem35.explicit_A_nat,Matrix.det,Nat.succ,Matrix.vecCons, OpenQuantumProblem35.explicit_A,Matrix.vecEmptyProof uses:
of_decide_eq_true,id,Bool,Decidable.decide,Bool.true,Eq.refl,Eq.mpr,HSub.hSub,HAdd.hAdd,HMul.hMul, OpenQuantumProblem35.det3,congrArg, OpenQuantumProblem35.det4_eq, OpenQuantumProblem35.matrix_det4_eq,congr,Eq.trans,Matrix.cons_val',funext,Matrix.cons_val_fin_one,Matrix.det.congr_simpand 5 more37 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.minor_det_bridge_eqline 1414 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Eq,ZMod, OpenQuantumProblem35.det5, OpenQuantumProblem35.explicit_A_nat,Matrix.det, OpenQuantumProblem35.minor_matrixProof uses: OpenQuantumProblem35.explicit_A,
of_decide_eq_true,id,Bool,Decidable.decide,Bool.true,Eq.refl,Eq.mpr,HAdd.hAdd,HSub.hSub,HMul.hMul, OpenQuantumProblem35.det4,congrArg, OpenQuantumProblem35.det5_eq,Nat.succ,Matrix.vecCons,Matrix.vecEmpty, OpenQuantumProblem35.matrix_det5_eq,Eq.symm, OpenQuantumProblem35.det4_bridge and 5 more37 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.minor_det_bridgeline 1431 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Ne, OpenQuantumProblem35.det5, OpenQuantumProblem35.explicit_A_nat,ZMod,Matrix.det, OpenQuantumProblem35.minor_matrixProof uses:
Eq.mpr,id,Eq,congrArg,Eq.symm, OpenQuantumProblem35.minor_det_bridge_eq,ZMod.val,HMod.hMod,ZMod.val_natCast,Eq.mp,Nat.mod_mod,HAdd.hAdd,HMul.hMul, OpenQuantumProblem35.det4,HSub.hSub37 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.explicit_sum_eqline 1460 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
ZMod,OfNat.ofNat,Nat,Fin,Eq,HAdd.hAdd,HMul.hMul, OpenQuantumProblem35.explicit_A,Finset.sum,Finset.univ,Matrix.vecCons,Nat.succ,Matrix.vecEmptyProof uses:
Eq.symm,Fin.sum_univ_five26 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_from_minorline 1465 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,And,Ne,ZMod,Matrix.det, OpenQuantumProblem35.minor_matrix, OpenQuantumProblem35.subset_rank_cond_fn, OpenQuantumProblem35.explicit_AProof uses:
id,Or,Decidable.byContradiction,Exists,HAdd.hAdd,HMul.hMul,Eq,Not,Matrix.vecCons,Matrix.vecEmpty,List,List.Mem,List.finRange,HEq,Membership.mem,Finset,Fintype.elems,Fintype.complete,List.cons,List.Mem.headand 24 more41 instances, coercions and auxiliary constants left out.
Tactic trace: 43 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.is_full_rank_M_impliesline 1508 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Eq,Bool, OpenQuantumProblem35.is_full_rank_M,Bool.true,bne, OpenQuantumProblem35.det5, OpenQuantumProblem35.explicit_A_nat,OfNat.ofNat,OrProof uses:
id,Bool.or,Eq.mpr,Not,congr,Ne,congrArg,Eq.mp,Eq.trans,Bool.or_eq_true,of_eq_true,True,False,eq_false,not_false_eq_true,true_or,or_true9 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_from_full_rankline 1525 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,And,Ne,Eq,Bool, OpenQuantumProblem35.is_full_rank_M,Bool.true, OpenQuantumProblem35.subset_rank_cond_fn, OpenQuantumProblem35.explicit_AProof uses:
bne, OpenQuantumProblem35.det5, OpenQuantumProblem35.explicit_A_nat,Or, OpenQuantumProblem35.is_full_rank_M_implies,Iff,of_eq_true,Not,Eq.trans,True,congrArg,iff_self,Iff.mp,ZMod,Matrix.det, OpenQuantumProblem35.minor_matrix, OpenQuantumProblem35.minor_det_bridge, OpenQuantumProblem35.subset_rank_cond_from_minor19 instances, coercions and auxiliary constants left out.
Tactic trace: 44 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_swap02line 1573 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses: OpenQuantumProblem35.subset_rank_cond_swap01, OpenQuantumProblem35.subset_rank_cond_swap12
2 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_swap03line 1578 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses: OpenQuantumProblem35.subset_rank_cond_swap02, OpenQuantumProblem35.subset_rank_cond_swap23
2 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_swap04line 1583 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses: OpenQuantumProblem35.subset_rank_cond_swap03, OpenQuantumProblem35.subset_rank_cond_swap34
2 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_swap13line 1588 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses: OpenQuantumProblem35.subset_rank_cond_swap12, OpenQuantumProblem35.subset_rank_cond_swap23
2 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_swap14line 1593 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses: OpenQuantumProblem35.subset_rank_cond_swap13, OpenQuantumProblem35.subset_rank_cond_swap34
2 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.subset_rank_cond_reverseline 1598 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod, OpenQuantumProblem35.subset_rank_cond_fnProof uses: OpenQuantumProblem35.subset_rank_cond_swap04, OpenQuantumProblem35.subset_rank_cond_swap13
2 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.order_2line 1605 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,LE.le, OpenQuantumProblem35.subset_rank_cond_fn, OpenQuantumProblem35.explicit_AProof uses:
Or,le_total, OpenQuantumProblem35.subset_rank_cond_swap0111 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.order_3line 1613 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,LE.le, OpenQuantumProblem35.subset_rank_cond_fn, OpenQuantumProblem35.explicit_AProof uses: OpenQuantumProblem35.order_2,
Or,le_total, OpenQuantumProblem35.subset_rank_cond_swap12, OpenQuantumProblem35.subset_rank_cond_swap0111 instances, coercions and auxiliary constants left out.
Tactic trace: 13 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.order_4line 1625 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,LE.le, OpenQuantumProblem35.subset_rank_cond_fn, OpenQuantumProblem35.explicit_AProof uses: OpenQuantumProblem35.order_3,
Or,le_total, OpenQuantumProblem35.subset_rank_cond_swap23, OpenQuantumProblem35.subset_rank_cond_swap12, OpenQuantumProblem35.subset_rank_cond_swap0111 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.order_5line 1640 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,LE.le, OpenQuantumProblem35.subset_rank_cond_fn, OpenQuantumProblem35.explicit_AProof uses: OpenQuantumProblem35.order_4,
Or,le_total, OpenQuantumProblem35.subset_rank_cond_swap34, OpenQuantumProblem35.subset_rank_cond_swap23, OpenQuantumProblem35.subset_rank_cond_swap12, OpenQuantumProblem35.subset_rank_cond_swap0111 instances, coercions and auxiliary constants left out.
Tactic trace: 23 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.get_cols_complementline 1658 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,GT.gt,And,LT.lt,Prod.fst,Prod, OpenQuantumProblem35.get_cols,Prod.snd,NeProof uses:
Eq,Bool, OpenQuantumProblem35.loop_comp_f1,Bool.true, OpenQuantumProblem35.loop_comp_f0_implies, OpenQuantumProblem35.check_all_subsets_complement_eq_true,Fin.isLt, OpenQuantumProblem35.loop_comp_f2, OpenQuantumProblem35.loop_comp_f1_implies, OpenQuantumProblem35.loop_comp_f3, OpenQuantumProblem35.loop_comp_f2_implies, OpenQuantumProblem35.loop_comp_f4, OpenQuantumProblem35.loop_comp_f3_implies, OpenQuantumProblem35.get_cols_complement_bool, OpenQuantumProblem35.loop_comp_f4_implies,id,Bool.and,Decidable.decide,bne,OpenQuantumProblem35.get_cols_complement.match_1and 8 more11 instances, coercions and auxiliary constants left out.
Tactic trace: 13 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.explicit_A_subset_rank_cond_sortedline 1685 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,LT.lt, OpenQuantumProblem35.subset_rank_cond_fn, OpenQuantumProblem35.explicit_AProof uses: OpenQuantumProblem35.subset_rank_cond_reverse,
Eq,Bool, OpenQuantumProblem35.subset_rank_cond_det_bool,Bool.true, OpenQuantumProblem35.check_all_subsets_det_implies,And,Prod.fst,Prod, OpenQuantumProblem35.get_cols,Prod.snd,Ne, OpenQuantumProblem35.get_cols_complement,rfl,Prod.mk,Eq.mp,congr,congrArg,Fin.mk,Eq.mprand 6 more9 instances, coercions and auxiliary constants left out.
Tactic trace: 34 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.explicit_A_subset_rank_condline 1721 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat, OpenQuantumProblem35.subset_rank_cond_fn, OpenQuantumProblem35.explicit_AProof uses: OpenQuantumProblem35.order_5,
LE.le,Eq,LT.lt,Or,eq_or_lt_of_le,And,Ne,ZMod,Exists,HAdd.hAdd,HMul.hMul,Fin.ext,False.elim, OpenQuantumProblem35.explicit_A_subset_rank_cond_sorted22 instances, coercions and auxiliary constants left out.
Tactic trace: 32 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.inj_leftIndexline 1747 sourceno axioms what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Eq, OpenQuantumProblem35.leftIndex,of_decide_eq_true,LE.le,id,Bool,Decidable.decide,Bool.true,Eq.reflProof uses:
congrArg,Fin.ext7 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.rightIndex_of_not_leftIndexline 1753 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Ne, OpenQuantumProblem35.leftIndex,of_decide_eq_true,LE.le,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl,Exists, OpenQuantumProblem35.rightIndexProof uses:
Decidable.byContradiction,Not,Fin.mk,Eq.mp,LT.lt,Fin.ext,Exists.intro,HSub.hSub,HAdd.hAdd22 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.perm_rightIndex_of_not_fline 1767 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Equiv.Perm,Fin,OfNat.ofNat,Nat,Ne,Equiv,Equiv.symm, OpenQuantumProblem35.leftIndex,of_decide_eq_true,LE.le,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl,Exists, OpenQuantumProblem35.rightIndexProof uses:
Eq.mpr,congrArg,Eq.symm,Equiv.symm_apply_apply, OpenQuantumProblem35.rightIndex_of_not_leftIndex,Exists.intro13 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.v_neq_zeroline 1783 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OpenQuantumProblem35.Config,
OfNat.ofNat,Nat,Ne,Exists,Fin,ZMod,HSub.hSubProof uses:
Decidable.byContradiction,Eq,Not,funext,Fin.ext,Eq.mp,Eq.trans,binderNameHint,forall_congr,Iff.mp,sub_eq_zero,by_contra,Function.comp,False,absurd,LT.lt,Fin.mk,of_decide_eq_true,id,Booland 4 more53 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.explicit_A_rankline 1792 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OpenQuantumProblem35.rankCondition,
OfNat.ofNat,Nat,of_decide_eq_true,LE.le,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl, OpenQuantumProblem35.explicit_AProof uses:
Equiv.Perm,Fin, OpenQuantumProblem35.Config,Ne,Equiv,Equiv.symm, OpenQuantumProblem35.leftIndex,And,Equiv.injective, OpenQuantumProblem35.inj_leftIndex,And.intro,ZMod,HSub.hSub,Exists, OpenQuantumProblem35.v_neq_zero,Or,Not,HAdd.hAdd,Eq.mp,Eq.transand 21 more49 instances, coercions and auxiliary constants left out.
Tactic trace: 57 steps
Open to load the checked before-and-after goal states.
- def
OpenQuantumProblem35.graphStateAmpline 1835 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat, OpenQuantumProblem35.Config,ComplexProof uses:
Finset.sum,Finset.univ,HMul.hMul,HPow.hPow, OpenQuantumProblem35.omega5,ZMod.val23 instances, coercions and auxiliary constants left out.
- def
OpenQuantumProblem35.graphStateline 1840 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat, OpenQuantumProblem35.StateVectorProof uses:
Complex,Inv.inv,Real.sqrt,HPow.hPow,Real, OpenQuantumProblem35.mkStateVector, OpenQuantumProblem35.Config,HMul.hMul, OpenQuantumProblem35.graphStateAmp12 instances, coercions and auxiliary constants left out.
- lemma
OpenQuantumProblem35.graph_state_is_normalizedline 1844 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat, OpenQuantumProblem35.IsNormalized, OpenQuantumProblem35.graphStateProof uses:
id, OpenQuantumProblem35.StateVector,Complex,Inv.inv,Real.sqrt,HPow.hPow,Real, OpenQuantumProblem35.mkStateVector, OpenQuantumProblem35.Config,HMul.hMul, OpenQuantumProblem35.graphStateAmp,Eq,Norm.norm,ENNReal,Eq.mpr,WithLp.toLp,Finset.sum,Finset.univ,Eq.trans,EuclideanSpaceand 82 more151 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- def
OpenQuantumProblem35.shiftEquivline 1855 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Nat,Fin,Equiv,OfNat.ofNatProof uses:
Equiv.mk,ite,Eq,HAdd.hAdd,HSub.hSub11 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.sum_shift_eqline 1861 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,OfNat.ofNat,Complex,Eq,Finset.sum,Finset.univ,Equiv, OpenQuantumProblem35.shiftEquivProof uses:
Eq.symm,Equiv.sum_comp36 instances, coercions and auxiliary constants left out.
- lemma
OpenQuantumProblem35.sum_omega5_shift_zeroline 1865 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,ZMod,OfNat.ofNat,Ne,Complex,Eq,Equiv, OpenQuantumProblem35.shiftEquiv,HMul.hMul,HPow.hPow, OpenQuantumProblem35.omega5,ZMod.val,Finset.sum,Finset.univProof uses: OpenQuantumProblem35.sum_shift_eq,
Eq.mpr,id,congrArg,Finset.sum_mul,of_eq_true,Eq.trans,True,Finset.sum_congr,Eq.refl,Finset,Membership.mem,eq_self,HSub.hSub,Mathlib.Tactic.LinearCombination.eq_of_eq,HAdd.hAdd,Mathlib.Tactic.LinearCombination.add_eq_eq,Mathlib.Tactic.LinearCombination.eq_rearrange,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.sub_congrand 70 more130 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.graphState_norm_sq_anyline 1878 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat, OpenQuantumProblem35.Config,Eq,Complex,HMul.hMul,WithLp.ofLp,ENNReal, OpenQuantumProblem35.graphState,Star.star,HDiv.hDiv,HPow.hPowProof uses:
id,Eq.mpr,Equiv,Real,Matrix.of,Complex.mk,HSub.hSub,Complex.re,Inv.inv,Real.sqrt, OpenQuantumProblem35.graphStateAmp,Complex.im,HAdd.hAdd,congr,congrArg,Eq.trans,MonoidWithZeroHom,Complex.normSq,Complex.inv_re,Complex.normSq_ofRealand 72 more203 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.shiftEquiv_valline 1887 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,OfNat.ofNat,Eq,ZMod,Equiv, OpenQuantumProblem35.shiftEquiv,ite,HAdd.hAddProof uses:
id,Not,Or,em,Or.inl,of_eq_true,Eq.trans,True,congr,congrArg,Fin.last,ite_cond_eq_true,eq_self,Fin.val_add_one,ite_congr,Eq.refl,Nat.cast_ite,Nat.cast_zero,Nat.cast_add,Fin.NatCast.instNatCastand 8 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.permute_combine_shiftline 1893 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,Equiv.Perm,Fin, OpenQuantumProblem35.Config,OfNat.ofNat,HSub.hSub,Eq,ZMod, OpenQuantumProblem35.permuteConfig, OpenQuantumProblem35.combineFirst,Equiv, OpenQuantumProblem35.shiftEquiv,ite,Equiv.symm, OpenQuantumProblem35.rightIndex,HAdd.hAddProof uses:
Or,Ne,Classical.em,Or.inl,Eq.mpr,id,congrArg,Equiv.apply_symm_apply,Eq.refl,if_pos, OpenQuantumProblem35.combineFirst_rightIndex, OpenQuantumProblem35.shiftEquiv_val,Eq.mp,rfl,Or.inr,Equiv.injective,of_eq_true,Eq.trans,True,congrand 10 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 43 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.quad_form_shiftline 1938 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat,Eq,Finset.sum,Finset.univ,HMul.hMul,ite,HAdd.hAddProof uses:
Eq.mpr,HSub.hSub,id,congr,congrArg,Eq.trans,Finset.sum_congr,Eq.refl,Finset,Membership.mem,Finset.filter,Not,mul_ite,ite_congr,mul_add,mul_one,mul_comm,Finset.sum_ite,Singleton.singleton,EmptyCollection.emptyCollectionand 40 more91 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.graphState_eval_eqline 1947 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat, OpenQuantumProblem35.Config,Eq,Complex,WithLp.ofLp,ENNReal, OpenQuantumProblem35.graphState,HMul.hMul,Inv.inv,Real.sqrt,HPow.hPow,Real, OpenQuantumProblem35.omega5,ZMod.val,Finset.sum,Finset.univProof uses:
rfl39 instances, coercions and auxiliary constants left out.
- lemma
OpenQuantumProblem35.quad_form_shift_symmline 1950 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat,Eq,Matrix.transpose,Finset.sum,Finset.univ,HMul.hMul,ite,HAdd.hAddProof uses:
Eq.mpr,HSub.hSub,id,congr,congrArg,Eq.trans,Finset.sum_congr,Eq.refl,Finset,Membership.mem,Finset.filter,Not,mul_ite,ite_congr,mul_add,mul_one,mul_comm,Finset.sum_ite,Singleton.singleton,EmptyCollection.emptyCollectionand 44 more103 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.sum_A_v_diff_splitline 1956 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat,LE.le,Equiv.Perm, OpenQuantumProblem35.Config,HSub.hSub,Eq,Finset.sum,Finset.univ,HMul.hMul,Equiv,Equiv.symm, OpenQuantumProblem35.rightIndex, OpenQuantumProblem35.permuteConfig, OpenQuantumProblem35.combineFirst,HAdd.hAdd, OpenQuantumProblem35.leftIndexProof uses:
id,Eq.mpr,Fin.mk,Decidable.rec,LT.lt,Decidable,Not,Fin.isLt,congr,congrArg,Finset.sum_congr,Eq.refl,Finset,Membership.mem,Nat.succ,Eq.symm,Equiv.sum_comp,Finset.range,dite,Eq.mpr_propand 34 more99 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.sum_A_v_diffline 1967 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat,LE.le,Equiv.Perm, OpenQuantumProblem35.Config,HSub.hSub,Eq,Finset.sum,Finset.univ,HMul.hMul,Equiv,Equiv.symm, OpenQuantumProblem35.rightIndex, OpenQuantumProblem35.permuteConfig, OpenQuantumProblem35.combineFirst, OpenQuantumProblem35.submatrixProof uses:
Eq.mpr,HAdd.hAdd, OpenQuantumProblem35.leftIndex,id,congrArg, OpenQuantumProblem35.sum_A_v_diff_split,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.add_pf_add_gt,Mathlib.Tactic.Ring.add_pf_add_zero,Mathlib.Tactic.Ring.sub_pfand 27 more81 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.omega5_addline 1992 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
ZMod,OfNat.ofNat,Nat,Eq,Complex,HPow.hPow, OpenQuantumProblem35.omega5,ZMod.val,HAdd.hAdd,HMul.hMulProof uses:
id,Eq.trans,Complex.exp,HDiv.hDiv,Real.pi,Complex.I,HMod.hMod,Eq.symm,pow_eq_pow_mod,IsPrimitiveRoot.pow_eq_one,Complex.isPrimitiveRoot_exp,of_decide_eq_true,Ne,Bool,Decidable.decide,Bool.true,Eq.refl,pow_add52 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.omega5_subline 1996 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
ZMod,OfNat.ofNat,Nat,Eq,Complex,HPow.hPow, OpenQuantumProblem35.omega5,ZMod.val,HSub.hSub,HMul.hMul,Star.starProof uses:
Eq.mpr,id,congrArg,star_pow,HAdd.hAdd,Neg.neg,sub_eq_add_neg,HMod.hMod,ZMod.val_add,Complex.exp,HDiv.hDiv,Real.pi,Complex.I,ite,ZMod.cast,congr,RingHom,starRingEnd,Eq.trans,ZMod.neg_valand 97 more157 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.graphState_apply_eqline 2002 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat, OpenQuantumProblem35.Config,Eq,Complex,WithLp.ofLp,ENNReal, OpenQuantumProblem35.graphState,HMul.hMul,Inv.inv,Real.sqrt,HPow.hPow,Real, OpenQuantumProblem35.graphStateAmpProof uses:
rfl22 instances, coercions and auxiliary constants left out.
- lemma
OpenQuantumProblem35.graphStateAmp_shiftline 2005 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat,Eq,Matrix.transpose,LE.le,Equiv.Perm, OpenQuantumProblem35.Config,HSub.hSub,Complex, OpenQuantumProblem35.graphStateAmp, OpenQuantumProblem35.permuteConfig, OpenQuantumProblem35.combineFirst,Equiv, OpenQuantumProblem35.shiftEquiv,HMul.hMul,HPow.hPow, OpenQuantumProblem35.omega5 and 5 moreProof uses:
ite,HAdd.hAdd, OpenQuantumProblem35.permute_combine_shift, OpenQuantumProblem35.quad_form_shift_symm,funext,AddCommMonoid,Finset,Eq.rec,Eq.refl,Eq.mpr,id,congrArg,congr_fun, OpenQuantumProblem35.omega5_add75 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.graph_state_shift_propline 2032 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat,Eq,Matrix.transpose,LE.le,Equiv.Perm, OpenQuantumProblem35.Config,HSub.hSub,Complex, OpenQuantumProblem35.combineFirst,Equiv, OpenQuantumProblem35.shiftEquiv,HMul.hMul,WithLp.ofLp,ENNReal, OpenQuantumProblem35.permuteState, OpenQuantumProblem35.graphState and 7 moreProof uses: OpenQuantumProblem35.graphStateAmp, OpenQuantumProblem35.permuteConfig,
Equiv.symm, OpenQuantumProblem35.rightIndex, OpenQuantumProblem35.graphStateAmp_shift, OpenQuantumProblem35.sum_A_v_diff,Eq.mpr,Inv.inv,Real.sqrt,Real,id,congr,congrArg, OpenQuantumProblem35.permuteState_apply,Mathlib.Tactic.Ring.of_eq,HAdd.hAdd,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.inv_congrand 47 more129 instances, coercions and auxiliary constants left out.
Tactic trace: 24 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.graph_state_off_diag_zeroline 2072 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Matrix,Fin,ZMod,OfNat.ofNat,Eq,Matrix.transpose,LE.le,Equiv.Perm, OpenQuantumProblem35.Config,Exists,HSub.hSub,Ne,Finset.sum,Finset.univ,HMul.hMul, OpenQuantumProblem35.submatrix,Complex, OpenQuantumProblem35.reducedDensityFirst, OpenQuantumProblem35.permuteState and 1 moreProof uses:
id, OpenQuantumProblem35.combineFirst,WithLp.ofLp,ENNReal,Star.star,Equiv, OpenQuantumProblem35.shiftEquiv,HPow.hPow, OpenQuantumProblem35.omega5,ZMod.val, OpenQuantumProblem35.graph_state_shift_prop,Function.comp,Not,Fact,Nat.Prime,False,absurd,Fact.mk,Nat.prime_five,mul_ne_zeroand 6 more99 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.graph_state_maximally_mixedline 2084 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod,Eq,Matrix.transpose, OpenQuantumProblem35.rankCondition,of_decide_eq_true,LE.le,id,Bool,Decidable.decide,Bool.true,Eq.refl,Equiv.Perm, OpenQuantumProblem35.HasMaximallyMixedFirstReduction, OpenQuantumProblem35.permuteState, OpenQuantumProblem35.graphStateProof uses:
Matrix.ext, OpenQuantumProblem35.Config,Complex, OpenQuantumProblem35.reducedDensityFirst, OpenQuantumProblem35.maximallyMixed,dite,HDiv.hDiv,HPow.hPow,HSMul.hSMul,Inv.inv,Fintype.card,Eq.mpr,HMul.hMul,Eq.trans,congr,congrArg,Finset.prod,Finset.univ,Fintype.card_pi,Finset.cardand 68 more121 instances, coercions and auxiliary constants left out.
Tactic trace: 50 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.explicit_A_symmline 2127 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Matrix,Fin,OfNat.ofNat,Nat,ZMod,Matrix.transpose, OpenQuantumProblem35.explicit_AProof uses:
of_decide_eq_true,id,Bool,Decidable.decide,Bool.true,Eq.refl5 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.explicit_A_diagline 2128 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Eq,ZMod, OpenQuantumProblem35.explicit_AProof uses:
of_decide_eq_true,id,Bool,Decidable.decide,Bool.true,Eq.refl20 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.ame_matrix_implies_ame_stateline 2130 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Matrix,Fin,OfNat.ofNat,Nat,ZMod,Eq,Matrix.transpose, OpenQuantumProblem35.rankCondition,of_decide_eq_true,LE.le,id,Bool,Decidable.decide,Bool.true,Eq.refl, OpenQuantumProblem35.IsAME, OpenQuantumProblem35.graphStateProof uses:
And.intro, OpenQuantumProblem35.IsNormalized,Equiv.Perm, OpenQuantumProblem35.HasMaximallyMixedFirstReduction,HDiv.hDiv, OpenQuantumProblem35.permuteState, OpenQuantumProblem35.graph_state_is_normalized, OpenQuantumProblem35.graph_state_maximally_mixed25 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
OpenQuantumProblem35.yes_AME_11_5line 2138 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OpenQuantumProblem35.ExistsAME,
OfNat.ofNat,NatProof uses:
Exists.intro, OpenQuantumProblem35.StateVector, OpenQuantumProblem35.IsAME, OpenQuantumProblem35.graphState, OpenQuantumProblem35.explicit_A, OpenQuantumProblem35.ame_matrix_implies_ame_state, OpenQuantumProblem35.explicit_A_symm, OpenQuantumProblem35.explicit_A_diag, OpenQuantumProblem35.explicit_A_rank2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
OpenQuantumProblem35.ame_11_5_openAn explicit absolutely maximally entangled state for 11 five-level parties line 2147 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(11,5)$ state exist?
The DeepMind prover agent has shown that such a state exists.
L4DEL explanation
AME states are characterized by being maximally entangled for all bipartitions of the system
AlphaProof Nexus indeed did find a new AME state AME(11,5). However, it turned out that the underlying Quantum Code was already discovered 2 years ago
There exists a normalized pure state of 11 parties, each with local dimension 5, whose reduced density matrix on every choice of 5 parties is maximally mixed. The theorem is an existence result with a fully explicit graph-state witness; it does not claim that this is the first mathematical construction of the underlying quantum code.
explicit_Ais an 11-by-11 symmetric, zero-diagonal circulant matrix overZMod 5, built from the row[0,0,0,1,2,2,2,2,1,0,0].- The finite
explicit_A_rankcomputation proves that, after every permutation of the parties, distinct configurations on the first five parties are separated by at least one of the remaining six columns. - That rank condition makes the off-diagonal entries of every five-party reduced density matrix vanish; normalization and the diagonal calculation identify the whole reduction with the maximally mixed matrix.
yes_AME_11_5suppliesgraphState explicit_Aas the witness, andame_11_5_openpackages the result asanswer(True) ↔ ExistsAME 11 5without usingsorryin this declaration.- Priority boundary: Mario Krenn's public account says AlphaProof Nexus found this AME state but also records that the underlying quantum code had already been discovered two years earlier. This annotation therefore credits the checked construction without calling it a first discovery.
Sources and attribution: Pinned Lean source (0647711a7118), Wolfram Helwig et al., Absolute Maximal Entanglement and Quantum Secret Sharing (2012), Open Quantum Problems, Problem 35, Mario Krenn's account of the Nexus quantum-optics results and priority correction
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
Iff.intro, OpenQuantumProblem35.yes_AME_11_5,True.intro2 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
theorem ame_11_5_open : answer(True) ↔ ExistsAME 11 5 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_11_6_openOpen benchmark statement: does an $\mathrm{AME}(11,6)$ state exist? sorry line 2159 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(11,6)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_11_6_open : answer(sorry) ↔ ExistsAME 11 6 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_11_10_openOpen benchmark statement: does an $\mathrm{AME}(11,10)$ state exist? sorry line 2165 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(11,10)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_11_10_open : answer(sorry) ↔ ExistsAME 11 10 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_12_5_openOpen benchmark statement: does an $\mathrm{AME}(12,5)$ state exist? sorry line 2171 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(12,5)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_12_5_open : answer(sorry) ↔ ExistsAME 12 5 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_12_6_openOpen benchmark statement: does an $\mathrm{AME}(12,6)$ state exist? sorry line 2177 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(12,6)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_12_6_open : answer(sorry) ↔ ExistsAME 12 6 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.ame_12_10_openOpen benchmark statement: does an $\mathrm{AME}(12,10)$ state exist? sorry line 2183 sourceSource documentation
Open benchmark statement: does an $\mathrm{AME}(12,10)$ state exist?
depends on sorry what this means
Statement uses:
Iff,True, OpenQuantumProblem35.ExistsAME,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ame_12_10_open : answer(sorry) ↔ ExistsAME 12 10 := by …Mentions: OpenQuantumProblem35.ExistsAME
- theorem
OpenQuantumProblem35.oqp_35Open Quantum Problem 35: classify all pairs $(n,d)$ with $n \ge 2$ and $d \ge 2$ for which an $\mathrm{AME}(n,d)$ state exists sorry line 2191 sourceSource documentation
Open Quantum Problem 35: classify all pairs $(n,d)$ with $n \ge 2$ and $d \ge 2$ for which an $\mathrm{AME}(n,d)$ state exists.
depends on sorry what this means
Statement uses:
Eq,Set,Prod,Nat,setOf,And,LE.le,OfNat.ofNat,Prod.fst,Prod.snd, OpenQuantumProblem35.ExistsAME,sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem oqp_35 : {nd : ℕ × ℕ | 2 ≤ nd.1 ∧ 2 ≤ nd.2 ∧ ExistsAME nd.1 nd.2} = answer(sorry) := by …Mentions: OpenQuantumProblem35.ExistsAME