Simplify
This commit is contained in:
		| @@ -141,55 +141,11 @@ theorem laplace_add_ContDiffAt | |||||||
|   unfold Complex.laplace |   unfold Complex.laplace | ||||||
|   simp |   simp | ||||||
|  |  | ||||||
|   have hf₁ : ∀ z ∈ s, DifferentiableAt ℝ f₁ z := by |   have h₁₁ : ContDiffAt ℝ 1 f₁ x := h₁.of_le one_le_two | ||||||
|     intro z hz |   have h₂₁ : ContDiffAt ℝ 1 f₂ x := h₂.of_le one_le_two | ||||||
|     convert DifferentiableOn.differentiableAt _ (IsOpen.mem_nhds hs hz) |   repeat | ||||||
|     apply ContDiffOn.differentiableOn h₁ one_le_two |     rw [partialDeriv_eventuallyEq ℝ (partialDeriv_add₂_contDiffAt ℝ h₁₁ h₂₁)] | ||||||
|  |     rw [partialDeriv_add₂_differentiableAt] | ||||||
|   have hf₂ : ∀ z ∈ s, DifferentiableAt ℝ f₂ z := by |  | ||||||
|     intro z hz |  | ||||||
|     convert DifferentiableOn.differentiableAt _ (IsOpen.mem_nhds hs hz) |  | ||||||
|     apply ContDiffOn.differentiableOn h₂ one_le_two |  | ||||||
|  |  | ||||||
|   have : partialDeriv ℝ 1 (f₁ + f₂) =ᶠ[nhds x] (partialDeriv ℝ 1 f₁) + (partialDeriv ℝ 1 f₂) := by |  | ||||||
|     apply Filter.eventuallyEq_iff_exists_mem.2 |  | ||||||
|     use s |  | ||||||
|     constructor |  | ||||||
|     · exact IsOpen.mem_nhds hs hx |  | ||||||
|     · intro z hz |  | ||||||
|       apply partialDeriv_add₂_differentiableAt |  | ||||||
|       exact hf₁ z hz |  | ||||||
|       exact hf₂ z hz |  | ||||||
|   rw [partialDeriv_eventuallyEq ℝ this] |  | ||||||
|   have t₁ : DifferentiableAt ℝ (partialDeriv ℝ 1 f₁) x := by |  | ||||||
|     let B₀ := (h₁ x hx).contDiffAt (IsOpen.mem_nhds hs hx) |  | ||||||
|     let A₀ := partialDeriv_contDiffAt ℝ B₀ 1 |  | ||||||
|     exact A₀.differentiableAt (Submonoid.oneLE.proof_2 ℕ∞) |  | ||||||
|   have t₂ : DifferentiableAt ℝ (partialDeriv ℝ 1 f₂) x := by |  | ||||||
|     let B₀ := (h₂ x hx).contDiffAt (IsOpen.mem_nhds hs hx) |  | ||||||
|     let A₀ := partialDeriv_contDiffAt ℝ B₀ 1 |  | ||||||
|     exact A₀.differentiableAt (Submonoid.oneLE.proof_2 ℕ∞) |  | ||||||
|   rw [partialDeriv_add₂_differentiableAt ℝ t₁ t₂] |  | ||||||
|  |  | ||||||
|   have : partialDeriv ℝ Complex.I (f₁ + f₂) =ᶠ[nhds x] (partialDeriv ℝ Complex.I f₁) + (partialDeriv ℝ Complex.I f₂) := by |  | ||||||
|     apply Filter.eventuallyEq_iff_exists_mem.2 |  | ||||||
|     use s |  | ||||||
|     constructor |  | ||||||
|     · exact IsOpen.mem_nhds hs hx |  | ||||||
|     · intro z hz |  | ||||||
|       apply partialDeriv_add₂_differentiableAt |  | ||||||
|       exact hf₁ z hz |  | ||||||
|       exact hf₂ z hz |  | ||||||
|   rw [partialDeriv_eventuallyEq ℝ this] |  | ||||||
|   have t₃ : DifferentiableAt ℝ (partialDeriv ℝ Complex.I f₁) x := by |  | ||||||
|     let B₀ := (h₁ x hx).contDiffAt (IsOpen.mem_nhds hs hx) |  | ||||||
|     let A₀ := partialDeriv_contDiffAt ℝ B₀ Complex.I |  | ||||||
|     exact A₀.differentiableAt (Submonoid.oneLE.proof_2 ℕ∞) |  | ||||||
|   have t₄ : DifferentiableAt ℝ (partialDeriv ℝ Complex.I f₂) x := by |  | ||||||
|     let B₀ := (h₂ x hx).contDiffAt (IsOpen.mem_nhds hs hx) |  | ||||||
|     let A₀ := partialDeriv_contDiffAt ℝ B₀ Complex.I |  | ||||||
|     exact A₀.differentiableAt (Submonoid.oneLE.proof_2 ℕ∞) |  | ||||||
|   rw [partialDeriv_add₂_differentiableAt ℝ t₃ t₄] |  | ||||||
|  |  | ||||||
|   -- I am super confused at this point because the tactic 'ring' does not work. |   -- I am super confused at this point because the tactic 'ring' does not work. | ||||||
|   -- I do not understand why. So, I need to do things by hand. |   -- I do not understand why. So, I need to do things by hand. | ||||||
| @@ -201,6 +157,10 @@ theorem laplace_add_ContDiffAt | |||||||
|   rw [add_right_inj (partialDeriv ℝ Complex.I (partialDeriv ℝ Complex.I f₁) x)] |   rw [add_right_inj (partialDeriv ℝ Complex.I (partialDeriv ℝ Complex.I f₁) x)] | ||||||
|   rw [add_comm] |   rw [add_comm] | ||||||
|  |  | ||||||
|  |   repeat | ||||||
|  |     apply fun v ↦ (partialDeriv_contDiffAt ℝ h₁ v).differentiableAt le_rfl | ||||||
|  |     apply fun v ↦ (partialDeriv_contDiffAt ℝ h₂ v).differentiableAt le_rfl | ||||||
|  |  | ||||||
|  |  | ||||||
| theorem laplace_smul {f : ℂ → F} : ∀ v : ℝ, Δ (v • f) = v • (Δ f) := by | theorem laplace_smul {f : ℂ → F} : ∀ v : ℝ, Δ (v • f) = v • (Δ f) := by | ||||||
|   intro v |   intro v | ||||||
|   | |||||||
| @@ -66,9 +66,9 @@ theorem partialDeriv_smul₂ {f : E → F} {a : 𝕜} {v : E} : partialDeriv  | |||||||
|       simp |       simp | ||||||
|  |  | ||||||
|  |  | ||||||
| theorem partialDeriv_add₂ {f₁ f₂ : E → F} {v : E} (h₁ : Differentiable 𝕜 f₁) (h₂ : Differentiable 𝕜 f₂) : partialDeriv 𝕜 v (f₁ + f₂) = (partialDeriv 𝕜 v f₁) + (partialDeriv 𝕜 v f₂) := by | theorem partialDeriv_add₂ {f₁ f₂ : E → F} (h₁ : Differentiable 𝕜 f₁) (h₂ : Differentiable 𝕜 f₂) : ∀ v : E, partialDeriv 𝕜 v (f₁ + f₂) = (partialDeriv 𝕜 v f₁) + (partialDeriv 𝕜 v f₂) := by | ||||||
|   unfold partialDeriv |   unfold partialDeriv | ||||||
|  |   intro v | ||||||
|   have : f₁ + f₂ = fun y ↦ f₁ y + f₂ y := by rfl |   have : f₁ + f₂ = fun y ↦ f₁ y + f₂ y := by rfl | ||||||
|   rw [this] |   rw [this] | ||||||
|   conv => |   conv => | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Stefan Kebekus
					Stefan Kebekus