Imports
/- Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Tooby-Smith -/ module public import Physlib.QuantumMechanics.HilbertSpaces.OneDimension.SchwartzSubmodule public import Physlib.QuantumMechanics.Operators.OneDimension.Unbounded public import Mathlib.MeasureTheory.Measure.Haar.Unique public import Mathlib.Analysis.Calculus.ContDiff.Operations

Parity operator

@[expose] public section

The parity operator on functions

The parity operator is defined as linear map from ℝ → ℂ to itself, such that ψ is taken to fun x => ψ (-x).

def parityOperator : (ℝ → ℂ) →ₗ[ℂ] (ℝ → ℂ) where toFun ψ := fun x => ψ (-x) map_add' ψ1 ψ2 := ψ1:ℝ → ℂψ2:ℝ → ℂ⊢ (fun x => (ψ1 + ψ2) (-x)) = (fun x => ψ1 (-x)) + fun x => ψ2 (-x) ψ1:ℝ → ℂψ2:ℝ → ℂx:ℝ⊢ (ψ1 + ψ2) (-x) = ((fun x => ψ1 (-x)) + fun x => ψ2 (-x)) x All goals completed! 🐙 map_smul' a ψ1 := a:ℂψ1:ℝ → ℂ⊢ (fun x => (a • ψ1) (-x)) = (RingHom.id ℂ) a • fun x => ψ1 (-x) a:ℂψ1:ℝ → ℂx:ℝ⊢ (a • ψ1) (-x) = ((RingHom.id ℂ) a • fun x => ψ1 (-x)) x All goals completed! 🐙

The parity operator on Schwartz maps

The parity operator on the Schwartz maps is defined as the linear map from 𝓢(ℝ, ℂ) to itself, such that ψ is taken to fun x => ψ (-x).

n✝:ℕx:ℝn:ℕ⊢ ‖0 x‖ ≤ 1 + |x|n✝:ℕx:ℝn:ℕ⊢ n + 1 ≠ 0 n✝:ℕx:ℝn:ℕ⊢ 0 ≤ 1 + |x|n✝:ℕx:ℝn:ℕ⊢ n + 1 ≠ 0 n✝:ℕx:ℝn:ℕ⊢ 0 ≤ 1n✝:ℕx:ℝn:ℕ⊢ 0 ≤ |x|n✝:ℕx:ℝn:ℕ⊢ n + 1 ≠ 0 n✝:ℕx:ℝn:ℕ⊢ 0 ≤ 1 All goals completed! 🐙 n✝:ℕx:ℝn:ℕ⊢ 0 ≤ |x| All goals completed! 🐙 All goals completed! 🐙 ⊢ ∃ k C, ∀ (x : ℝ), ‖x‖ ≤ C * (1 + ‖-x‖) ^ k ⊢ ∃ k C, ∀ (x : ℝ), |x| ≤ C * (1 + |x|) ^ k ⊢ ∀ (x : ℝ), |x| ≤ 1 * (1 + |x|) ^ 1 x:ℝ⊢ |x| ≤ 1 * (1 + |x|) ^ 1 All goals completed! 🐙

The unbounded parity operator, whose domain is Schwartz maps.

@[simp] lemma parityOperatorSchwartz_parityOperatorSchwartz (ψ : 𝓢(ℝ, ℂ)) : parityOperatorSchwartz (parityOperatorSchwartz ψ) = ψ := ψ:𝓢(ℝ, ℂ)⊢ parityOperatorSchwartz (parityOperatorSchwartz ψ) = ψ ψ:𝓢(ℝ, ℂ)x:ℝ⊢ (parityOperatorSchwartz (parityOperatorSchwartz ψ)) x = ψ x All goals completed! 🐙

Parity operator is symmetric

ψ1:𝓢(ℝ, ℂ)ψ2:𝓢(ℝ, ℂ)⊢ ∫ (x : ℝ), (starRingEnd ℂ) ((parityOperatorSchwartz ψ1) x) * ψ2 x = ∫ (x : ℝ), (starRingEnd ℂ) (ψ1 x) * (parityOperatorSchwartz ψ2) x ψ1:𝓢(ℝ, ℂ)ψ2:𝓢(ℝ, ℂ)f:ℝ → ℂ := fun x => (starRingEnd ℂ) (ψ1 (-x)) * ψ2 x⊢ ∫ (x : ℝ), (starRingEnd ℂ) ((parityOperatorSchwartz ψ1) x) * ψ2 x = ∫ (x : ℝ), (starRingEnd ℂ) (ψ1 x) * (parityOperatorSchwartz ψ2) x ψ1:𝓢(ℝ, ℂ)ψ2:𝓢(ℝ, ℂ)f:ℝ → ℂ := fun x => (starRingEnd ℂ) (ψ1 (-x)) * ψ2 x⊢ ∫ (x : ℝ), f x = ∫ (x : ℝ), (starRingEnd ℂ) (ψ1 x) * (parityOperatorSchwartz ψ2) x ψ1:𝓢(ℝ, ℂ)ψ2:𝓢(ℝ, ℂ)f:ℝ → ℂ := fun x => (starRingEnd ℂ) (ψ1 (-x)) * ψ2 x⊢ ∫ (x : ℝ), f x = ∫ (x : ℝ), f (-x)ψ1:𝓢(ℝ, ℂ)ψ2:𝓢(ℝ, ℂ)f:ℝ → ℂ := fun x => (starRingEnd ℂ) (ψ1 (-x)) * ψ2 x⊢ ∫ (x : ℝ), f (-x) = ∫ (x : ℝ), (starRingEnd ℂ) (ψ1 x) * (parityOperatorSchwartz ψ2) x ψ1:𝓢(ℝ, ℂ)ψ2:𝓢(ℝ, ℂ)f:ℝ → ℂ := fun x => (starRingEnd ℂ) (ψ1 (-x)) * ψ2 x⊢ ∫ (x : ℝ), f x = ∫ (x : ℝ), f (-x) All goals completed! 🐙 ψ1:𝓢(ℝ, ℂ)ψ2:𝓢(ℝ, ℂ)f:ℝ → ℂ := fun x => (starRingEnd ℂ) (ψ1 (-x)) * ψ2 x⊢ ∫ (x : ℝ), f (-x) = ∫ (x : ℝ), (starRingEnd ℂ) (ψ1 x) * (parityOperatorSchwartz ψ2) x ψ1:𝓢(ℝ, ℂ)ψ2:𝓢(ℝ, ℂ)f:ℝ → ℂ := fun x => (starRingEnd ℂ) (ψ1 (-x)) * ψ2 x⊢ ∫ (x : ℝ), (starRingEnd ℂ) (ψ1 x) * ψ2 (-x) = ∫ (x : ℝ), (starRingEnd ℂ) (ψ1 x) * (parityOperatorSchwartz ψ2) x All goals completed! 🐙