QuantumComputinglib learn · inspect · formalize
Checked on this commit 4,524 public declarations commit c681192368c2 Build record

Lean source module

QuantumBlockEncoding/HermiteCutRank.lean

20 explicit public declarations in source order.

Back to Library Explorer

def · line 24

QuantumBlockEncoding.HermiteCutRank.FactorsThrough

Compiled Compiled

This definition gives the library's named construction or computation for “factors through”. Explicit finite-width separation, retaining both factors as witnesses.

def FactorsThrough [Fintype ι] (F : Matrix α β ℝ) : Prop :=
  ∃ A : Matrix α ι ℝ, ∃ B : Matrix ι β ℝ, F = A * B

commit-pinned source · Verso Blueprint panel

theorem · line 27

QuantumBlockEncoding.HermiteCutRank.FactorsThrough.rank_le

Compiled Compiled

Lean checks the proposition indexed as “rank le”; the hypotheses and conclusion in the code panel fix its exact scope.

theorem FactorsThrough.rank_le [Fintype β] [Fintype ι]
    {F : Matrix α β ℝ} (h : FactorsThrough (ι := ι) F) :
    F.rank ≤ Fintype.card ι := by

commit-pinned source · Verso Blueprint panel

theorem · line 34

QuantumBlockEncoding.HermiteCutRank.polynomial_add_factorization

Compiled Compiled

Lean checks the proposition indexed as “polynomial add factorization”; the hypotheses and conclusion in the code panel fix its exact scope. Taylor coefficients give a degree-sized factorization at any additive cut.

theorem polynomial_add_factorization (p : ℝ[X]) (d : ℕ)
    (hd : p.natDegree ≤ d) (u : α → ℝ) (v : β → ℝ) :
    FactorsThrough (ι := Fin (d + 1)) (fun x y => p.eval (u x + v y)) := by

commit-pinned source · Verso Blueprint panel

theorem · line 47

QuantumBlockEncoding.HermiteCutRank.polynomial_add_rank_le

Compiled Compiled

Lean checks the proposition indexed as “polynomial add rank le”; the hypotheses and conclusion in the code panel fix its exact scope.

theorem polynomial_add_rank_le [Fintype β] (p : ℝ[X]) (d : ℕ)
    (hd : p.natDegree ≤ d) (u : α → ℝ) (v : β → ℝ) :
    Matrix.rank (fun x y => p.eval (u x + v y) : Matrix α β ℝ) ≤ d + 1 := by

commit-pinned source · Verso Blueprint panel

theorem · line 53

QuantumBlockEncoding.HermiteCutRank.hermite_polynomial_add_rank_le

Compiled Compiled

Lean checks the proposition indexed as “hermite polynomial add rank le”; the hypotheses and conclusion in the code panel fix its exact scope. Instantiates the existing Hermite degree theorem, rather than reproving it.

theorem hermite_polynomial_add_rank_le [Fintype β] (k : ℕ)
    (u : α → ℝ) (v : β → ℝ) :
    Matrix.rank (fun x y => (HermitePolynomial.sourceInterpolant k).eval (u x + v y) :
      Matrix α β ℝ) ≤ 2 * k + 2 := by

commit-pinned source · Verso Blueprint panel

theorem · line 61

QuantumBlockEncoding.HermiteCutRank.product_factorization

Compiled Compiled

Lean checks the proposition indexed as “product factorization”; the hypotheses and conclusion in the code panel fix its exact scope.

theorem product_factorization (u : α → ℝ) (v : β → ℝ) :
    FactorsThrough (ι := Unit) (fun x y => u x * v y) := by

commit-pinned source · Verso Blueprint panel

theorem · line 67

QuantumBlockEncoding.HermiteCutRank.exponential_add_factorization

Compiled Compiled

Lean checks the proposition indexed as “exponential add factorization”; the hypotheses and conclusion in the code panel fix its exact scope.

theorem exponential_add_factorization (u : α → ℝ) (v : β → ℝ) :
    FactorsThrough (ι := Unit) (fun x y => Real.exp (u x + v y)) := by

commit-pinned source · Verso Blueprint panel

theorem · line 73

QuantumBlockEncoding.HermiteCutRank.FactorsThrough.add

Compiled Compiled

Lean checks the proposition indexed as “add”; the hypotheses and conclusion in the code panel fix its exact scope. A sum preserves an explicit direct-sum factorization.

theorem FactorsThrough.add [Fintype ι] [Fintype κ]
    {F G : Matrix α β ℝ} (hf : FactorsThrough (ι := ι) F)
    (hg : FactorsThrough (ι := κ) G) :
    FactorsThrough (ι := Sum ι κ) (F + G) := by

commit-pinned source · Verso Blueprint panel

theorem · line 83

QuantumBlockEncoding.HermiteCutRank.FactorsThrough.neg

Compiled Compiled

Lean checks the proposition indexed as “neg”; the hypotheses and conclusion in the code panel fix its exact scope.

theorem FactorsThrough.neg [Fintype ι]
    {F : Matrix α β ℝ} (hf : FactorsThrough (ι := ι) F) :
    FactorsThrough (ι := ι) (-F) := by

commit-pinned source · Verso Blueprint panel

theorem · line 90

QuantumBlockEncoding.HermiteCutRank.FactorsThrough.pointwise_mul

Compiled Compiled

Lean checks the proposition indexed as “pointwise mul”; the hypotheses and conclusion in the code panel fix its exact scope. Entrywise multiplication multiplies widths, without constructing a dense matrix.

theorem FactorsThrough.pointwise_mul [Fintype ι] [Fintype κ]
    {F G : Matrix α β ℝ} (hf : FactorsThrough (ι := ι) F)
    (hg : FactorsThrough (ι := κ) G) :
    FactorsThrough (ι := ι × κ) (fun x y => F x y * G x y) := by

commit-pinned source · Verso Blueprint panel

theorem · line 108

QuantumBlockEncoding.HermiteCutRank.blockIndex_lt_iff

Compiled Compiled

Lean checks the proposition indexed as “block index lt iff”; the hypotheses and conclusion in the code panel fix its exact scope. The comparison of a concatenated prefix/suffix has only one boundary row.

theorem blockIndex_lt_iff (M x y T : ℕ) (hy : y < M) :
    M * x + y < T ↔ x < T / M ∨ (x = T / M ∧ y < T % M) := by

commit-pinned source · Verso Blueprint panel

theorem · line 134

QuantumBlockEncoding.HermiteCutRank.threshold_factorization

Compiled Compiled

Lean checks the proposition indexed as “threshold factorization”; the hypotheses and conclusion in the code panel fix its exact scope. An arbitrary threshold has a two-state separation across a binary cut.

theorem threshold_factorization (M T : ℕ) (u : α → ℕ) (v : β → ℕ)
    (hv : ∀ y, v y < M) :
    FactorsThrough (ι := Fin 2)
      (fun x y => if M * u x + v y < T then (1 : ℝ) else 0) := by

commit-pinned source · Verso Blueprint panel

theorem · line 151

QuantumBlockEncoding.HermiteCutRank.threshold_complement_factorization

Compiled Compiled

Lean checks the proposition indexed as “threshold complement factorization”; the hypotheses and conclusion in the code panel fix its exact scope. Complementing a threshold still needs two states, not a dense complement.

theorem threshold_complement_factorization (M T : ℕ) (u : α → ℕ) (v : β → ℕ)
    (hv : ∀ y, v y < M) :
    FactorsThrough (ι := Fin 2)
      (fun x y => 1 - if M * u x + v y < T then (1 : ℝ) else 0) := by

commit-pinned source · Verso Blueprint panel

theorem · line 170

QuantumBlockEncoding.HermiteCutRank.affine_lt_cut

Compiled Compiled

Lean checks the proposition indexed as “affine lt cut”; the hypotheses and conclusion in the code panel fix its exact scope. Relates the exact real grid to an integer cut; no bit-complexity claim.

theorem affine_lt_cut (a h t : ℝ) (hh : 0 < h) (j : ℕ) :
    a + h * (j : ℝ) < t ↔ j < Nat.ceil ((t - a) / h) := by

commit-pinned source · Verso Blueprint panel

theorem · line 176

QuantumBlockEncoding.HermiteCutRank.smoothInitial_strict

Compiled Compiled

Lean checks the proposition indexed as “smooth initial strict”; the hypotheses and conclusion in the code panel fix its exact scope. Endpoint continuity permits the zero sample to use the right exponential.

theorem smoothInitial_strict (k : ℕ) (p : ℝ) :
    HermitePolynomial.smoothInitial k p =
      if p < -1 then Real.exp p else
        if p < 0 then (HermitePolynomial.sourceInterpolant k).eval p
        else Real.exp (-p) := by

commit-pinned source · Verso Blueprint panel

abbrev · line 193

QuantumBlockEncoding.HermiteCutRank.HermiteBond

Compiled Compiled

This abbreviation gives a shorter name to the type or expression used for “hermite bond”. Explicit index type of the three separated pieces.

abbrev HermiteBond (k : ℕ) :=
  Sum (Sum (Fin 2 × Unit) ((Sum (Fin 2) (Fin 2)) × Fin (2 * k + 2)))
    (Fin 2 × Unit)

commit-pinned source · Verso Blueprint panel

theorem · line 197

QuantumBlockEncoding.HermiteCutRank.hermiteBond_card

Compiled Compiled

Lean checks the proposition indexed as “hermite bond card”; the hypotheses and conclusion in the code panel fix its exact scope.

theorem hermiteBond_card (k : ℕ) : Fintype.card (HermiteBond k) = 8 * k + 12 := by

commit-pinned source · Verso Blueprint panel

theorem · line 202

QuantumBlockEncoding.HermiteCutRank.hermite_affine_factorization

Compiled Compiled

Lean checks the proposition indexed as “hermite affine factorization”; the hypotheses and conclusion in the code panel fix its exact scope. The literal Hermite samples, including both junctions, admit a bounded cut factorization.

theorem hermite_affine_factorization (k M : ℕ) (a h : ℝ) (hh : 0 < h)
    (u : α → ℕ) (v : β → ℕ) (hv : ∀ y, v y < M) :
    FactorsThrough (ι := HermiteBond k)
      (fun x y => HermitePolynomial.smoothInitial k
        (a + h * ((M * u x + v y : ℕ) : ℝ))) := by

commit-pinned source · Verso Blueprint panel

theorem · line 243

QuantumBlockEncoding.HermiteCutRank.hermite_affine_cut_rank_le

Compiled Compiled

Lean checks the proposition indexed as “hermite affine cut rank le”; the hypotheses and conclusion in the code panel fix its exact scope.

theorem hermite_affine_cut_rank_le [Fintype β] (k M : ℕ) (a h : ℝ) (hh : 0 < h)
    (u : α → ℕ) (v : β → ℕ) (hv : ∀ y, v y < M) :
    Matrix.rank (fun x y => HermitePolynomial.smoothInitial k
      (a + h * ((M * u x + v y : ℕ) : ℝ))) ≤ 8 * k + 12 := by

commit-pinned source · Verso Blueprint panel

theorem · line 251

QuantumBlockEncoding.HermiteCutRank.FactorsThrough.scale

Compiled Compiled

Lean checks the proposition indexed as “scale”; the hypotheses and conclusion in the code panel fix its exact scope. A constant normalization can be absorbed into the left factor.

theorem FactorsThrough.scale [Fintype ι] {F : Matrix α β ℝ}
    (hf : FactorsThrough (ι := ι) F) (c : ℝ) :
    FactorsThrough (ι := ι) (fun x y => c * F x y) := by

commit-pinned source · Verso Blueprint panel