QuantumComputinglib learn · inspect · formalize
Checked on this commit 2,822 public declarations commit a2f08bcecda7 Build record

Lean source module

QuantumBlockEncoding/GHLHamiltonian.lean

64 explicit public declarations in source order.

Back to Library Explorer

theorem · line 29

QuantumBlockEncoding.GHL2025.Hamiltonian.conj_two

Compiled Compiled

Lean checks the proposition indexed as “conj two”; the hypotheses and conclusion in the code panel fix its exact scope. Complex conjugation fixes the real scalar two.

@[simp] theorem conj_two : conj (2 : ℂ) = 2 := by

commit-pinned source · Verso Blueprint panel

abbrev · line 33

QuantumBlockEncoding.GHL2025.Hamiltonian.CMatrix

Compiled Compiled

This abbreviation gives a shorter name to the type or expression used for “c matrix”. Complex finite matrix with arbitrary finite basis type.

abbrev CMatrix (ι κ : Type*) := _root_.Matrix ι κ ℂ

/-- Entrywise addition, kept explicit so source formulas remain readable. -/

commit-pinned source · Verso Blueprint panel

def · line 36

QuantumBlockEncoding.GHL2025.Hamiltonian.add

Compiled Compiled

This definition gives the library's named construction or computation for “add”. Entrywise addition, kept explicit so source formulas remain readable.

def add (A B : CMatrix ι κ) : CMatrix ι κ :=
  fun i j => A i j + B i j

/-- Entrywise subtraction. -/

commit-pinned source · Verso Blueprint panel

def · line 40

QuantumBlockEncoding.GHL2025.Hamiltonian.sub

Compiled Compiled

This definition gives the library's named construction or computation for “sub”. Entrywise subtraction.

def sub (A B : CMatrix ι κ) : CMatrix ι κ :=
  fun i j => A i j - B i j

/-- Scalar multiplication. -/

commit-pinned source · Verso Blueprint panel

def · line 44

QuantumBlockEncoding.GHL2025.Hamiltonian.scale

Compiled Compiled

This definition gives the library's named construction or computation for “scale”. Scalar multiplication.

def scale (c : ℂ) (A : CMatrix ι κ) : CMatrix ι κ :=
  fun i j => c * A i j

/-- The matrix adjoint written directly as conjugate transpose. -/

commit-pinned source · Verso Blueprint panel

def · line 48

QuantumBlockEncoding.GHL2025.Hamiltonian.adjoint

Compiled Compiled

This definition gives the library's named construction or computation for “adjoint”. The matrix adjoint written directly as conjugate transpose.

def adjoint (A : CMatrix ι ι) : CMatrix ι ι :=
  fun i j => conj (A j i)

/-- Source-level Hermitian predicate. -/

commit-pinned source · Verso Blueprint panel

def · line 52

QuantumBlockEncoding.GHL2025.Hamiltonian.IsHermitian

Compiled Compiled

This definition gives the library's named construction or computation for “is hermitian”. Source-level Hermitian predicate.

def IsHermitian (A : CMatrix ι ι) : Prop :=
  ∀ i j, A i j = conj (A j i)

/-- The Hermitian part `(A + A†)/2`. -/

commit-pinned source · Verso Blueprint panel

def · line 56

QuantumBlockEncoding.GHL2025.Hamiltonian.hermitianPart

Compiled Compiled

This definition gives the library's named construction or computation for “hermitian part”. The Hermitian part '(A + A†)/2'.

def hermitianPart (A : CMatrix ι ι) : CMatrix ι ι :=
  fun i j => (A i j + conj (A j i)) / 2

/-- The second Hermitian piece `(A - A†)/(2i)`. -/

commit-pinned source · Verso Blueprint panel

def · line 60

QuantumBlockEncoding.GHL2025.Hamiltonian.antiHermitianPart

Compiled Compiled

This definition gives the library's named construction or computation for “anti hermitian part”. The second Hermitian piece '(A - A†)/(2i)'.

def antiHermitianPart (A : CMatrix ι ι) : CMatrix ι ι :=
  fun i j => (A i j - conj (A j i)) / (2 * Complex.I)

/-- The two canonical pieces reconstruct the original matrix. -/

commit-pinned source · Verso Blueprint panel

theorem · line 64

QuantumBlockEncoding.GHL2025.Hamiltonian.hermitian_decomposition

Compiled Compiled

Lean checks the proposition indexed as “hermitian decomposition”; the hypotheses and conclusion in the code panel fix its exact scope. The two canonical pieces reconstruct the original matrix.

theorem hermitian_decomposition (A : CMatrix ι ι) :
    ∀ i j, A i j = hermitianPart A i j + Complex.I * antiHermitianPart A i j := by

commit-pinned source · Verso Blueprint panel

theorem · line 74

QuantumBlockEncoding.GHL2025.Hamiltonian.hermitianPart_isHermitian

Compiled Compiled

Lean checks the proposition indexed as “hermitian part is hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. '(A + A†)/2' is Hermitian for every complex matrix 'A'.

theorem hermitianPart_isHermitian (A : CMatrix ι ι) :
    IsHermitian (hermitianPart A) := by

commit-pinned source · Verso Blueprint panel

theorem · line 80

QuantumBlockEncoding.GHL2025.Hamiltonian.antiHermitianPart_isHermitian

Compiled Compiled

Lean checks the proposition indexed as “anti hermitian part is hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. '(A - A†)/(2i)' is Hermitian for every complex matrix 'A'.

theorem antiHermitianPart_isHermitian (A : CMatrix ι ι) :
    IsHermitian (antiHermitianPart A) := by

commit-pinned source · Verso Blueprint panel

def · line 89

QuantumBlockEncoding.GHL2025.Hamiltonian.sumTerms

Compiled Compiled

This definition gives the library's named construction or computation for “sum terms”. Sum of the paper's one-term matrices 'A_k'.

def sumTerms {η : Type*} [Fintype η]
    (terms : η → CMatrix ι ι) : CMatrix ι ι :=
  fun i j => ∑ k, terms k i j

commit-pinned source · Verso Blueprint panel

theorem · line 93

QuantumBlockEncoding.GHL2025.Hamiltonian.sumTerms_entry

Compiled Compiled

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

@[simp] theorem sumTerms_entry {η : Type*} [Fintype η]
    (terms : η → CMatrix ι ι) (i j : ι) :
    sumTerms terms i j = ∑ k, terms k i j := rfl

/-- Taking the adjoint commutes with the paper's finite sum of one-term matrices. -/

commit-pinned source · Verso Blueprint panel

theorem · line 98

QuantumBlockEncoding.GHL2025.Hamiltonian.adjoint_sumTerms

Compiled Compiled

Lean checks the proposition indexed as “adjoint sum terms”; the hypotheses and conclusion in the code panel fix its exact scope. Taking the adjoint commutes with the paper's finite sum of one-term matrices.

theorem adjoint_sumTerms {η : Type*} [Fintype η]
    (terms : η → CMatrix ι ι) :
    adjoint (sumTerms terms) = sumTerms (fun k => adjoint (terms k)) := by

commit-pinned source · Verso Blueprint panel

def · line 108

QuantumBlockEncoding.GHL2025.Hamiltonian.homogenizedS

Compiled Compiled

This definition gives the library's named construction or computation for “homogenized s”. Homogenized matrix from the paper, on the direct-sum basis 'ι ⊕ ι': 'S = [[A,B],[0,0]]'.

def homogenizedS (A B : CMatrix ι ι) : CMatrix (Sum ι ι) (Sum ι ι) :=
  fun row col =>
    match row, col with
    | Sum.inl i, Sum.inl j => A i j
    | Sum.inl i, Sum.inr j => B i j
    | Sum.inr _, Sum.inl _ => 0
    | Sum.inr _, Sum.inr _ => 0

/-- `S₁ = (S + S†)/2`. -/

commit-pinned source · Verso Blueprint panel

def · line 117

QuantumBlockEncoding.GHL2025.Hamiltonian.S1

Compiled Compiled

This definition gives the library's named construction or computation for “s 1”. 'S₁ = (S + S†)/2'.

def S1 (A B : CMatrix ι ι) : CMatrix (Sum ι ι) (Sum ι ι) :=
  hermitianPart (homogenizedS A B)

/-- `S₂ = (S - S†)/(2i)`. -/

commit-pinned source · Verso Blueprint panel

def · line 121

QuantumBlockEncoding.GHL2025.Hamiltonian.S2

Compiled Compiled

This definition gives the library's named construction or computation for “s 2”. 'S₂ = (S - S†)/(2i)'.

def S2 (A B : CMatrix ι ι) : CMatrix (Sum ι ι) (Sum ι ι) :=
  antiHermitianPart (homogenizedS A B)

/-- The homogenized matrix is exactly `S₁ + i S₂`. -/

commit-pinned source · Verso Blueprint panel

theorem · line 125

QuantumBlockEncoding.GHL2025.Hamiltonian.homogenizedS_eq_S1_add_iS2

Compiled Compiled

Lean checks the proposition indexed as “homogenized s eq s 1 add i s 2”; the hypotheses and conclusion in the code panel fix its exact scope. The homogenized matrix is exactly 'S₁ + i S₂'.

theorem homogenizedS_eq_S1_add_iS2 (A B : CMatrix ι ι) :
    ∀ i j,
      homogenizedS A B i j =
        S1 A B i j + Complex.I * S2 A B i j := by

commit-pinned source · Verso Blueprint panel

theorem · line 132

QuantumBlockEncoding.GHL2025.Hamiltonian.S1_isHermitian

Compiled Compiled

Lean checks the proposition indexed as “s 1 is hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. The two Schrödingerisation pieces are Hermitian.

theorem S1_isHermitian (A B : CMatrix ι ι) : IsHermitian (S1 A B) :=
  hermitianPart_isHermitian _

commit-pinned source · Verso Blueprint panel

theorem · line 135

QuantumBlockEncoding.GHL2025.Hamiltonian.S2_isHermitian

Compiled Compiled

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

theorem S2_isHermitian (A B : CMatrix ι ι) : IsHermitian (S2 A B) :=
  antiHermitianPart_isHermitian _

/-- Paper Eq. (18), upper-left block of `S₁`. -/

commit-pinned source · Verso Blueprint panel

theorem · line 139

QuantumBlockEncoding.GHL2025.Hamiltonian.S1_upperLeft

Compiled Compiled

Lean checks the proposition indexed as “s 1 upper left”; the hypotheses and conclusion in the code panel fix its exact scope. Paper Eq.

theorem S1_upperLeft (A B : CMatrix ι ι) (i j : ι) :
    S1 A B (Sum.inl i) (Sum.inl j) =
      (A i j + conj (A j i)) / 2 := by

commit-pinned source · Verso Blueprint panel

theorem · line 145

QuantumBlockEncoding.GHL2025.Hamiltonian.S1_upperRight

Compiled Compiled

Lean checks the proposition indexed as “s 1 upper right”; the hypotheses and conclusion in the code panel fix its exact scope. Paper Eq.

theorem S1_upperRight (A B : CMatrix ι ι) (i j : ι) :
    S1 A B (Sum.inl i) (Sum.inr j) = B i j / 2 := by

commit-pinned source · Verso Blueprint panel

theorem · line 150

QuantumBlockEncoding.GHL2025.Hamiltonian.S1_lowerLeft_of_B_hermitian

Compiled Compiled

Lean checks the proposition indexed as “s 1 lower left of b hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. Under the paper's Hermitian 'B', the lower-left block of 'S₁' is 'B/2'.

theorem S1_lowerLeft_of_B_hermitian (A B : CMatrix ι ι)
    (hB : IsHermitian B) (i j : ι) :
    S1 A B (Sum.inr i) (Sum.inl j) = B i j / 2 := by

commit-pinned source · Verso Blueprint panel

theorem · line 155

QuantumBlockEncoding.GHL2025.Hamiltonian.S1_lowerRight

Compiled Compiled

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

@[simp] theorem S1_lowerRight (A B : CMatrix ι ι) (i j : ι) :
    S1 A B (Sum.inr i) (Sum.inr j) = 0 := by

commit-pinned source · Verso Blueprint panel

theorem · line 160

QuantumBlockEncoding.GHL2025.Hamiltonian.S2_upperLeft

Compiled Compiled

Lean checks the proposition indexed as “s 2 upper left”; the hypotheses and conclusion in the code panel fix its exact scope. Paper Eq.

theorem S2_upperLeft (A B : CMatrix ι ι) (i j : ι) :
    S2 A B (Sum.inl i) (Sum.inl j) =
      (A i j - conj (A j i)) / (2 * Complex.I) := by

commit-pinned source · Verso Blueprint panel

theorem · line 166

QuantumBlockEncoding.GHL2025.Hamiltonian.S2_upperRight

Compiled Compiled

Lean checks the proposition indexed as “s 2 upper right”; the hypotheses and conclusion in the code panel fix its exact scope. Paper Eq.

theorem S2_upperRight (A B : CMatrix ι ι) (i j : ι) :
    S2 A B (Sum.inl i) (Sum.inr j) = B i j / (2 * Complex.I) := by

commit-pinned source · Verso Blueprint panel

theorem · line 171

QuantumBlockEncoding.GHL2025.Hamiltonian.S2_lowerLeft_of_B_hermitian

Compiled Compiled

Lean checks the proposition indexed as “s 2 lower left of b hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. Under Hermitian 'B', the lower-left block is '-B/(2i)'.

theorem S2_lowerLeft_of_B_hermitian (A B : CMatrix ι ι)
    (hB : IsHermitian B) (i j : ι) :
    S2 A B (Sum.inr i) (Sum.inl j) = -(B i j) / (2 * Complex.I) := by

commit-pinned source · Verso Blueprint panel

theorem · line 176

QuantumBlockEncoding.GHL2025.Hamiltonian.S2_lowerRight

Compiled Compiled

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

@[simp] theorem S2_lowerRight (A B : CMatrix ι ι) (i j : ι) :
    S2 A B (Sum.inr i) (Sum.inr j) = 0 := by

commit-pinned source · Verso Blueprint panel

def · line 181

QuantumBlockEncoding.GHL2025.Hamiltonian.identity

Compiled Compiled

This definition gives the library's named construction or computation for “identity”. Matrix identity on an arbitrary finite basis.

def identity (ι : Type*) [DecidableEq ι] : CMatrix ι ι :=
  fun i j => if i = j then 1 else 0


/--
The clean-block matrix contributed by `N_A L₁(φ)` or `N_A L₂(φ)` in Eq. (29).
The upper block is already rescaled from `A/N_A` to `A`; the lower filler block
is `N_A e^{iφ} I`.  We expose the filler because cancellation of these entries
is a real source-level proof obligation in the next LCU.
-/

commit-pinned source · Verso Blueprint panel

def · line 191

QuantumBlockEncoding.GHL2025.Hamiltonian.scaledControlledPhaseSource

Compiled Compiled

This definition gives the library's named construction or computation for “scaled controlled phase source”. The clean-block matrix contributed by 'N_A L₁(φ)' or 'N_A L₂(φ)' in Eq.

def scaledControlledPhaseSource [DecidableEq ι]
    (upper : CMatrix ι ι) (normalizer phase : ℂ) :
    CMatrix (Sum ι ι) (Sum ι ι) :=
  fun row col =>
    match row, col with
    | Sum.inl i, Sum.inl j => upper i j
    | Sum.inr i, Sum.inr j => if i = j then normalizer * phase else 0
    | _, _ => 0

/-- `X ⊗ B` in the paper's Eq. (30), written on the `ι ⊕ ι` basis. -/

commit-pinned source · Verso Blueprint panel

def · line 201

QuantumBlockEncoding.GHL2025.Hamiltonian.pauliXTensor

Compiled Compiled

This definition gives the library's named construction or computation for “pauli x tensor”. 'X ⊗ B' in the paper's Eq.

def pauliXTensor (B : CMatrix ι ι) : CMatrix (Sum ι ι) (Sum ι ι) :=
  fun row col =>
    match row, col with
    | Sum.inl i, Sum.inr j => B i j
    | Sum.inr i, Sum.inl j => B i j
    | _, _ => 0

/-- `Y ⊗ B` in the paper's Eq. (30), written on the `ι ⊕ ι` basis. -/

commit-pinned source · Verso Blueprint panel

def · line 209

QuantumBlockEncoding.GHL2025.Hamiltonian.pauliYTensor

Compiled Compiled

This definition gives the library's named construction or computation for “pauli y tensor”. 'Y ⊗ B' in the paper's Eq.

def pauliYTensor (B : CMatrix ι ι) : CMatrix (Sum ι ι) (Sum ι ι) :=
  fun row col =>
    match row, col with
    | Sum.inl i, Sum.inr j => -Complex.I * B i j
    | Sum.inr i, Sum.inl j => Complex.I * B i j
    | _, _ => 0

/--
Literal clean-block algebra of the first line of the printed Eq. (30): both
filler phases are `e^{±iπ} = -1`.  The selected `A,A†,B` entries are correct,
but the lower-right filler blocks add instead of canceling.

commit-pinned source · Verso Blueprint panel

def · line 221

QuantumBlockEncoding.GHL2025.Hamiltonian.eq29PrintedClean

Compiled Compiled

This definition gives the library's named construction or computation for “eq 29 printed clean”. Literal clean-block algebra of the first line of the printed Eq.

def eq29PrintedClean [DecidableEq ι]
    (A B : CMatrix ι ι) (normalizerA : ℂ) :
    CMatrix (Sum ι ι) (Sum ι ι) :=
  add
    (scale (1 / 2 : ℂ) (scaledControlledPhaseSource A normalizerA (-1)))
    (add
      (scale (1 / 2 : ℂ)
        (scaledControlledPhaseSource (adjoint A) normalizerA (-1)))
      (scale (1 / 2 : ℂ) (pauliXTensor B)))

/--

commit-pinned source · Verso Blueprint panel

def · line 236

QuantumBlockEncoding.GHL2025.Hamiltonian.eq29PhaseBalancedClean

Compiled Compiled

This definition gives the library's named construction or computation for “eq 29 phase balanced clean”. Phase-balanced interpretation of the first line of Eq.

def eq29PhaseBalancedClean [DecidableEq ι]
    (A B : CMatrix ι ι) (normalizerA : ℂ) :
    CMatrix (Sum ι ι) (Sum ι ι) :=
  add
    (scale (1 / 2 : ℂ) (scaledControlledPhaseSource A normalizerA 1))
    (add
      (scale (1 / 2 : ℂ)
        (scaledControlledPhaseSource (adjoint A) normalizerA (-1)))
      (scale (1 / 2 : ℂ) (pauliXTensor B)))

/-- The printed Eq. (29) leaves the lower-right clean filler equal to `-N_A`. -/

commit-pinned source · Verso Blueprint panel

theorem · line 247

QuantumBlockEncoding.GHL2025.Hamiltonian.eq29PrintedClean_lowerRight

Compiled Compiled

Lean checks the proposition indexed as “eq 29 printed clean lower right”; the hypotheses and conclusion in the code panel fix its exact scope. The printed Eq.

theorem eq29PrintedClean_lowerRight [DecidableEq ι]
    (A B : CMatrix ι ι) (normalizerA : ℂ) (i : ι) :
    eq29PrintedClean A B normalizerA (Sum.inr i) (Sum.inr i) = -normalizerA := by

commit-pinned source · Verso Blueprint panel

theorem · line 254

QuantumBlockEncoding.GHL2025.Hamiltonian.eq29PrintedClean_ne_S1

Compiled Compiled

Lean checks the proposition indexed as “eq 29 printed clean ne s 1”; the hypotheses and conclusion in the code panel fix its exact scope. Therefore the literal printed phase choice cannot equal 'S₁' when 'N_A ≠ 0'.

theorem eq29PrintedClean_ne_S1 [DecidableEq ι]
    (A B : CMatrix ι ι) (normalizerA : ℂ) (i : ι)
    (hN : normalizerA ≠ 0) :
    eq29PrintedClean A B normalizerA ≠ S1 A B := by

commit-pinned source · Verso Blueprint panel

theorem · line 268

QuantumBlockEncoding.GHL2025.Hamiltonian.eq29PhaseBalancedClean_eq_S1

Compiled Compiled

Lean checks the proposition indexed as “eq 29 phase balanced clean eq s 1”; the hypotheses and conclusion in the code panel fix its exact scope. The phase-balanced Eq.

theorem eq29PhaseBalancedClean_eq_S1 [DecidableEq ι]
    (A B : CMatrix ι ι) (normalizerA : ℂ)
    (hB : IsHermitian B) :
    eq29PhaseBalancedClean A B normalizerA = S1 A B := by

commit-pinned source · Verso Blueprint panel

def · line 299

QuantumBlockEncoding.GHL2025.Hamiltonian.eq30Clean

Compiled Compiled

This definition gives the library's named construction or computation for “eq 30 clean”. Literal clean-block algebra of the second line of Eq.

def eq30Clean [DecidableEq ι]
    (A B : CMatrix ι ι) (normalizerA : ℂ) :
    CMatrix (Sum ι ι) (Sum ι ι) :=
  add
    (scale (Complex.I / 2)
      (scaledControlledPhaseSource (adjoint A) normalizerA 1))
    (add
      (scale (-Complex.I / 2)
        (scaledControlledPhaseSource A normalizerA 1))
      (scale (1 / 2 : ℂ) (pauliYTensor B)))

commit-pinned source · Verso Blueprint panel

theorem · line 311

QuantumBlockEncoding.GHL2025.Hamiltonian.eq30Clean_eq_S2

Compiled Compiled

Lean checks the proposition indexed as “eq 30 clean eq s 2”; the hypotheses and conclusion in the code panel fix its exact scope. The second line of Eq.

theorem eq30Clean_eq_S2 [DecidableEq ι]
    (A B : CMatrix ι ι) (normalizerA : ℂ)
    (hB : IsHermitian B) :
    eq30Clean A B normalizerA = S2 A B := by

commit-pinned source · Verso Blueprint panel

theorem · line 349

QuantumBlockEncoding.GHL2025.Hamiltonian.oneDimHamiltonianClaim_normalization_closed

Compiled Compiled

Lean checks the proposition indexed as “one dim hamiltonian claim normalization closed”; the hypotheses and conclusion in the code panel fix its exact scope. Theorem 4's source normalization is registered exactly.

theorem oneDimHamiltonianClaim_normalization_closed :
    oneDimHamiltonianClaim.normalization = "O(kappa * ||H||_max)" := by

commit-pinned source · Verso Blueprint panel

theorem · line 354

QuantumBlockEncoding.GHL2025.Hamiltonian.oneDimHamiltonianClaim_layout_closed

Compiled Compiled

Lean checks the proposition indexed as “one dim hamiltonian claim layout closed”; the hypotheses and conclusion in the code panel fix its exact scope. Theorem 4's source signal-qubit expression is registered exactly.

theorem oneDimHamiltonianClaim_layout_closed :
    oneDimHamiltonianClaim.layout =
      "ceil(log2 n_xi)+ceil(log2 n)+ceil(log2 G)+ceil(log2 kappa)+ceil(log2 eta)+7 signal qubits" := by

commit-pinned source · Verso Blueprint panel

theorem · line 360

QuantumBlockEncoding.GHL2025.Hamiltonian.oneDimHamiltonianResource_pureAncilla_closed

Compiled Compiled

Lean checks the proposition indexed as “one dim hamiltonian resource pure ancilla closed”; the hypotheses and conclusion in the code panel fix its exact scope. Theorem 4's source pure-ancilla expression is exactly '2n+2'.

theorem oneDimHamiltonianResource_pureAncilla_closed :
    oneDimHamiltonianResourceExpr.pureAncilla =
      (2 : CostExpr) * CostExpr.atom "n" + 2 := by

commit-pinned source · Verso Blueprint panel

def · line 367

QuantumBlockEncoding.GHL2025.Hamiltonian.tensor

Compiled Compiled

This definition gives the library's named construction or computation for “tensor”. Kronecker product in explicit product-index form.

def tensor (A : CMatrix ι ι) (B : CMatrix κ κ) :
    CMatrix (ι × κ) (ι × κ) :=
  fun row col => A row.1 col.1 * B row.2 col.2

/-- The paper's one-dimensional Hamiltonian `H = S₁⊗x_ξ + S₂⊗I_ξ`. -/

commit-pinned source · Verso Blueprint panel

def · line 372

QuantumBlockEncoding.GHL2025.Hamiltonian.oneDimHamiltonian

Compiled Compiled

This definition gives the library's named construction or computation for “one dim hamiltonian”. The paper's one-dimensional Hamiltonian 'H = S₁⊗x_ξ + S₂⊗I_ξ'.

def oneDimHamiltonian [DecidableEq ξ]
    (A B : CMatrix ι ι) (xXi : CMatrix ξ ξ) :
    CMatrix ((Sum ι ι) × ξ) ((Sum ι ι) × ξ) :=
  add (tensor (S1 A B) xXi) (tensor (S2 A B) (identity ξ))

commit-pinned source · Verso Blueprint panel

theorem · line 377

QuantumBlockEncoding.GHL2025.Hamiltonian.oneDimHamiltonian_entry

Compiled Compiled

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

@[simp] theorem oneDimHamiltonian_entry [DecidableEq ξ]
    (A B : CMatrix ι ι) (xXi : CMatrix ξ ξ)
    (row col : (Sum ι ι) × ξ) :
    oneDimHamiltonian A B xXi row col =
      S1 A B row.1 col.1 * xXi row.2 col.2 +
      S2 A B row.1 col.1 * (if row.2 = col.2 then 1 else 0) := by

commit-pinned source · Verso Blueprint panel

theorem · line 386

QuantumBlockEncoding.GHL2025.Hamiltonian.identity_isHermitian

Compiled Compiled

Lean checks the proposition indexed as “identity is hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. The identity matrix is Hermitian.

theorem identity_isHermitian [DecidableEq ι] : IsHermitian (identity ι) := by

commit-pinned source · Verso Blueprint panel

theorem · line 395

QuantumBlockEncoding.GHL2025.Hamiltonian.tensor_isHermitian

Compiled Compiled

Lean checks the proposition indexed as “tensor is hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. Tensor products of Hermitian matrices are Hermitian.

theorem tensor_isHermitian (A : CMatrix ι ι) (B : CMatrix κ κ)
    (hA : IsHermitian A) (hB : IsHermitian B) :
    IsHermitian (tensor A B) := by

commit-pinned source · Verso Blueprint panel

theorem · line 403

QuantumBlockEncoding.GHL2025.Hamiltonian.add_isHermitian

Compiled Compiled

Lean checks the proposition indexed as “add is hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. Sums of Hermitian matrices are Hermitian.

theorem add_isHermitian (A B : CMatrix ι ι)
    (hA : IsHermitian A) (hB : IsHermitian B) :
    IsHermitian (add A B) := by

commit-pinned source · Verso Blueprint panel

theorem · line 411

QuantumBlockEncoding.GHL2025.Hamiltonian.oneDimHamiltonian_isHermitian

Compiled Compiled

Lean checks the proposition indexed as “one dim hamiltonian is hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. The paper's 'H' is Hermitian whenever the coordinate operator is.

theorem oneDimHamiltonian_isHermitian [DecidableEq ξ]
    (A B : CMatrix ι ι) (xXi : CMatrix ξ ξ)
    (hx : IsHermitian xXi) :
    IsHermitian (oneDimHamiltonian A B xXi) := by

commit-pinned source · Verso Blueprint panel

structure · line 424

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate

Compiled Partial route

This record groups the data and proof fields needed for “one dim composition certificate”. A proposition-valued field is a requirement until a constructor supplies it. Proof-carrying source bundle for Theorem 4.

structure OneDimCompositionCertificate (η ι ξ : Type*)
    [Fintype η] [DecidableEq ξ] where
  terms : η → CMatrix ι ι
  B : CMatrix ι ι
  xXi : CMatrix ξ ξ
  B_hermitian : IsHermitian B
  xXi_hermitian : IsHermitian xXi

commit-pinned source · Verso Blueprint panel

def · line 437

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.A

Compiled Compiled

This definition gives the library's named construction or computation for “a”. 'A = Σ_k A_k', exactly as in Theorem 4.

def A (cert : OneDimCompositionCertificate η ι ξ) : CMatrix ι ι :=
  sumTerms cert.terms

/-- `A†`, exposed as a named stage because Theorem 4 combines both `A` and `A†`. -/

commit-pinned source · Verso Blueprint panel

def · line 441

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.Adagger

Compiled Compiled

This definition gives the library's named construction or computation for “adagger”. 'A†', exposed as a named stage because Theorem 4 combines both 'A' and 'A†'.

def Adagger (cert : OneDimCompositionCertificate η ι ξ) : CMatrix ι ι :=
  adjoint cert.A

/-- The adjoint assembled from the one-term adjoints equals the adjoint of `A`. -/

commit-pinned source · Verso Blueprint panel

theorem · line 445

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.Adagger_eq_sum_term_adjoints

Compiled Compiled

Lean checks the proposition indexed as “adagger eq sum term adjoints”; the hypotheses and conclusion in the code panel fix its exact scope. The adjoint assembled from the one-term adjoints equals the adjoint of 'A'.

theorem Adagger_eq_sum_term_adjoints
    (cert : OneDimCompositionCertificate η ι ξ) :
    cert.Adagger = sumTerms (fun k => adjoint (cert.terms k)) := by

commit-pinned source · Verso Blueprint panel

def · line 451

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.S

Compiled Compiled

This definition gives the library's named construction or computation for “s”. Homogenized source matrix 'S = [[A,B],[0,0]]'.

def S (cert : OneDimCompositionCertificate η ι ξ) :
    CMatrix (Sum ι ι) (Sum ι ι) :=
  homogenizedS cert.A cert.B

/-- First Hermitian source block. -/

commit-pinned source · Verso Blueprint panel

def · line 456

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.first

Compiled Compiled

This definition gives the library's named construction or computation for “first”. First Hermitian source block.

def first (cert : OneDimCompositionCertificate η ι ξ) :=
  S1 cert.A cert.B

/-- Second Hermitian source block. -/

commit-pinned source · Verso Blueprint panel

def · line 460

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.second

Compiled Compiled

This definition gives the library's named construction or computation for “second”. Second Hermitian source block.

def second (cert : OneDimCompositionCertificate η ι ξ) :=
  S2 cert.A cert.B

/-- Final Schrödingerised Hamiltonian. -/

commit-pinned source · Verso Blueprint panel

def · line 464

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.H

Compiled Compiled

This definition gives the library's named construction or computation for “h”. Final Schrödingerised Hamiltonian.

def H (cert : OneDimCompositionCertificate η ι ξ) :=
  oneDimHamiltonian cert.A cert.B cert.xXi

/-- The certificate reconstructs `S` from the two Hermitian pieces. -/

commit-pinned source · Verso Blueprint panel

theorem · line 468

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.S_decomposition

Compiled Compiled

Lean checks the proposition indexed as “s decomposition”; the hypotheses and conclusion in the code panel fix its exact scope. The certificate reconstructs 'S' from the two Hermitian pieces.

theorem S_decomposition (cert : OneDimCompositionCertificate η ι ξ) :
    ∀ i j, cert.S i j = cert.first i j + Complex.I * cert.second i j := by

commit-pinned source · Verso Blueprint panel

theorem · line 473

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.H_isHermitian

Compiled Compiled

Lean checks the proposition indexed as “h is hermitian”; the hypotheses and conclusion in the code panel fix its exact scope. The final source-level Hamiltonian is Hermitian.

theorem H_isHermitian (cert : OneDimCompositionCertificate η ι ξ) :
    IsHermitian cert.H := by

commit-pinned source · Verso Blueprint panel

theorem · line 478

QuantumBlockEncoding.GHL2025.Hamiltonian.OneDimCompositionCertificate.H_eq_S1_tensor_xXi_add_S2_tensor_I

Compiled Compiled

Lean checks the proposition indexed as “h eq s 1 tensor x xi add s 2 tensor i”; the hypotheses and conclusion in the code panel fix its exact scope. Theorem 4 target formula is definitional in the proof-carrying bundle.

theorem H_eq_S1_tensor_xXi_add_S2_tensor_I
    (cert : OneDimCompositionCertificate η ι ξ) :
    cert.H = add (tensor cert.first cert.xXi)
      (tensor cert.second (identity ξ)) := by

commit-pinned source · Verso Blueprint panel

theorem · line 487

QuantumBlockEncoding.GHL2025.Hamiltonian.oneDimHamiltonianClaim_target_closed

Compiled Compiled

Lean checks the proposition indexed as “one dim hamiltonian claim target closed”; the hypotheses and conclusion in the code panel fix its exact scope. The paper registry's 1D target is exactly the composition formalized here.

theorem oneDimHamiltonianClaim_target_closed :
    oneDimHamiltonianClaim.target = "H = S1 tensor x_xi + S2 tensor I_xi" := by

commit-pinned source · Verso Blueprint panel

theorem · line 492

QuantumBlockEncoding.GHL2025.Hamiltonian.oneDimHamiltonianClaim_resource_closed

Compiled Compiled

Lean checks the proposition indexed as “one dim hamiltonian claim resource closed”; the hypotheses and conclusion in the code panel fix its exact scope. Theorem 4's resource expression is the registered source expression.

theorem oneDimHamiltonianClaim_resource_closed :
    oneDimHamiltonianClaim.resource = oneDimHamiltonianResourceExpr := by

commit-pinned source · Verso Blueprint panel

theorem · line 502

QuantumBlockEncoding.GHL2025.Hamiltonian.theorem4_source_lcu_route_closed

Compiled Compiled

Lean checks the proposition indexed as “theorem 4 source lcu route closed”; the hypotheses and conclusion in the code panel fix its exact scope. Single proof root for the paper-level Theorem 4 composition.

theorem theorem4_source_lcu_route_closed [DecidableEq ι] [DecidableEq ξ]
    {η : Type*} [Fintype η]
    (cert : OneDimCompositionCertificate η ι ξ)
    (normalizerA : ℂ) :
    eq29PhaseBalancedClean cert.A cert.B normalizerA = cert.first ∧
    eq30Clean cert.A cert.B normalizerA = cert.second ∧
    cert.H = add (tensor cert.first cert.xXi)
      (tensor cert.second (identity ξ)) ∧
    oneDimHamiltonianClaim.normalization = "O(kappa * ||H||_max)" ∧
    oneDimHamiltonianClaim.resource = oneDimHamiltonianResourceExpr := by

commit-pinned source · Verso Blueprint panel