Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
2aabb1c
refactor(Analysis/NormedSpace/Exponential): remove the `𝕂` argument f…
eric-wieser Nov 12, 2023
2ab023d
downstream fixes
eric-wieser Nov 12, 2023
318a6b5
remove porting header
eric-wieser Nov 12, 2023
29371f1
style fixes
eric-wieser Nov 12, 2023
8756b5e
add back dropped lemma
eric-wieser Nov 12, 2023
fdec6d2
Merge remote-tracking branch 'origin/master' into eric-wieser/exp-rat
eric-wieser Nov 12, 2023
51d59c1
fix remaining downstream issues
eric-wieser Nov 12, 2023
667f721
long lines
eric-wieser Nov 12, 2023
85c30e4
Merge branch 'master' into eric-wieser/exp-rat
eric-wieser Nov 13, 2023
712f194
Merge remote-tracking branch 'origin/master' into eric-wieser/exp-rat
eric-wieser Jan 5, 2024
ec14e7e
fix a broken proof
eric-wieser Jan 5, 2024
4c88fd5
fixes
eric-wieser Feb 22, 2024
4352a0d
fix
eric-wieser Feb 22, 2024
b4f1125
fix lint
eric-wieser Feb 23, 2024
b19e1e0
Merge branch 'master' into eric-wieser/exp-rat
eric-wieser Feb 23, 2024
1c99cb3
Update DualNumber.lean
eric-wieser Feb 23, 2024
41597a6
Merge remote-tracking branch 'origin/master' into eric-wieser/exp-rat
eric-wieser Feb 27, 2024
ceffca9
Merge commit 'a8a6713b92e1dc246a2d2a5255bb2d1846e88fe2^' into eric-wi…
eric-wieser Apr 3, 2025
f8ce078
Merge commit 'a8a6713b92e1dc246a2d2a5255bb2d1846e88fe2' into eric-wie…
eric-wieser Apr 3, 2025
88a37c0
Merge tag 'v4.8.0' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
ddbeb05
Merge tag 'v4.9.0' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
5862361
Merge commit 'v4.10.0~350' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
20ee617
Merge commit 'v4.10.0~335' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
127517d
Merge commit 'v4.10.0~332' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
a42ae41
remove aligns
eric-wieser Apr 3, 2025
d740ffc
Merge commit 'v4.10.0~331' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
d49cc83
git Merge tag 'v4.10.0' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
f026156
Merge v4.11.0 into eric-wieser/exp-rat (using imerge)
eric-wieser Apr 3, 2025
cb3c28a
Merge v4.12.0 into eric-wieser/exp-rat (using imerge)
eric-wieser Apr 3, 2025
2cdf694
Merge tag 'v4.13.0' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
d1f757f
imerge 'v4.11.0': manual merge 1-90
eric-wieser Apr 3, 2025
d80e936
Merge tag 'v4.15.0' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
df1ede9
Merge tag 'v4.16.0' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
3855639
Merge tag 'v4.17.0' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
a6a04cf
Merge remote-tracking branch 'origin/master' into eric-wieser/exp-rat
eric-wieser Apr 3, 2025
7e6a65d
fix
eric-wieser Apr 3, 2025
4d5da7d
fix
eric-wieser Apr 3, 2025
58eeba7
another fix
eric-wieser Apr 3, 2025
48c2f09
one final fix
eric-wieser Apr 3, 2025
f31b802
getting close
eric-wieser Apr 3, 2025
765dbdb
lintfix
eric-wieser Apr 3, 2025
d69bbff
Finite regression
eric-wieser Apr 3, 2025
913bc45
fix
eric-wieser Apr 3, 2025
36187df
lost simp
eric-wieser Apr 3, 2025
e5d49ba
remove `[Algebra β„š 𝔸]` in `Analysis.Normed.Algebra.Exponential`
astrainfinita Apr 9, 2025
747533a
Merge branch 'master' into exp_rat_junkvalue
astrainfinita Apr 9, 2025
5d4111a
more
astrainfinita Apr 9, 2025
c34d502
fix
astrainfinita Apr 9, 2025
f7db164
reduce diffs
astrainfinita Apr 9, 2025
d2fd204
Merge branch 'master' into exp_rat_junkvalue
astrainfinita Aug 15, 2025
7212808
fix
astrainfinita Aug 15, 2025
89db452
chore(Topology/Algebra/Order/Field): generalize some lemmas to `Semif…
astrainfinita Aug 15, 2025
e912a79
feat: add `ContinuousSMul` instances for `β„šβ‰₯0`
astrainfinita Aug 15, 2025
1fe47cd
Merge branch 'ordered_topological_semifield' into tendsto_inverse_atT…
astrainfinita Aug 15, 2025
8f4823a
chore(Analysis/SpecificLimits/Basic): generalize lemmas
astrainfinita Aug 15, 2025
f70ef66
suggestion
astrainfinita Aug 15, 2025
c22a8d3
fix
astrainfinita Aug 15, 2025
55e9f64
Merge branch 'master' into tendsto_inverse_atTop_nhds_zero_nat
astrainfinita Oct 19, 2025
162b1ab
Merge branch 'master' into rat_continuousSMul
astrainfinita Oct 19, 2025
94eb313
suggestion
astrainfinita Oct 19, 2025
a05c783
chore: remove `MulAction β„š Ξ± β†’ MulAction β„šβ‰₯0 Ξ±` instances
astrainfinita Oct 19, 2025
bca0e9b
chore: move `(NN)Rat.cast_smul_eq_(nn)qsmul`
astrainfinita Oct 19, 2025
aa77423
lint
astrainfinita Oct 19, 2025
efbc0b2
more
astrainfinita Oct 19, 2025
308ffc5
shake
astrainfinita Oct 20, 2025
d47fa93
replace existing lemmas
astrainfinita Oct 20, 2025
d0f9960
Revert "suggestion"
astrainfinita Oct 20, 2025
4bcb9de
generalize
astrainfinita Oct 20, 2025
069f8bd
fix
astrainfinita Oct 20, 2025
7fc7755
Update Rat.lean
astrainfinita Oct 20, 2025
9ddc0f4
Merge branch 'cast_smul_eq_qsmul' into tendsto_inverse_atTop_nhds_zer…
astrainfinita Oct 20, 2025
43bfd66
Merge branch 'rat_continuousSMul' into tendsto_inverse_atTop_nhds_zer…
astrainfinita Oct 20, 2025
2b220a7
Update Rat.lean
astrainfinita Oct 20, 2025
0ae2535
more
astrainfinita Oct 20, 2025
4dce365
Merge branch 'nnrat_action' into rat_continuousSMul
astrainfinita Oct 20, 2025
1921802
Merge branch 'rat_continuousSMul' into tendsto_inverse_atTop_nhds_zer…
astrainfinita Oct 20, 2025
45ceab1
fix
astrainfinita Oct 20, 2025
30ecd8f
fix
astrainfinita Oct 20, 2025
125fb3a
Merge branch 'tendsto_inverse_atTop_nhds_zero_nat' into exp_rat_junkv…
astrainfinita Oct 20, 2025
58958df
fix merge
astrainfinita Oct 20, 2025
28e203b
fix counterexample
astrainfinita Oct 20, 2025
0a1f443
fix
astrainfinita Oct 20, 2025
da46c53
shake
astrainfinita Oct 20, 2025
4300b58
fix
astrainfinita Oct 20, 2025
e75862f
Merge branch 'tendsto_inverse_atTop_nhds_zero_nat' into exp_rat_junkv…
astrainfinita Oct 20, 2025
01bcf6b
style
astrainfinita Oct 20, 2025
1c034f9
style
astrainfinita Oct 20, 2025
91ae6ad
fix
astrainfinita Oct 20, 2025
048f3f1
`NormedAlgebra β„š`
astrainfinita Oct 21, 2025
af3be7f
fix
astrainfinita Oct 21, 2025
dbdead3
fix merge?
astrainfinita Oct 21, 2025
37b229a
Merge branch 'master' into tendsto_inverse_atTop_nhds_zero_nat
astrainfinita Oct 26, 2025
ecf7ff6
more
astrainfinita Oct 27, 2025
2b971f9
shake
astrainfinita Oct 27, 2025
c7ffbce
fix
astrainfinita Oct 27, 2025
43dbbbc
more
astrainfinita Oct 28, 2025
a85bc52
Merge branch 'master' into tendsto_inverse_atTop_nhds_zero_nat
astrainfinita Oct 28, 2025
f60308e
Merge branch 'master' into exp_rat_junkvalue
astrainfinita Oct 30, 2025
e577dda
fix
astrainfinita Oct 30, 2025
4c7ddd0
suggestion
astrainfinita Nov 2, 2025
80c6726
Merge branch 'master' into tendsto_inverse_atTop_nhds_zero_nat
astrainfinita Nov 6, 2025
aea227e
fix merge
astrainfinita Nov 6, 2025
e23d505
fix
astrainfinita Nov 6, 2025
02de4d1
Merge branch 'tendsto_inverse_atTop_nhds_zero_nat' into exp_rat_junkv…
astrainfinita Nov 12, 2025
d2b7c2d
Merge branch 'master' into exp_rat_junkvalue
astrainfinita Nov 12, 2025
2ab5426
fix
astrainfinita Nov 12, 2025
1c7da75
suggestions
astrainfinita Nov 12, 2025
5f38917
suggestion
astrainfinita Nov 12, 2025
27198a7
Merge branch 'master' into exp_rat_junkvalue
astrainfinita Dec 31, 2025
7bd4bd5
fix merge
astrainfinita Dec 31, 2025
8eea37f
fix
astrainfinita Jan 1, 2026
dfb4458
docs
astrainfinita Jan 1, 2026
27bbc1e
docs
astrainfinita Jan 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions Mathlib/Analysis/CStarAlgebra/Exponential.lean
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,9 @@ open Complex
over β„‚. -/
@[simps]
noncomputable def selfAdjoint.expUnitary (a : selfAdjoint A) : unitary A :=
⟨exp β„‚ ((I β€’ a.val) : A),
exp_mem_unitary_of_mem_skewAdjoint _ (a.prop.smul_mem_skewAdjoint conj_I)⟩
⟨exp ((I β€’ a.val) : A),
let +nondep : NormedAlgebra β„š A := .restrictScalars β„š β„‚ A
exp_mem_unitary_of_mem_skewAdjoint (a.prop.smul_mem_skewAdjoint conj_I)⟩

open selfAdjoint

Expand All @@ -48,10 +49,12 @@ lemma selfAdjoint.expUnitary_zero : expUnitary (0 : selfAdjoint A) = 1 := by
@[fun_prop]
lemma selfAdjoint.continuous_expUnitary : Continuous (expUnitary : selfAdjoint A β†’ unitary A) := by
simp only [continuous_induced_rng, Function.comp_def, selfAdjoint.expUnitary_coe]
let +nondep : NormedAlgebra β„š A := NormedAlgebra.restrictScalars β„š β„‚ A
fun_prop

theorem Commute.expUnitary_add {a b : selfAdjoint A} (h : Commute (a : A) (b : A)) :
expUnitary (a + b) = expUnitary a * expUnitary b := by
let +nondep : NormedAlgebra β„š A := .restrictScalars β„š β„‚ A
ext
have hcomm : Commute (I β€’ (a : A)) (I β€’ (b : A)) := by
unfold Commute SemiconjBy
Expand Down
5 changes: 3 additions & 2 deletions Mathlib/Analysis/CStarAlgebra/Spectrum.lean
Original file line number Diff line number Diff line change
Expand Up @@ -154,9 +154,10 @@ variable [StarModule β„‚ A]
/-- Any element of the spectrum of a selfadjoint is real. -/
theorem IsSelfAdjoint.mem_spectrum_eq_re {a : A} (ha : IsSelfAdjoint a) {z : β„‚}
(hz : z ∈ spectrum β„‚ a) : z = z.re := by
have hu := exp_mem_unitary_of_mem_skewAdjoint β„‚ (ha.smul_mem_skewAdjoint conj_I)
let +nondep : NormedAlgebra β„š A := .restrictScalars β„š β„‚ A
have hu := exp_mem_unitary_of_mem_skewAdjoint (ha.smul_mem_skewAdjoint conj_I)
let Iu := Units.mk0 I I_ne_zero
have : NormedSpace.exp β„‚ (I β€’ z) ∈ spectrum β„‚ (NormedSpace.exp β„‚ (I β€’ a)) := by
have : NormedSpace.exp (I β€’ z) ∈ spectrum β„‚ (NormedSpace.exp (I β€’ a)) := by
simpa only [Units.smul_def, Units.val_mk0] using
spectrum.exp_mem_exp (Iu β€’ a) (smul_mem_smul_iff.mpr hz)
exact Complex.ext (ofReal_re _) <| by
Expand Down
8 changes: 4 additions & 4 deletions Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ lemma selfAdjoint.norm_sq_expUnitary_sub_one {x : selfAdjoint A} (hx : β€–xβ€–
nontriviality A
apply norm_sub_one_sq_eq (expUnitary x).2
simp only [expUnitary_coe, AddSubgroupClass.coe_norm]
rw [← CFC.exp_eq_normedSpace_exp, ← cfc_comp_smul I _ (x : A), cfc_map_spectrum ..,
rw [← CFC.exp_eq_normedSpace_exp (π•œ := β„‚), ← cfc_comp_smul I _ (x : A), cfc_map_spectrum ..,
← x.2.spectrumRestricts.algebraMap_image]
simp only [Set.image_image, coe_algebraMap, smul_eq_mul, mul_comm I, ← exp_eq_exp_β„‚,
exp_ofReal_mul_I_re]
Expand All @@ -165,10 +165,10 @@ lemma argSelfAdjoint_expUnitary {x : selfAdjoint A} (hx : β€–xβ€– < Ο€) :
exact Real.cos_lt_cos_of_nonneg_of_le_pi (by positivity) le_rfl hx
_ = 2 ^ 2 := by norm_num
simp only [argSelfAdjoint_coe, expUnitary_coe]
rw [← CFC.exp_eq_normedSpace_exp, ← cfc_comp_smul .., ← cfc_comp' (hg := ?hg)]
rw [← CFC.exp_eq_normedSpace_exp (π•œ := β„‚), ← cfc_comp_smul .., ← cfc_comp' (hg := ?hg)]
case hg =>
refine continuous_ofReal.comp_continuousOn <| continuousOn_arg.mono ?_
rwa [expUnitary_coe, ← CFC.exp_eq_normedSpace_exp, ← cfc_comp_smul ..,
rwa [expUnitary_coe, ← CFC.exp_eq_normedSpace_exp (π•œ := β„‚), ← cfc_comp_smul ..,
cfc_map_spectrum ..] at this
conv_rhs => rw [← cfc_id' β„‚ (x : A)]
refine cfc_congr fun y hy ↦ ?_
Expand All @@ -184,7 +184,7 @@ lemma expUnitary_argSelfAdjoint {u : unitary A} (hu : β€–(u - 1 : A)β€– < 2) :
ext
have : ContinuousOn arg (spectrum β„‚ (u : A)) :=
continuousOn_arg.mono <| (spectrum_subset_slitPlane_iff_norm_lt_two u.2).mpr hu
rw [expUnitary_coe, argSelfAdjoint_coe, ← CFC.exp_eq_normedSpace_exp,
rw [expUnitary_coe, argSelfAdjoint_coe, ← CFC.exp_eq_normedSpace_exp (π•œ := β„‚),
← cfc_comp_smul .., ← cfc_comp' ..]
conv_rhs => rw [← cfc_id' β„‚ (u : A)]
refine cfc_congr fun y hy ↦ ?_
Expand Down
10 changes: 5 additions & 5 deletions Mathlib/Analysis/Normed/Algebra/DualNumber.lean
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,16 @@ namespace DualNumber

open TrivSqZeroExt

variable (π•œ : Type*) {R : Type*}
variable [Field π•œ] [CharZero π•œ] [CommRing R] [Algebra π•œ R]
variable {R : Type*}
variable [CommRing R] [Algebra β„š R]
variable [UniformSpace R] [IsTopologicalRing R] [T2Space R]

@[simp]
theorem exp_eps : exp π•œ (eps : DualNumber R) = 1 + eps :=
exp_inr _ _
theorem exp_eps : exp (eps : DualNumber R) = 1 + eps :=
exp_inr _

@[simp]
theorem exp_smul_eps (r : R) : exp π•œ (r β€’ eps : DualNumber R) = 1 + r β€’ eps := by
theorem exp_smul_eps (r : R) : exp (r β€’ eps : DualNumber R) = 1 + r β€’ eps := by
rw [eps, ← inr_smul, exp_inr]

end DualNumber
Loading