Paper VI · Lean source
Semigroups.lean
Inherited / related evidence Coverage and evidence
The edition relies on earlier or related formal evidence. That evidence is not a fresh full-edition replay.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
Local imports (1)
KomorebiPaperVI/Semigroups.lean112 lines
Original source path
source/complete/original_snapshot/formalization/lean/KomorebiPaperVI/Semigroups.leanSkip declarations and read code
1 import KomorebiPaperVI.Algebra
2 import Mathlib.Analysis.SpecialFunctions.Exponential
3 import Mathlib.Analysis.Calculus.Deriv.Mul
4 import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus
5 import Mathlib.Tactic
6
7 /-! Author: Komorebi P. Banach-algebra exponentials and rectangular bounded-operator Duhamel. -/
8 namespace KomorebiPaperVI.Semigroups
9 open NormedSpace
10 open scoped Topology
11
12 section BanachAlgebra
13 variable {R : Type*} [NormedRing R] [NormedAlgebra ℝ R] [CompleteSpace R]
14
15 noncomputable def transfer (A : R) (t : ℝ) : R := exp (t • A)
16
17 omit [CompleteSpace R] in
18 theorem transfer_zero (A : R) : transfer A 0 = 1 := by simp [transfer]
19
20 theorem transfer_add (A : R) (s t : ℝ) : transfer A (s+t) = transfer A s*transfer A t := by
21 let : NormedAlgebra ℚ R := NormedAlgebra.restrictScalars ℚ ℝ R
22 dsimp [transfer]
23 rw [add_smul]
24 exact exp_add_of_commute (((Commute.refl A).smul_left s).smul_right t)
25
26 theorem transfer_derivative_right (A : R) (t : ℝ) :
27 HasDerivAt (transfer A) (transfer A t*A) t := hasDerivAt_exp_smul_const A t
28
29 theorem transfer_derivative_left (A : R) (t : ℝ) :
30 HasDerivAt (transfer A) (A*transfer A t) t := hasDerivAt_exp_smul_const' A t
31
32 @[fun_prop]
33 theorem transfer_continuous (A : R) : Continuous (transfer A) := by
34 exact continuous_iff_continuousAt.mpr fun t => (transfer_derivative_right A t).continuousAt
35
36 theorem transfer_intertwining (C A B : R) (h : C*A=B*C) (t : ℝ) :
37 C*transfer A t=transfer B t*C := by
38 let : NormedAlgebra ℚ R := NormedAlgebra.restrictScalars ℚ ℝ R
39 have hs : SemiconjBy C (t • A) (t • B) :=
40 (show SemiconjBy C A B from h).smul_right t
41 exact hs.exp_right
42
43
44 theorem exponential_packet_convolution {I : Type*} [Fintype I]
45 (P : I → R) (hP : ∑ i, P i=1) (hid : ∀ i, P i*P i=P i)
46 (A : R) (s t : ℝ) (b a : I) :
47 Algebra.block P (transfer A (s+t)) b a =
48 ∑ c, Algebra.block P (transfer A s) b c*Algebra.block P (transfer A t) c a :=
49 Algebra.packet_semigroup_convolution P hP hid (transfer A) (transfer_add A) s t b a
50
51 end BanachAlgebra
52
53 section Rectangular
54 variable {E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [CompleteSpace E]
55 [NormedAddCommGroup F] [NormedSpace ℝ F] [CompleteSpace F]
56
57 theorem duhamel_integrand_derivative (A : E →L[ℝ] E) (B : F →L[ℝ] F)
58 (C : E →L[ℝ] F) (t r : ℝ) :
59 HasDerivAt (fun u => (transfer B (t-u)).comp (C.comp (transfer A u)))
60 ((transfer B (t-r)).comp ((C.comp A-B.comp C).comp (transfer A r))) r := by
61 have hb : HasDerivAt (fun u => transfer B (t-u)) (-(transfer B (t-r)*B)) r := by
62 simpa [Function.comp_def] using (transfer_derivative_right B (t-r)).scomp r
63 ((hasDerivAt_const r t).sub (hasDerivAt_id r))
64 have hc := (hasDerivAt_const r C).clm_comp (transfer_derivative_left A r)
65 convert hb.clm_comp hc using 1
66 ext x
67 simp [mul_apply_eq_comp, ContinuousLinearMap.comp_apply]
68 abel
69
70 theorem duhamel_rectangular (A : E →L[ℝ] E) (B : F →L[ℝ] F)
71 (C : E →L[ℝ] F) (t : ℝ) :
72 C.comp (transfer A t)-(transfer B t).comp C =
73 ∫ r in 0..t, (transfer B (t-r)).comp ((C.comp A-B.comp C).comp (transfer A r)) := by
74 have hc : Continuous (fun r => (transfer B (t-r)).comp
75 ((C.comp A-B.comp C).comp (transfer A r))) := by
76 fun_prop
77 have h := intervalIntegral.integral_eq_sub_of_hasDerivAt
78 (fun r _ => duhamel_integrand_derivative A B C t r) (hc.intervalIntegrable 0 t)
79 simpa [transfer_zero, ContinuousLinearMap.one_def] using h.symm
80
81 theorem exact_rectangular_intertwining (A : E →L[ℝ] E) (B : F →L[ℝ] F)
82 (C : E →L[ℝ] F) (h : C.comp A=B.comp C) (t : ℝ) :
83 C.comp (transfer A t)=(transfer B t).comp C := by
84 have hd := duhamel_rectangular A B C t
85 simp only [h, sub_self, ContinuousLinearMap.zero_comp, ContinuousLinearMap.comp_zero,
86 intervalIntegral.integral_zero] at hd
87 exact sub_eq_zero.mp hd
88
89 theorem contraction_duhamel_bound (A : E →L[ℝ] E) (B : F →L[ℝ] F)
90 (C : E →L[ℝ] F) (t : ℝ) (ht : 0 ≤ t)
91 (hA : ∀ u, 0 ≤ u → ‖transfer A u‖ ≤ 1)
92 (hB : ∀ u, 0 ≤ u → ‖transfer B u‖ ≤ 1) :
93 ‖C.comp (transfer A t)-(transfer B t).comp C‖ ≤ t*‖C.comp A-B.comp C‖ := by
94 rw [duhamel_rectangular]
95 have h := intervalIntegral.norm_integral_le_of_norm_le_const (a := 0) (b := t)
96 (C := ‖C.comp A-B.comp C‖)
97 (f := fun r => (transfer B (t-r)).comp ((C.comp A-B.comp C).comp (transfer A r)))
98 (fun r hr => ?_)
99 · simpa [abs_of_nonneg ht, mul_comm] using h
100 · have hr' : r ∈ Set.Ioc 0 t := by simpa [Set.uIoc_of_le ht] using hr
101 calc
102 _ ≤ ‖transfer B (t-r)‖ * ‖(C.comp A-B.comp C).comp (transfer A r)‖ :=
103 ContinuousLinearMap.opNorm_comp_le _ _
104 _ ≤ 1*(‖C.comp A-B.comp C‖*1) :=
105 mul_le_mul (hB _ (sub_nonneg.mpr hr'.2))
106 ((ContinuousLinearMap.opNorm_comp_le _ _).trans
107 (mul_le_mul_of_nonneg_left (hA _ hr'.1.le) (norm_nonneg _)))
108 (norm_nonneg _) (by norm_num)
109 _ = _ := by ring
110
111 end Rectangular
112 end KomorebiPaperVI.Semigroups
Original file and source record
This copy matches the recorded source file. Its publication here does not change the work’s review status.
SHA-256: d4ed756c54c78d08740e406cfa8ee31ad5addbc9f162528355206aabf15ffc6a
Back to Paper VI: Transfer Semigroups: Stochastic, Bayesian, Fractional, and PDE Realizations