/-- Suppose that $f$ is holomorphic in an open set $\Omega$. Prove that if $\text{Im}(f)$ is constant, then $f$ is constant.-/

theorem exercise_1_13b {f : ℂ → ℂ} (Ω : Set ℂ) (a b : Ω) (h : IsOpen Ω)
  (hf : DifferentiableOn ℂ f Ω) (hc : ∃ (c : ℝ), ∀ z ∈ Ω, (f z).im = c) :
  f a = f b :=

f : ℂ → ℂ
Ω : Set ℂ
a b : ↑Ω
h : IsOpen Ω
hf : DifferentiableOn ℂ f Ω
hc : ∃ c, ∀ z ∈ Ω, (f z).im = c
⊢ f ↑a = f ↑b

import Mathlib

open Complex Filter Function Metric Finset
open scoped BigOperators Topology


/-- Prove that the power series $\sum nz^n$ does not converge on any point of the unit circle.-/

theorem exercise_1_19a (z : ℂ) (hz : abs z = 1) (s : ℕ → ℂ)
    (h : s = (λ n => ∑ i in (range n), i * z ^ i)) :
    ¬ ∃ y, Tendsto s atTop (𝓝 y) :=

z : ℂ
hz : Complex.abs z = 1
s : ℕ → ℂ
h : s = fun n => ∑ i ∈ range n, ↑i * z ^ i
⊢ ¬∃ y, Tendsto s atTop (𝓝 y)


/-- Prove that the power series $\sum zn/n$ converges at every point of the unit circle except $z = 1$.-/

theorem exercise_1_19c (z : ℂ) (hz : abs z = 1) (hz2 : z ≠ 1) (s : ℕ → ℂ)
    (h : s = (λ n => ∑ i in (range n), i * z / i)) :
    ∃ z, Tendsto s atTop (𝓝 z) :=

z : ℂ
hz : Complex.abs z = 1
hz2 : z ≠ 1
s : ℕ → ℂ
h : s = fun n => ∑ i ∈ range n, ↑i * z / ↑i
⊢ ∃ z, Tendsto s atTop (𝓝 z)


/-- Show that $\int_{0}^{\infty} \frac{\sin x}{x} d x=\frac{\pi}{2}$.-/

theorem exercise_2_2 :
  Tendsto (λ y => ∫ x in (0 : ℝ)..y, Real.sin x / x) atTop (𝓝 (Real.pi / 2)) :=

⊢ Tendsto (fun y => ∫ (x : ℝ) in 0 ..y, x.sin / x) atTop (𝓝 (Real.pi / 2))


/-- Suppose $f$ is an analytic function defined everywhere in $\mathbb{C}$ and such that for each $z_0 \in \mathbb{C}$ at least one coefficient in the expansion $f(z) = \sum_{n=0}^\infty c_n(z - z_0)^n$ is equal to 0. Prove that $f$ is a polynomial.-/

theorem exercise_2_13 {f : ℂ → ℂ}
    (hf : ∀ z₀ : ℂ, ∃ (s : Set ℂ) (c : ℕ → ℂ), IsOpen s ∧ z₀ ∈ s ∧
      ∀ z ∈ s, Tendsto (λ n => ∑ i in range n, (c i) * (z - z₀)^i) atTop (𝓝 (f z₀))
      ∧ ∃ i, c i = 0) :
    ∃ (c : ℕ → ℂ) (n : ℕ), f = λ z => ∑ i in range n, (c i) * z ^ n :=

f : ℂ → ℂ
hf :
  ∀ (z₀ : ℂ),
    ∃ s c,
      IsOpen s ∧ z₀ ∈ s ∧ ∀ z ∈ s, Tendsto (fun n => ∑ i ∈ range n, c i * (z - z₀) ^ i) atTop (𝓝 (f z₀)) ∧ ∃ i, c i = 0
⊢ ∃ c n, f = fun z => ∑ i ∈ range n, c i * z ^ n


/-- Show that $ \int_{-\infty}^{\infty} \frac{x \sin x}{x^2 + a^2} dx = \pi e^{-a}$ for $a > 0$.-/

theorem exercise_3_4 (a : ℝ) (ha : 0 < a) :
    Tendsto (λ y => ∫ x in -y..y, x * Real.sin x / (x ^ 2 + a ^ 2))
    atTop (𝓝 (Real.pi * (Real.exp (-a)))) :=

a : ℝ
ha : 0 < a
⊢ Tendsto (fun y => ∫ (x : ℝ) in -y..y, x * x.sin / (x ^ 2 + a ^ 2)) atTop (𝓝 (Real.pi * (-a).exp))


/-- Prove that all entire functions that are also injective take the form $f(z) = az + b$, $a, b \in \mathbb{C}$ and $a \neq 0$.-/

theorem exercise_3_14 {f : ℂ → ℂ} (hf : Differentiable ℂ f)
    (hf_inj : Function.Injective f) :
    ∃ (a b : ℂ), f = (λ z => a * z + b) ∧ a ≠ 0 :=

f : ℂ → ℂ
hf : Differentiable ℂ f
hf_inj : Injective f
⊢ ∃ a b, (f = fun z => a * z + b) ∧ a ≠ 0


/-- Prove that if $f$ is holomorphic in the unit disc, bounded and not identically zero, and $z_{1}, z_{2}, \ldots, z_{n}, \ldots$ are its zeros $\left(\left|z_{k}\right|<1\right)$, then $\sum_{n}\left(1-\left|z_{n}\right|\right)<\infty$.-/

theorem exercise_5_1 (f : ℂ → ℂ) (hf : DifferentiableOn ℂ f (ball 0 1))
  (hb : Bornology.IsBounded (Set.range f)) (h0 : f ≠ 0) (zeros : ℕ → ℂ) (hz : ∀ n, f (zeros n) = 0)
  (hzz : Set.range zeros = {z | f z = 0 ∧ z ∈ (ball (0 : ℂ) 1)}) :
  ∃ (z : ℂ), Tendsto (λ n => (∑ i in range n, (1 - zeros i))) atTop (𝓝 z) :=

f : ℂ → ℂ
hf : DifferentiableOn ℂ f (ball 0 1)
hb : Bornology.IsBounded (Set.range f)
h0 : f ≠ 0
zeros : ℕ → ℂ
hz : ∀ (n : ℕ), f (zeros n) = 0
hzz : Set.range zeros = {z | f z = 0 ∧ z ∈ ball 0 1}
⊢ ∃ z, Tendsto (fun n => ∑ i ∈ range n, (1 - zeros i)) atTop (𝓝 z)


/-- If $r$ is rational $(r \neq 0)$ and $x$ is irrational, prove that $rx$ is irrational.-/

theorem exercise_1_1b
(x : ℝ)
(y : ℚ)
(h : y ≠ 0)
: ( Irrational x ) -> Irrational ( x * y ) :=

x : ℝ
y : ℚ
h : y ≠ 0
⊢ Irrational x → Irrational (x * ↑y)

import Mathlib

open Topology Filter Real Complex TopologicalSpace Finset
open scoped BigOperators


/-- Let $E$ be a nonempty subset of an ordered set; suppose $\alpha$ is a lower bound of $E$ and $\beta$ is an upper bound of $E$. Prove that $\alpha \leq \beta$.-/

theorem exercise_1_4
(α : Type*) [PartialOrder α]
(s : Set α)
(x y : α)
(h₀ : Set.Nonempty s)
(h₁ : x ∈ lowerBounds s)
(h₂ : y ∈ upperBounds s)
: x ≤ y :=

α : Type u_1
inst✝ : PartialOrder α
s : Set α
x y : α
h₀ : s.Nonempty
h₁ : x ∈ lowerBounds s
h₂ : y ∈ upperBounds s
⊢ x ≤ y


/-- Prove that no order can be defined in the complex field that turns it into an ordered field.-/

theorem exercise_1_8 : ¬ ∃ (r : ℂ → ℂ → Prop), IsLinearOrder ℂ r :=


/-- If $z_1, \ldots, z_n$ are complex, prove that $|z_1 + z_2 + \ldots + z_n| \leq |z_1| + |z_2| + \cdots + |z_n|$.-/

theorem exercise_1_12 (n : ℕ) (f : ℕ → ℂ) :
  abs (∑ i in range n, f i) ≤ ∑ i in range n, abs (f i) :=

n : ℕ
f : ℕ → ℂ
⊢ Complex.abs (∑ i ∈ range n, f i) ≤ ∑ i ∈ range n, Complex.abs (f i)


/-- If $z$ is a complex number such that $|z|=1$, that is, such that $z \bar{z}=1$, compute $|1+z|^{2}+|1-z|^{2}$.-/

z : ℂ
h : Complex.abs z = 1
⊢ Complex.abs (1 + z) ^ 2 + Complex.abs (1 - z) ^ 2 = 4


/-- Prove that $|\mathbf{x}+\mathbf{y}|^{2}+|\mathbf{x}-\mathbf{y}|^{2}=2|\mathbf{x}|^{2}+2|\mathbf{y}|^{2}$ if $\mathbf{x} \in R^{k}$ and $\mathbf{y} \in R^{k}$.-/

theorem exercise_1_17
  (n : ℕ)
  (x y : EuclideanSpace ℝ (Fin n)) -- R^n
  : ‖x + y‖^2 + ‖x - y‖^2 = 2*‖x‖^2 + 2*‖y‖^2 :=

n : ℕ
x y : EuclideanSpace ℝ (Fin n)
⊢ ‖x + y‖ ^ 2 + ‖x - y‖ ^ 2 = 2 * ‖x‖ ^ 2 + 2 * ‖y‖ ^ 2


/-- If $k = 1$ and $\mathbf{x} \in R^{k}$, prove that there does not exist $\mathbf{y} \in R^{k}$ such that $\mathbf{y} \neq 0$ but $\mathbf{x} \cdot \mathbf{y}=0$-/

theorem exercise_1_18b
  : ¬ ∀ (x : ℝ), ∃ (y : ℝ), y ≠ 0 ∧ x * y = 0 :=


/-- If $A$ and $B$ are disjoint closed sets in some metric space $X$, prove that they are separated.-/

theorem exercise_2_19a {X : Type*} [MetricSpace X]
  (A B : Set X) (hA : IsClosed A) (hB : IsClosed B) (hAB : Disjoint A B) :
  SeparatedNhds A B :=

X : Type u_1
inst✝ : MetricSpace X
A B : Set X
hA : IsClosed A
hB : IsClosed B
hAB : Disjoint A B
⊢ SeparatedNhds A B


/-- Prove that every compact metric space $K$ has a countable base.-/

theorem exercise_2_25 {K : Type*} [MetricSpace K] [CompactSpace K] :
  ∃ (B : Set (Set K)), Set.Countable B ∧ IsTopologicalBasis B :=

K : Type u_1
inst✝¹ : MetricSpace K
inst✝ : CompactSpace K
⊢ ∃ B, B.Countable ∧ IsTopologicalBasis B


/-- Suppose $E\subset\mathbb{R}^k$ is uncountable, and let $P$ be the set of condensation points of $E$. Prove that at most countably many points of $E$ are not in $P$.-/

theorem exercise_2_27b (k : ℕ) (E P : Set (EuclideanSpace ℝ (Fin k)))
  (hE : E.Nonempty ∧ ¬ Set.Countable E)
  (hP : P = {x | ∀ U ∈ 𝓝 x, (P ∩ E).Nonempty ∧ ¬ Set.Countable (P ∩ E)}) :
  Set.Countable (E \ P) :=

k : ℕ
E P : Set (EuclideanSpace ℝ (Fin k))
hE : E.Nonempty ∧ ¬E.Countable
hP : P = {x | ∀ U ∈ 𝓝 x, (P ∩ E).Nonempty ∧ ¬(P ∩ E).Countable}
⊢ (E \ P).Countable


/-- Prove that every open set in $\mathbb{R}$ is the union of an at most countable collection of disjoint segments.-/

theorem exercise_2_29 (U : Set ℝ) (hU : IsOpen U) :
  ∃ (f : ℕ → Set ℝ), (∀ n, ∃ a b : ℝ, f n = {x | a < x ∧ x < b}) ∧ (∀ n, f n ⊆ U) ∧
  (∀ n m, n ≠ m → f n ∩ f m = ∅) ∧
  U = ⋃ n, f n :=

U : Set ℝ
hU : IsOpen U
⊢ ∃ f,
    (∀ (n : ℕ), ∃ a b, f n = {x | a < x ∧ x < b}) ∧
      (∀ (n : ℕ), f n ⊆ U) ∧ (∀ (n m : ℕ), n ≠ m → f n ∩ f m = ∅) ∧ U = ⋃ n, f n


/-- Prove that $\lim_{n \rightarrow \infty}\sqrt{n^2 + n} -n = 1/2$.-/

theorem exercise_3_2a
  : Tendsto (λ (n : ℝ) => (sqrt (n^2 + n) - n)) atTop (𝓝 (1/2)) :=

⊢ Tendsto (fun n => √(n ^ 2 + n) - n) atTop (𝓝 (1 / 2))


/-- For any two real sequences $\left\{a_{n}\right\},\left\{b_{n}\right\}$, prove that $\limsup _{n \rightarrow \infty}\left(a_{n}+b_{n}\right) \leq \limsup _{n \rightarrow \infty} a_{n}+\limsup _{n \rightarrow \infty} b_{n},$ provided the sum on the right is not of the form $\infty-\infty$.-/

theorem exercise_3_5
  (a b : ℕ → ℝ)
  (h : limsup a + limsup b ≠ 0) :
  limsup (λ n => a n + b n) ≤ limsup a + limsup b :=

a b : ℕ → ℝ
h : limsup a + limsup b ≠ 0
⊢ (limsup fun n => a n + b n) ≤ limsup a + limsup b


/-- Prove that the convergence of $\Sigma a_{n}$ implies the convergence of $\sum \frac{\sqrt{a_{n}}}{n}$ if $a_n\geq 0$.-/

theorem exercise_3_7
  (a : ℕ → ℝ)
  (h : ∃ y, (Tendsto (λ n => (∑ i in (range n), a i)) atTop (𝓝 y))) :
  ∃ y, Tendsto (λ n => (∑ i in (range n), sqrt (a i) / n)) atTop (𝓝 y) :=

a : ℕ → ℝ
h : ∃ y, Tendsto (fun n => ∑ i ∈ range n, a i) atTop (𝓝 y)
⊢ ∃ y, Tendsto (fun n => ∑ i ∈ range n, √(a i) / ↑n) atTop (𝓝 y)


/-- Prove that the Cauchy product of two absolutely convergent series converges absolutely.-/

theorem exercise_3_13
  (a b : ℕ → ℝ)
  (ha : ∃ y, (Tendsto (λ n => (∑ i in (range n), |a i|)) atTop (𝓝 y)))
  (hb : ∃ y, (Tendsto (λ n => (∑ i in (range n), |b i|)) atTop (𝓝 y))) :
  ∃ y, (Tendsto (λ n => (∑ i in (range n),
  λ i => (∑ j in range (i + 1), a j * b (i - j)))) atTop (𝓝 y)) :=

a b : ℕ → ℝ
ha : ∃ y, Tendsto (fun n => ∑ i ∈ range n, |a i|) atTop (𝓝 y)
hb : ∃ y, Tendsto (fun n => ∑ i ∈ range n, |b i|) atTop (𝓝 y)
⊢ ∃ y, Tendsto (fun n => ∑ i ∈ range n, fun i => ∑ j ∈ range (i + 1), a j * b (i - j)) atTop (𝓝 y)


/-- If $\left\{E_{n}\right\}$ is a sequence of closed nonempty and bounded sets in a complete metric space $X$, if $E_{n} \supset E_{n+1}$, and if $\lim _{n \rightarrow \infty} \operatorname{diam} E_{n}=0,$ then $\bigcap_{1}^{\infty} E_{n}$ consists of exactly one point.-/

theorem exercise_3_21
  {X : Type*} [MetricSpace X] [CompleteSpace X]
  (E : ℕ → Set X)
  (hE : ∀ n, E n ⊃ E (n + 1))
  (hE' : Tendsto (λ n => Metric.diam (E n)) atTop (𝓝 0)) :
  ∃ a, Set.iInter E = {a} :=

X : Type u_1
inst✝¹ : MetricSpace X
inst✝ : CompleteSpace X
E : ℕ → Set X
hE : ∀ (n : ℕ), E n ⊃ E (n + 1)
hE' : Tendsto (fun n => Metric.diam (E n)) atTop (𝓝 0)
⊢ ∃ a, Set.iInter E = {a}


/-- Suppose $f$ is a real function defined on $\mathbb{R}$ which satisfies $\lim_{h \rightarrow 0} f(x + h) - f(x - h) = 0$ for every $x \in \mathbb{R}$. Show that $f$ does not need to be continuous.-/

theorem exercise_4_1a
  : ∃ (f : ℝ → ℝ), (∀ (x : ℝ), Tendsto (λ y => f (x + y) - f (x - y)) (𝓝 0) (𝓝 0)) ∧ ¬ Continuous f :=

⊢ ∃ f, (∀ (x : ℝ), Tendsto (fun y => f (x + y) - f (x - y)) (𝓝 0) (𝓝 0)) ∧ ¬Continuous f


/-- Let $f$ be a continuous real function on a metric space $X$. Let $Z(f)$ (the zero set of $f$ ) be the set of all $p \in X$ at which $f(p)=0$. Prove that $Z(f)$ is closed.-/

theorem exercise_4_3
  {α : Type} [MetricSpace α]
  (f : α → ℝ) (h : Continuous f) (z : Set α) (g : z = f⁻¹' {0})
  : IsClosed z :=

α : Type
inst✝ : MetricSpace α
f : α → ℝ
h : Continuous f
z : Set α
g : z = f ⁻¹' {0}
⊢ IsClosed z


/-- Let $f$ and $g$ be continuous mappings of a metric space $X$ into a metric space $Y$, and let $E$ be a dense subset of $X$. Prove that if $g(p) = f(p)$ for all $p \in P$ then $g(p) = f(p)$ for all $p \in X$.-/

theorem exercise_4_4b
  {α : Type} [MetricSpace α]
  {β : Type} [MetricSpace β]
  (f g : α → β)
  (s : Set α)
  (h₁ : Continuous f)
  (h₂ : Continuous g)
  (h₃ : Dense s)
  (h₄ : ∀ x ∈ s, f x = g x)
  : f = g :=

α : Type
inst✝¹ : MetricSpace α
β : Type
inst✝ : MetricSpace β
f g : α → β
s : Set α
h₁ : Continuous f
h₂ : Continuous g
h₃ : Dense s
h₄ : ∀ x ∈ s, f x = g x
⊢ f = g


/-- Show that there exist a set $E \subset \mathbb{R}$ and a real continuous function $f$ defined on $E$, such that there does not exist a continuous real function $g$ on $\mathbb{R}$ such that $g(x)=f(x)$ for all $x \in E$.-/

theorem exercise_4_5b
  : ∃ (E : Set ℝ) (f : ℝ → ℝ), (ContinuousOn f E) ∧
  (¬ ∃ (g : ℝ → ℝ), Continuous g ∧ ∀ x ∈ E, f x = g x) :=

⊢ ∃ E f, ContinuousOn f E ∧ ¬∃ g, Continuous g ∧ ∀ x ∈ E, f x = g x


/-- Let $f$ be a real uniformly continuous function on the bounded set $E$ in $R^{1}$. Prove that $f$ is bounded on $E$.-/

theorem exercise_4_8a
  (E : Set ℝ) (f : ℝ → ℝ) (hf : UniformContinuousOn f E)
  (hE : Bornology.IsBounded E) : Bornology.IsBounded (Set.image f E) :=

E : Set ℝ
f : ℝ → ℝ
hf : UniformContinuousOn f E
hE : Bornology.IsBounded E
⊢ Bornology.IsBounded (f '' E)


/-- Suppose $f$ is a uniformly continuous mapping of a metric space $X$ into a metric space $Y$ and prove that $\left\{f\left(x_{n}\right)\right\}$ is a Cauchy sequence in $Y$ for every Cauchy sequence $\{x_n\}$ in $X$.-/

theorem exercise_4_11a
  {X : Type*} [MetricSpace X]
  {Y : Type*} [MetricSpace Y]
  (f : X → Y) (hf : UniformContinuous f)
  (x : ℕ → X) (hx : CauchySeq x) :
  CauchySeq (λ n => f (x n)) :=

X : Type u_1
inst✝¹ : MetricSpace X
Y : Type u_2
inst✝ : MetricSpace Y
f : X → Y
hf : UniformContinuous f
x : ℕ → X
hx : CauchySeq x
⊢ CauchySeq fun n => f (x n)


/-- Prove that every continuous open mapping of $R^{1}$ into $R^{1}$ is monotonic.-/

theorem exercise_4_15 {f : ℝ → ℝ}
  (hf : Continuous f) (hof : IsOpenMap f) :
  Monotone f :=

f : ℝ → ℝ
hf : Continuous f
hof : IsOpenMap f
⊢ Monotone f


/-- Suppose $K$ and $F$ are disjoint sets in a metric space $X, K$ is compact, $F$ is closed. Prove that there exists $\delta>0$ such that $d(p, q)>\delta$ if $p \in K, q \in F$.-/

theorem exercise_4_21a {X : Type*} [MetricSpace X]
  (K F : Set X) (hK : IsCompact K) (hF : IsClosed F) (hKF : Disjoint K F) :
  ∃ (δ : ℝ), δ > 0 ∧ ∀ (p q : X), p ∈ K → q ∈ F → dist p q ≥ δ :=

X : Type u_1
inst✝ : MetricSpace X
K F : Set X
hK : IsCompact K
hF : IsClosed F
hKF : Disjoint K F
⊢ ∃ δ > 0, ∀ (p q : X), p ∈ K → q ∈ F → dist p q ≥ δ


/-- Let $f$ be defined for all real $x$, and suppose that $|f(x)-f(y)| \leq (x-y)^{2}$ for all real $x$ and $y$. Prove that $f$ is constant.-/

theorem exercise_5_1
  {f : ℝ → ℝ} (hf : ∀ x y : ℝ, |(f x - f y)| ≤ (x - y) ^ 2) :
  ∃ c, f = λ x => c :=

f : ℝ → ℝ
hf : ∀ (x y : ℝ), |f x - f y| ≤ (x - y) ^ 2
⊢ ∃ c, f = fun x => c


/-- Suppose $g$ is a real function on $R^{1}$, with bounded derivative (say $\left|g^{\prime}\right| \leq M$ ). Fix $\varepsilon>0$, and define $f(x)=x+\varepsilon g(x)$. Prove that $f$ is one-to-one if $\varepsilon$ is small enough.-/

theorem exercise_5_3 {g : ℝ → ℝ} (hg : Continuous g)
  (hg' : ∃ M : ℝ, ∀ x : ℝ, |deriv g x| ≤ M) :
  ∃ N, ∀ ε > 0, ε < N → Function.Injective (λ x : ℝ => x + ε * g x) :=

g : ℝ → ℝ
hg : Continuous g
hg' : ∃ M, ∀ (x : ℝ), |deriv g x| ≤ M
⊢ ∃ N, ∀ ε > 0, ε < N → Function.Injective fun x => x + ε * g x


/-- Suppose $f$ is defined and differentiable for every $x>0$, and $f^{\prime}(x) \rightarrow 0$ as $x \rightarrow+\infty$. Put $g(x)=f(x+1)-f(x)$. Prove that $g(x) \rightarrow 0$ as $x \rightarrow+\infty$.-/

theorem exercise_5_5
  {f : ℝ → ℝ}
  (hfd : Differentiable ℝ f)
  (hf : Tendsto (deriv f) atTop (𝓝 0)) :
  Tendsto (λ x => f (x + 1) - f x) atTop atTop :=

f : ℝ → ℝ
hfd : Differentiable ℝ f
hf : Tendsto (deriv f) atTop (𝓝 0)
⊢ Tendsto (fun x => f (x + 1) - f x) atTop atTop


/-- Suppose $f^{\prime}(x), g^{\prime}(x)$ exist, $g^{\prime}(x) \neq 0$, and $f(x)=g(x)=0$. Prove that $\lim _{t \rightarrow x} \frac{f(t)}{g(t)}=\frac{f^{\prime}(x)}{g^{\prime}(x)}.$-/

theorem exercise_5_7
  {f g : ℝ → ℝ} {x : ℝ}
  (hf' : DifferentiableAt ℝ f 0)
  (hg' : DifferentiableAt ℝ g 0)
  (hg'_ne_0 : deriv g 0 ≠ 0)
  (f0 : f 0 = 0) (g0 : g 0 = 0) :
  Tendsto (λ x => f x / g x) (𝓝 x) (𝓝 (deriv f x / deriv g x)) :=

f g : ℝ → ℝ
x : ℝ
hf' : DifferentiableAt ℝ f 0
hg' : DifferentiableAt ℝ g 0
hg'_ne_0 : deriv g 0 ≠ 0
f0 : f 0 = 0
g0 : g 0 = 0
⊢ Tendsto (fun x => f x / g x) (𝓝 x) (𝓝 (deriv f x / deriv g x))


/-- Suppose $f$ is a real, three times differentiable function on $[-1,1]$, such that $f(-1)=0, \quad f(0)=0, \quad f(1)=1, \quad f^{\prime}(0)=0 .$ Prove that $f^{(3)}(x) \geq 3$ for some $x \in(-1,1)$.-/

theorem exercise_5_17
  {f : ℝ → ℝ}
  (hf' : DifferentiableOn ℝ f (Set.Icc (-1) 1))
  (hf'' : DifferentiableOn ℝ (deriv f) (Set.Icc 1 1))
  (hf''' : DifferentiableOn ℝ (deriv (deriv f)) (Set.Icc 1 1))
  (hf0 : f (-1) = 0)
  (hf1 : f 0 = 0)
  (hf2 : f 1 = 1)
  (hf3 : deriv f 0 = 0) :
  ∃ x, x ∈ Set.Ioo (-1 : ℝ) 1 ∧ deriv (deriv (deriv f)) x ≥ 3 :=

f : ℝ → ℝ
hf' : DifferentiableOn ℝ f (Set.Icc (-1) 1)
hf'' : DifferentiableOn ℝ (deriv f) (Set.Icc 1 1)
hf''' : DifferentiableOn ℝ (deriv (deriv f)) (Set.Icc 1 1)
hf0 : f (-1) = 0
hf1 : f 0 = 0
hf2 : f 1 = 1
hf3 : deriv f 0 = 0
⊢ ∃ x ∈ Set.Ioo (-1) 1, deriv (deriv (deriv f)) x ≥ 3


/-- If $G$ is a finite group of even order, show that there must be an element $a \neq e$ such that $a=a^{-1}$.-/

theorem exercise_2_1_18 {G : Type*} [Group G]
  [Fintype G] (hG2 : Even (card G)) :
  ∃ (a : G), a ≠ 1 ∧ a = a⁻¹ :=

G : Type u_1
inst✝¹ : Group G
inst✝ : Fintype G
hG2 : Even (card G)
⊢ ∃ a, a ≠ 1 ∧ a = a⁻¹

import Mathlib

open Fintype Set Real Ideal Polynomial
open scoped BigOperators


/-- If $G$ is a finite group, prove that, given $a \in G$, there is a positive integer $n$, depending on $a$, such that $a^n = e$.-/

theorem exercise_2_1_26 {G : Type*} [Group G]
  [Fintype G] (a : G) : ∃ (n : ℕ), a ^ n = 1 :=

G : Type u_1
inst✝¹ : Group G
inst✝ : Fintype G
a : G
⊢ ∃ n, a ^ n = 1


/-- If $G$ is a group in which $(a b)^{i}=a^{i} b^{i}$ for three consecutive integers $i$, prove that $G$ is abelian.-/

def exercise_2_2_3 {G : Type*} [Group G]
  {P : ℕ → Prop} {hP : P = λ i => ∀ a b : G, (a*b)^i = a^i * b^i}
  (hP1 : ∃ n : ℕ, P n ∧ P (n+1) ∧ P (n+2)) : CommGroup G :=

G : Type u_1
inst✝ : Group G
P : ℕ → Prop
hP : P = fun i => ∀ (a b : G), (a * b) ^ i = a ^ i * b ^ i
hP1 : ∃ n, P n ∧ P (n + 1) ∧ P (n + 2)
⊢ CommGroup G


/-- Let $G$ be a group in which $(a b)^{n}=a^{n} b^{n}$ for some fixed integer $n>1$ for all $a, b \in G$. For all $a, b \in G$, prove that $\left(a b a^{-1} b^{-1}\right)^{n(n-1)}=e$.-/

theorem exercise_2_2_6c {G : Type*} [Group G] {n : ℕ} (hn : n > 1)
  (h : ∀ (a b : G), (a * b) ^ n = a ^ n * b ^ n) :
  ∀ (a b : G), (a * b * a⁻¹ * b⁻¹) ^ (n * (n - 1)) = 1 :=

G : Type u_1
inst✝ : Group G
n : ℕ
hn : n > 1
h : ∀ (a b : G), (a * b) ^ n = a ^ n * b ^ n
⊢ ∀ (a b : G), (a * b * a⁻¹ * b⁻¹) ^ (n * (n - 1)) = 1


/-- If a group $G$ has no proper subgroups, prove that $G$ is cyclic of order $p$, where $p$ is a prime number.-/

theorem exercise_2_3_16 {G : Type*} [Group G]
  (hG : ∀ H : Subgroup G, H = ⊤ ∨ H = ⊥) :
  IsCyclic G ∧ ∃ (p : ℕ) (Fin : Fintype G), Nat.Prime p ∧ @card G Fin = p :=

G : Type u_1
inst✝ : Group G
hG : ∀ (H : Subgroup G), H = ⊤ ∨ H = ⊥
⊢ IsCyclic G ∧ ∃ p Fin, p.Prime ∧ card G = p


/-- Let $G$ be a group such that all subgroups of $G$ are normal in $G$. If $a, b \in G$, prove that $ba = a^jb$ for some $j$.-/

theorem exercise_2_5_23 {G : Type*} [Group G]
  (hG : ∀ (H : Subgroup G), H.Normal) (a b : G) :
  ∃ (j : ℤ) , b*a = a^j * b :=

G : Type u_1
inst✝ : Group G
hG : ∀ (H : Subgroup G), H.Normal
a b : G
⊢ ∃ j, b * a = a ^ j * b


/-- Suppose that $G$ is an abelian group of order $p^nm$ where $p \nmid m$ is a prime.  If $H$ is a subgroup of $G$ of order $p^n$, prove that $H$ is a characteristic subgroup of $G$.-/

theorem exercise_2_5_31 {G : Type*} [CommGroup G] [Fintype G]
  {p m n : ℕ} (hp : Nat.Prime p) (hp1 : ¬ p ∣ m) (hG : card G = p^n*m)
  {H : Subgroup G} [Fintype H] (hH : card H = p^n) :
  Subgroup.Characteristic H :=

G : Type u_1
inst✝² : CommGroup G
inst✝¹ : Fintype G
p m n : ℕ
hp : p.Prime
hp1 : ¬p ∣ m
hG : card G = p ^ n * m
H : Subgroup G
inst✝ : Fintype ↥H
hH : card ↥H = p ^ n
⊢ H.Characteristic


/-- Prove that a group of order 9 must be abelian.-/

def exercise_2_5_43 (G : Type*) [Group G] [Fintype G]
  (hG : card G = 9) :
  CommGroup G :=

G : Type u_1
inst✝¹ : Group G
inst✝ : Fintype G
hG : card G = 9
⊢ CommGroup G


/-- Let $G$ be a finite group and $\varphi$ an automorphism of $G$ such that $\varphi(x) = x^{-1}$ for more than three-fourths of the elements of $G$. Prove that $\varphi(y) = y^{-1}$ for all $y \in G$, and so $G$ is abelian.-/

theorem exercise_2_5_52 {G : Type*} [Group G] [Fintype G]
  (φ : G ≃* G) {I : Finset G} (hI : ∀ x ∈ I, φ x = x⁻¹)
  (hI1 : (0.75 : ℚ) * card G ≤ card I) :
  ∀ x : G, φ x = x⁻¹ ∧ ∀ x y : G, x*y = y*x :=

G : Type u_1
inst✝¹ : Group G
inst✝ : Fintype G
φ : G ≃* G
I : Finset G
hI : ∀ x ∈ I, φ x = x⁻¹
hI1 : 0.75 * ↑(card G) ≤ ↑(card { x // x ∈ I })
⊢ ∀ (x : G), φ x = x⁻¹ ∧ ∀ (x y : G), x * y = y * x


/-- If $\varphi$ is a homomorphism of $G$ onto $G'$ and $N \triangleleft G$, show that $\varphi(N) \triangleleft G'$.-/

theorem exercise_2_7_7 {G : Type*} [Group G] {G' : Type*} [Group G']
  (φ : G →* G') (N : Subgroup G) [N.Normal] :
  (Subgroup.map φ N).Normal :=

G : Type u_1
inst✝² : Group G
G' : Type u_2
inst✝¹ : Group G'
φ : G →* G'
N : Subgroup G
inst✝ : N.Normal
⊢ (Subgroup.map φ N).Normal


/-- Prove that if $p > q$ are two primes such that $q \mid p - 1$, then any two nonabelian groups of order $pq$ are isomorphic.-/

def exercise_2_8_15 {G H: Type*} [Fintype G] [Group G] [Fintype H]
  [Group H] {p q : ℕ} (hp : Nat.Prime p) (hq : Nat.Prime q)
  (h : p > q) (h1 : q ∣ p - 1) (hG : card G = p*q) (hH : card G = p*q) :
  G ≃* H :=

G : Type u_1
H : Type u_2
inst✝³ : Fintype G
inst✝² : Group G
inst✝¹ : Fintype H
inst✝ : Group H
p q : ℕ
hp : p.Prime
hq : q.Prime
h : p > q
h1 : q ∣ p - 1
hG hH : card G = p * q
⊢ G ≃* H


/-- Let $A$ be a normal subgroup of a group $G$, and suppose that $b \in G$ is an element of prime order $p$, and that $b \not\in A$. Show that $A \cap (b) = (e)$.-/

theorem exercise_2_10_1 {G : Type*} [Group G] (A : Subgroup G)
  [A.Normal] {b : G} (hp : Nat.Prime (orderOf b)) :
  A ⊓ (Subgroup.closure {b}) = ⊥ :=

G : Type u_1
inst✝¹ : Group G
A : Subgroup G
inst✝ : A.Normal
b : G
hp : (orderOf b).Prime
⊢ A ⊓ Subgroup.closure {b} = ⊥


/-- If $P \triangleleft G$, $P$ a $p$-Sylow subgroup of $G$, prove that $\varphi(P) = P$ for every automorphism $\varphi$ of $G$.-/

theorem exercise_2_11_7 {G : Type*} [Group G] {p : ℕ} (hp : Nat.Prime p)
  {P : Sylow p G} (hP : P.Normal) :
  Subgroup.Characteristic (P : Subgroup G) :=

G : Type u_1
inst✝ : Group G
p : ℕ
hp : p.Prime
P : Sylow p G
hP : (↑P).Normal
⊢ (↑P).Characteristic


/-- If $\sigma, \tau$ are two permutations that disturb no common element and $\sigma \tau = e$, prove that $\sigma = \tau = e$.-/

theorem exercise_3_2_21 {α : Type*} [Fintype α] {σ τ: Equiv.Perm α}
  (h1 : ∀ a : α, σ a = a ↔ τ a ≠ a) (h2 : τ ∘ σ = id) :
  σ = 1 ∧ τ = 1 :=

α : Type u_1
inst✝ : Fintype α
σ τ : Equiv.Perm α
h1 : ∀ (a : α), σ a = a ↔ τ a ≠ a
h2 : ⇑τ ∘ ⇑σ = id
⊢ σ = 1 ∧ τ = 1


/-- Let $T$ be the group of $2\times 2$ matrices $A$ with entries in the field $\mathbb{Z}_2$ such that $\det A$ is not equal to 0. Prove that $T$ is isomorphic to $S_3$, the symmetric group of degree 3.-/

def exercise_4_1_34 : Equiv.Perm (Fin 3) ≃* Matrix.GeneralLinearGroup (Fin 2) (ZMod 2) :=

⊢ Equiv.Perm (Fin 3) ≃* GL (Fin 2) (ZMod 2)


/-- If $a^2 = 0$ in $R$, show that $ax + xa$ commutes with $a$.-/

theorem exercise_4_2_6 {R : Type*} [Ring R] (a x : R)
  (h : a ^ 2 = 0) : a * (a * x + x * a) = (x + x * a) * a :=

R : Type u_1
inst✝ : Ring R
a x : R
h : a ^ 2 = 0
⊢ a * (a * x + x * a) = (x + x * a) * a


/-- If $R$ is a commutative ring and $a \in R$, let $L(a) = \{x \in R \mid xa = 0\}$. Prove that $L(a)$ is an ideal of $R$.-/

theorem exercise_4_3_1 {R : Type*} [CommRing R] (a : R) :
  ∃ I : Ideal R, {x : R | x*a=0} = I :=

R : Type u_1
inst✝ : CommRing R
a : R
⊢ ∃ I, {x | x * a = 0} = ↑I


/-- Show that $(p - 1)/2$ of the numbers $1, 2, \ldots, p - 1$ are quadratic residues and $(p - 1)/2$ are quadratic nonresidues $\mod p$.-/

theorem exercise_4_4_9 (p : ℕ) (hp : Nat.Prime p) :
  (∃ S : Finset (ZMod p), S.card = (p-1)/2 ∧ ∃ x : ZMod p, x^2 = p) ∧
  (∃ S : Finset (ZMod p), S.card = (p-1)/2 ∧ ¬ ∃ x : ZMod p, x^2 = p) :=

p : ℕ
hp : p.Prime
⊢ (∃ S, S.card = (p - 1) / 2 ∧ ∃ x, x ^ 2 = ↑p) ∧ ∃ S, S.card = (p - 1) / 2 ∧ ¬∃ x, x ^ 2 = ↑p


/-- Let $F = \mathbb{Z}_7$ and let $p(x) = x^3 - 2$ and $q(x) = x^3 + 2$ be in $F[x]$. Show that $p(x)$ and $q(x)$ are irreducible in $F[x]$ and that the fields $F[x]/(p(x))$ and $F[x]/(q(x))$ are isomorphic.-/

theorem exercise_4_5_23 {p q: Polynomial (ZMod 7)}
  (hp : p = X^3 - 2) (hq : q = X^3 + 2) :
  Irreducible p ∧ Irreducible q ∧
  (Nonempty $ Polynomial (ZMod 7) ⧸ span ({p} : Set $ Polynomial $ ZMod 7) ≃+*
  Polynomial (ZMod 7) ⧸ span ({q} : Set $ Polynomial $ ZMod 7)) :=

p q : (ZMod 7)[X]
hp : p = X ^ 3 - 2
hq : q = X ^ 3 + 2
⊢ Irreducible p ∧ Irreducible q ∧ Nonempty ((ZMod 7)[X] ⧸ span {p} ≃+* (ZMod 7)[X] ⧸ span {q})


/-- Prove that $f(x) = x^3 + 3x + 2$ is irreducible in $Q[x]$.-/

theorem exercise_4_6_2 : Irreducible (X^3 + 3*X + 2 : Polynomial ℚ) :=


/-- If $F$ is a field of characteristic $p \neq 0$, show that $(a + b)^m = a^m + b^m$, where $m = p^n$, for all $a, b \in F$ and any positive integer $n$.-/

theorem exercise_5_1_8 {p m n: ℕ} {F : Type*} [Field F]
  (hp : Nat.Prime p) (hF : CharP F p) (a b : F) (hm : m = p ^ n) :
  (a + b) ^ m = a^m + b^m :=

p m n : ℕ
F : Type u_1
inst✝ : Field F
hp : p.Prime
hF : CharP F p
a b : F
hm : m = p ^ n
⊢ (a + b) ^ m = a ^ m + b ^ m


/-- If $a \in K$ is such that $a^2$ is algebraic over the subfield $F$ of $K$, show that a is algebraic over $F$.-/

theorem exercise_5_3_7 {K : Type*} [Field K] {F : Subfield K}
  {a : K} (ha : IsAlgebraic F (a ^ 2)) : IsAlgebraic F a :=

K : Type u_1
inst✝ : Field K
F : Subfield K
a : K
ha : IsAlgebraic (↥F) (a ^ 2)
⊢ IsAlgebraic (↥F) a


/-- If $a \in C$ is such that $p(a) = 0$, where $p(x) = x^5 + \sqrt{2}x^3 + \sqrt{5}x^2 + \sqrt{7}x + \sqrt{11}$, show that $a$ is algebraic over $\mathbb{Q}$ of degree at most 80.-/

theorem exercise_5_4_3 {a : ℂ} {p : ℂ → ℂ}
  (hp : p = λ (x : ℂ) => x^5 + sqrt 2 * x^3 + sqrt 5 * x^2 + sqrt 7 * x + 11)
  (ha : p a = 0) :
  ∃ p : Polynomial ℂ , p.degree < 80 ∧ a ∈ p.roots ∧
  ∀ n : p.support, ∃ a b : ℤ, p.coeff n = a / b :=

a : ℂ
p : ℂ → ℂ
hp : p = fun x => x ^ 5 + ↑√2 * x ^ 3 + ↑√5 * x ^ 2 + ↑√7 * x + 11
ha : p a = 0
⊢ ∃ p, p.degree < 80 ∧ a ∈ p.roots ∧ ∀ (n : { x // x ∈ p.support }), ∃ a b, p.coeff ↑n = ↑a / ↑b


/-- If $F$ is of characteristic $p \neq 0$, show that all the roots of $x^m - x$, where $m = p^n$, are distinct.-/

theorem exercise_5_6_14 {p m n: ℕ} (hp : Nat.Prime p) {F : Type*}
  [Field F] [CharP F p] (hm : m = p ^ n) :
  card (rootSet (X ^ m - X : Polynomial F) F) = m :=

p m n : ℕ
hp : p.Prime
F : Type u_1
inst✝¹ : Field F
inst✝ : CharP F p
hm : m = p ^ n
⊢ card ↑((X ^ m - X).rootSet F) = m


/-- Prove that a set $U \subset M$ is open if and only if none of its points are limits of its complement.-/

theorem exercise_2_26 {M : Type*} [TopologicalSpace M]
  (U : Set M) : IsOpen U ↔ ∀ x ∈ U, ¬ ClusterPt x (𝓟 Uᶜ) :=

M : Type u_1
inst✝ : TopologicalSpace M
U : Set M
⊢ IsOpen U ↔ ∀ x ∈ U, ¬ClusterPt x (𝓟 Uᶜ)

import Mathlib

open Filter Real Function
open scoped Topology


/-- Show that every subset of $\mathbb{N}$ is clopen.-/

theorem exercise_2_32a (A : Set ℕ) : IsClopen A :=


/-- Assume that $A, B$ are compact, disjoint, nonempty subsets of $M$. Prove that there are $a_0 \in A$ and $b_0 \in B$ such that for all $a \in A$ and $b \in B$ we have $d(a_0, b_0) \leq d(a, b)$.-/

theorem exercise_2_46 {M : Type*} [MetricSpace M]
  {A B : Set M} (hA : IsCompact A) (hB : IsCompact B)
  (hAB : Disjoint A B) (hA₀ : A ≠ ∅) (hB₀ : B ≠ ∅) :
  ∃ a₀ b₀, a₀ ∈ A ∧ b₀ ∈ B ∧ ∀ (a : M) (b : M),
  a ∈ A → b ∈ B → dist a₀ b₀ ≤ dist a b :=

M : Type u_1
inst✝ : MetricSpace M
A B : Set M
hA : IsCompact A
hB : IsCompact B
hAB : Disjoint A B
hA₀ : A ≠ ∅
hB₀ : B ≠ ∅
⊢ ∃ a₀ b₀, a₀ ∈ A ∧ b₀ ∈ B ∧ ∀ (a b : M), a ∈ A → b ∈ B → dist a₀ b₀ ≤ dist a b


/-- Give a direct proof that the nested decreasing intersection of nonempty covering compact sets is nonempty.-/

theorem exercise_2_92 {α : Type*} [TopologicalSpace α]
  {s : ℕ → Set α}
  (hs : ∀ i, IsCompact (s i))
  (hs : ∀ i, (s i).Nonempty)
  (hs : ∀ i, (s i) ⊃ (s (i + 1))) :
  (⋂ i, s i).Nonempty :=

α : Type u_1
inst✝ : TopologicalSpace α
s : ℕ → Set α
hs✝¹ : ∀ (i : ℕ), IsCompact (s i)
hs✝ : ∀ (i : ℕ), (s i).Nonempty
hs : ∀ (i : ℕ), s i ⊃ s (i + 1)
⊢ (⋂ i, s i).Nonempty


/-- Assume that $f \colon \mathbb{R} \rightarrow \mathbb{R}$ satisfies $|f(t)-f(x)| \leq|t-x|^{2}$ for all $t, x$. Prove that $f$ is constant.-/

theorem exercise_3_1 {f : ℝ → ℝ}
  (hf : ∀ x y, |f x - f y| ≤ |x - y| ^ 2) :
  ∃ c, f = λ x => c :=

f : ℝ → ℝ
hf : ∀ (x y : ℝ), |f x - f y| ≤ |x - y| ^ 2
⊢ ∃ c, f = fun x => c


/-- Prove that $\sum 1/k(\log(k))^p$ converges when $p > 1$.-/

theorem exercise_3_63a (p : ℝ) (f : ℕ → ℝ) (hp : p > 1)
  (h : f = λ (k : ℕ) => (1 : ℝ) / (k * (log k) ^ p)) :
  ∃ l, Tendsto f atTop (𝓝 l) :=

p : ℝ
f : ℕ → ℝ
hp : p > 1
h : f = fun k => 1 / (↑k * (↑k).log ^ p)
⊢ ∃ l, Tendsto f atTop (𝓝 l)


/-- A continuous, strictly increasing function $\mu \colon (0, \infty) \rightarrow (0, \infty)$ is a modulus of continuity if $\mu(s) \rightarrow 0$ as $s \rightarrow 0$. A function $f \colon [a, b] \rightarrow \mathbb{R}$ has modulus of continuity $\mu$ if $|f(s) - f(t)| \leq \mu(|s - t|)$ for all $s, t \in [a, b]$. Prove that a function is uniformly continuous if and only if it has a modulus of continuity.-/

theorem exercise_4_15a {α : Type*}
  (a b : ℝ) (F : Set (ℝ → ℝ)) :
  (∀ x : ℝ, ∀ ε > 0, ∃ U ∈ (𝓝 x),
  (∀ y z : U, ∀ f : ℝ → ℝ, f ∈ F → (dist (f y) (f z) < ε)))
  ↔
  ∃ (μ : ℝ → ℝ), ∀ (x : ℝ), (0 : ℝ) ≤ μ x ∧ Tendsto μ (𝓝 0) (𝓝 0) ∧
  (∀ (s t : ℝ) (f : ℝ → ℝ), f ∈ F → |(f s) - (f t)| ≤ μ (|s - t|)) :=

α : Type u_1
a b : ℝ
F : Set (ℝ → ℝ)
⊢ (∀ (x ε : ℝ), ε > 0 → ∃ U ∈ 𝓝 x, ∀ (y z : ↑U), ∀ f ∈ F, dist (f ↑y) (f ↑z) < ε) ↔
    ∃ μ, ∀ (x : ℝ), 0 ≤ μ x ∧ Tendsto μ (𝓝 0) (𝓝 0) ∧ ∀ (s t : ℝ), ∀ f ∈ F, |f s - f t| ≤ μ |s - t|


/-- Prove that the products $a b$ and $b a$ are conjugate elements in a group.-/

theorem exercise_2_3_2 {G : Type*} [Group G] (a b : G) :
    ∃ g : G, b* a = g * a * b * g⁻¹ :=

G : Type u_1
inst✝ : Group G
a b : G
⊢ ∃ g, b * a = g * a * b * g⁻¹

import Mathlib

open Function Fintype Subgroup Ideal Polynomial Submodule Zsqrtd
open scoped BigOperators


/-- Prove that the center of the product of two groups is the product of their centers.-/

noncomputable def exercise_2_8_6 {G H : Type*} [Group G] [Group H] :
    center (G × H) ≃* (center G) × (center H) :=

G : Type u_1
H : Type u_2
inst✝¹ : Group G
inst✝ : Group H
⊢ ↥(center (G × H)) ≃* ↥(center G) × ↥(center H)

import Mathlib

open Function Fintype Subgroup Ideal Polynomial Submodule Zsqrtd
open scoped BigOperators

--center of (G × H) equivalent, preserves multiplication with (center G) × (center H)


/-- Prove that every homomorphism of fields is injective.-/

theorem exercise_3_2_7 {F : Type*} [Field F] {G : Type*} [Field G]
    (φ : F →+* G) : Injective φ :=

F : Type u_1
inst✝¹ : Field F
G : Type u_2
inst✝ : Field G
φ : F →+* G
⊢ Injective ⇑φ

import Mathlib

open Function Fintype Subgroup Ideal Polynomial Submodule Zsqrtd
open scoped BigOperators

open RingHom


/-- Let $V$ be a vector space over an infinite field $F$. Prove that $V$ is not the union of finitely many proper subspaces.-/

theorem exercise_3_7_2 {K V : Type*} [Field K] [AddCommGroup V]
  [Module K V] {ι : Type*} [Fintype ι] (γ : ι → Submodule K V)
  (h : ∀ i : ι, γ i ≠ ⊤) :
  (⋂ (i : ι), (γ i : Set V)) ≠ ⊤ :=

K : Type u_1
V : Type u_2
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
ι : Type u_3
inst✝ : Fintype ι
γ : ι → Submodule K V
h : ∀ (i : ι), γ i ≠ ⊤
⊢ ⋂ i, ↑(γ i) ≠ ⊤


/-- Prove that no group of order $p q$, where $p$ and $q$ are prime, is simple.-/

theorem exercise_6_4_2 {G : Type*} [Group G] [Fintype G] {p q : ℕ}
  (hp : Prime p) (hq : Prime q) (hG : card G = p*q) :
  IsSimpleGroup G → false :=

G : Type u_1
inst✝¹ : Group G
inst✝ : Fintype G
p q : ℕ
hp : Prime p
hq : Prime q
hG : card G = p * q
⊢ IsSimpleGroup G → false = true


/-- Prove that no group of order 224 is simple.-/

theorem exercise_6_4_12 {G : Type*} [Group G] [Fintype G]
  (hG : card G = 224) :
  IsSimpleGroup G → false :=

G : Type u_1
inst✝¹ : Group G
inst✝ : Fintype G
hG : card G = 224
⊢ IsSimpleGroup G → false = true


/-- An element $x$ of a ring $R$ is called nilpotent if some power of $x$ is zero. Prove that if $x$ is nilpotent, then $1+x$ is a unit in $R$.-/

theorem exercise_10_1_13 {R : Type*} [Ring R] {x : R}
  (hx : IsNilpotent x) : IsUnit (1 + x) :=

R : Type u_1
inst✝ : Ring R
x : R
hx : IsNilpotent x
⊢ IsUnit (1 + x)


/-- Prove that every nonzero ideal in the ring of Gauss integers contains a nonzero integer.-/

theorem exercise_10_6_7 {I : Ideal GaussianInt}
  (hI : I ≠ ⊥) : ∃ (z : I), z ≠ 0 ∧ (z : GaussianInt).im = 0 :=

I : Ideal GaussianInt
hI : I ≠ ⊥
⊢ ∃ z, z ≠ 0 ∧ (↑z).im = 0


/-- Let $I, J$ be ideals of a ring $R$ such that $I+J=R$. Prove that $I J=I \cap J$.-/

theorem exercise_10_4_7a {R : Type*} [CommRing R] [NoZeroDivisors R]
  (I J : Ideal R) (hIJ : I + J = ⊤) : I * J = I ⊓ J :=

R : Type u_1
inst✝¹ : CommRing R
inst✝ : NoZeroDivisors R
I J : Ideal R
hIJ : I + J = ⊤
⊢ I * J = I ⊓ J


/-- If $a, b$ are integers and if $a$ divides $b$ in the ring of Gauss integers, then $a$ divides $b$ in $\mathbb{Z}$.-/

theorem exercise_11_2_13 (a b : ℤ) :
  (ofInt a : GaussianInt) ∣ ofInt b → a ∣ b :=


/-- Prove that $x^2+x+1$ is irreducible in the field $\mathbb{F}_2$.-/

theorem exercise_11_4_6a {F : Type*} [Field F] [Fintype F] (hF : card F = 7) :
  Irreducible (X ^ 2 + 1 : Polynomial F) :=

F : Type u_1
inst✝¹ : Field F
inst✝ : Fintype F
hF : card F = 7
⊢ Irreducible (X ^ 2 + 1)


/-- Prove that $x^3 - 9$ is irreducible in $\mathbb{F}_{31}$.-/

theorem exercise_11_4_6c : Irreducible (X^3 - 9 : Polynomial (ZMod 31)) :=


/-- Prove that there are infinitely many primes congruent to $-1$ (modulo $4$).-/

theorem exercise_11_13_3 (N : ℕ):
  ∃ p ≥ N, Nat.Prime p ∧ p + 1 ≡ 0 [MOD 4] :=

N : ℕ
⊢ ∃ p ≥ N, p.Prime ∧ p + 1 ≡ 0 [MOD 4]


/-- Let $K$ be a finite field. Prove that the product of the nonzero elements of $K$ is $-1$.-/

theorem exercise_13_6_10 {K : Type*} [Field K] [Fintype Kˣ] :
  (∏ x : Kˣ,  x) = -1 :=

K : Type u_1
inst✝¹ : Field K
inst✝ : Fintype Kˣ
⊢ ∏ x : Kˣ, x = -1


/-- Show that $\frac{-1 + \sqrt{3}i}{2}$ is a cube root of 1 (meaning that its cube equals 1).-/

theorem exercise_1_2 :
  (⟨-1/2, Real.sqrt 3 / 2⟩ : ℂ) ^ 3 = -1 :=

import Mathlib

open Fintype Complex Polynomial LinearMap FiniteDimensional Module Module.End
open scoped BigOperators

open scoped BigOperators


/-- Prove that if $a \in \mathbf{F}$, $v \in V$, and $av = 0$, then $a = 0$ or $v = 0$.-/

theorem exercise_1_4 {F V : Type*} [AddCommGroup V] [Field F]
  [Module F V] (v : V) (a : F): a • v = 0 ↔ a = 0 ∨ v = 0 :=

F : Type u_1
V : Type u_2
inst✝² : AddCommGroup V
inst✝¹ : Field F
inst✝ : Module F V
v : V
a : F
⊢ a • v = 0 ↔ a = 0 ∨ v = 0

import Mathlib

open Fintype Complex Polynomial LinearMap FiniteDimensional Module Module.End
open scoped BigOperators


/-- Give an example of a nonempty subset $U$ of $\mathbf{R}^2$ such that $U$ is closed under scalar multiplication, but $U$ is not a subspace of $\mathbf{R}^2$.-/

theorem exercise_1_7 : ∃ U : Set (ℝ × ℝ),
  (U ≠ ∅) ∧
  (∀ (c : ℝ) (u : ℝ × ℝ), u ∈ U → c • u ∈ U) ∧
  (∀ U' : Submodule ℝ (ℝ × ℝ), U ≠ ↑U') :=

⊢ ∃ U, U ≠ ∅ ∧ (∀ (c : ℝ), ∀ u ∈ U, c • u ∈ U) ∧ ∀ (U' : Submodule ℝ (ℝ × ℝ)), U ≠ ↑U'


/-- Prove that the union of two subspaces of $V$ is a subspace of $V$ if and only if one of the subspaces is contained in the other.-/

theorem exercise_1_9 {F V : Type*} [AddCommGroup V] [Field F]
  [Module F V] (U W : Submodule F V):
  ∃ U' : Submodule F V, (U'.carrier = ↑U ∩ ↑W ↔ (U ≤ W ∨ W ≤ U)) :=

F : Type u_1
V : Type u_2
inst✝² : AddCommGroup V
inst✝¹ : Field F
inst✝ : Module F V
U W : Submodule F V
⊢ ∃ U', U'.carrier = ↑U ∩ ↑W ↔ U ≤ W ∨ W ≤ U


/-- Suppose that $V$ is finite dimensional and that $T \in \mathcal{L}(V, W)$. Prove that there exists a subspace $U$ of $V$ such that $U \cap \operatorname{null} T=\{0\}$ and range $T=\{T u: u \in U\}$.-/

theorem exercise_3_8 {F V W : Type*}  [AddCommGroup V]
  [AddCommGroup W] [Field F] [Module F V] [Module F W]
  (L : V →ₗ[F] W) :
  ∃ U : Submodule F V, U ⊓ (ker L) = ⊥ ∧
  (range L = range (domRestrict L U)) :=

F : Type u_1
V : Type u_2
W : Type u_3
inst✝⁴ : AddCommGroup V
inst✝³ : AddCommGroup W
inst✝² : Field F
inst✝¹ : Module F V
inst✝ : Module F W
L : V →ₗ[F] W
⊢ ∃ U, U ⊓ ker L = ⊥ ∧ range L = range (L.domRestrict U)


/-- Suppose $T \in \mathcal{L}(V)$. Prove that if $U_{1}, \ldots, U_{m}$ are subspaces of $V$ invariant under $T$, then $U_{1}+\cdots+U_{m}$ is invariant under $T$.-/

theorem exercise_5_1 {F V : Type*} [AddCommGroup V] [Field F]
  [Module F V] {L : V →ₗ[F] V} {n : ℕ} (U : Fin n → Submodule F V)
  (hU : ∀ i : Fin n, Submodule.map L (U i) = U i) :
  Submodule.map L (∑ i : Fin n, U i : Submodule F V) =
  (∑ i : Fin n, U i : Submodule F V) :=

F : Type u_1
V : Type u_2
inst✝² : AddCommGroup V
inst✝¹ : Field F
inst✝ : Module F V
L : V →ₗ[F] V
n : ℕ
U : Fin n → Submodule F V
hU : ∀ (i : Fin n), Submodule.map L (U i) = U i
⊢ Submodule.map L (∑ i : Fin n, U i) = ∑ i : Fin n, U i


/-- Suppose $S, T \in \mathcal{L}(V)$. Prove that $S T$ and $T S$ have the same eigenvalues.-/

theorem exercise_5_11 {F V : Type*} [AddCommGroup V] [Field F]
  [Module F V] (S T : End F V) :
  (S * T).Eigenvalues = (T * S).Eigenvalues :=

F : Type u_1
V : Type u_2
inst✝² : AddCommGroup V
inst✝¹ : Field F
inst✝ : Module F V
S T : End F V
⊢ (S * T).Eigenvalues = (T * S).Eigenvalues


/-- Suppose $T \in \mathcal{L}(V)$ is such that every subspace of $V$ with dimension $\operatorname{dim} V-1$ is invariant under $T$. Prove that $T$ is a scalar multiple of the identity operator.-/

theorem exercise_5_13 {F V : Type*} [AddCommGroup V] [Field F]
  [Module F V] [FiniteDimensional F V] {T : End F V}
  (hS : ∀ U : Submodule F V, finrank F U = finrank F V - 1 →
  Submodule.map T U = U) : ∃ c : F, T = c • LinearMap.id :=

F : Type u_1
V : Type u_2
inst✝³ : AddCommGroup V
inst✝² : Field F
inst✝¹ : Module F V
inst✝ : FiniteDimensional F V
T : End F V
hS : ∀ (U : Submodule F V), finrank F ↥U = finrank F V - 1 → Submodule.map T U = U
⊢ ∃ c, T = c • LinearMap.id


/-- Suppose $V$ is a real vector space and $T \in \mathcal{L}(V)$ has no eigenvalues. Prove that every subspace of $V$ invariant under $T$ has even dimension.-/

theorem exercise_5_24 {V : Type*} [AddCommGroup V]
  [Module ℝ V] [FiniteDimensional ℝ V] {T : End ℝ V}
  (hT : ∀ c : ℝ, eigenspace T c = ⊥) {U : Submodule ℝ V}
  (hU : Submodule.map T U = U) : Even (finrank U) :=

V : Type u_1
inst✝² : AddCommGroup V
inst✝¹ : Module ℝ V
inst✝ : FiniteDimensional ℝ V
T : End ℝ V
hT : ∀ (c : ℝ), T.eigenspace c = ⊥
U : Submodule ℝ V
hU : Submodule.map T U = U
⊢ Even (finrank ↥U)


theorem exercise_6_3 {n : ℕ} (a b : Fin n → ℝ) :
  (∑ i, a i * b i) ^ 2 ≤ (∑ i : Fin n, i * a i ^ 2) * (∑ i, b i ^ 2 / i) :=

n : ℕ
a b : Fin n → ℝ
⊢ (∑ i : Fin n, a i * b i) ^ 2 ≤ (∑ i : Fin n, ↑↑i * a i ^ 2) * ∑ i : Fin n, b i ^ 2 / ↑↑i


/-- Suppose $\left(e_{1}, \ldots, e_{m}\right)$ is an or thonormal list of vectors in $V$. Let $v \in V$. Prove that $\|v\|^{2}=\left|\left\langle v, e_{1}\right\rangle\right|^{2}+\cdots+\left|\left\langle v, e_{m}\right\rangle\right|^{2}$ if and only if $v \in \operatorname{span}\left(e_{1}, \ldots, e_{m}\right)$.-/

theorem exercise_6_13 {V : Type*} [NormedAddCommGroup V] [InnerProductSpace ℂ V] {n : ℕ}
  {e : Fin n → V} (he : Orthonormal ℂ e) (v : V) :
  ‖v‖^2 = ∑ i : Fin n, ‖⟪v, e i⟫_ℂ‖^2 ↔ v ∈ Submodule.span ℂ (e '' Set.univ) :=

V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℂ V
n : ℕ
e : Fin n → V
he : Orthonormal ℂ e
v : V
⊢ ‖v‖ ^ 2 = ∑ i : Fin n, ‖⟪v, e i⟫_ℂ‖ ^ 2 ↔ v ∈ Submodule.span ℂ (e '' Set.univ)


/-- Show that if $\operatorname{dim} V \geq 2$, then the set of normal operators on $V$ is not a subspace of $\mathcal{L}(V)$.-/

theorem exercise_7_5 {V : Type*} [NormedAddCommGroup V] [InnerProductSpace ℂ V]
  [FiniteDimensional ℂ V] (hV : finrank V ≥ 2) :
  ∀ U : Submodule ℂ (End ℂ V), U.carrier ≠
  {T | T * adjoint T = adjoint T * T} :=

V : Type u_1
inst✝² : NormedAddCommGroup V
inst✝¹ : InnerProductSpace ℂ V
inst✝ : FiniteDimensional ℂ V
hV : finrank V ≥ 2
⊢ ∀ (U : Submodule ℂ (End ℂ V)), U.carrier ≠ {T | T * adjoint T = adjoint T * T}


/-- Prove that a normal operator on a complex inner-product space is self-adjoint if and only if all its eigenvalues are real.-/

theorem exercise_7_9 {V : Type*} [NormedAddCommGroup V] [InnerProductSpace ℂ V]
  [FiniteDimensional ℂ V] (T : End ℂ V)
  (hT : T * adjoint T = adjoint T * T) :
  IsSelfAdjoint T ↔ ∀ e : T.Eigenvalues, (e : ℂ).im = 0 :=

V : Type u_1
inst✝² : NormedAddCommGroup V
inst✝¹ : InnerProductSpace ℂ V
inst✝ : FiniteDimensional ℂ V
T : End ℂ V
hT : T * adjoint T = adjoint T * T
⊢ IsSelfAdjoint T ↔ ∀ (e : T.Eigenvalues), (↑T e).im = 0


/-- Suppose $V$ is a complex inner-product space. Prove that every normal operator on $V$ has a square root. (An operator $S \in \mathcal{L}(V)$ is called a square root of $T \in \mathcal{L}(V)$ if $S^{2}=T$.)-/

theorem exercise_7_11 {V : Type*} [NormedAddCommGroup V] [InnerProductSpace ℂ V]
  [FiniteDimensional ℂ V] {T : End ℂ V} (hT : T*adjoint T = adjoint T*T) :
  ∃ (S : End ℂ V), S ^ 2 = T :=

V : Type u_1
inst✝² : NormedAddCommGroup V
inst✝¹ : InnerProductSpace ℂ V
inst✝ : FiniteDimensional ℂ V
T : End ℂ V
hT : T * adjoint T = adjoint T * T
⊢ ∃ S, S ^ 2 = T


/-- Prove the the operation $\star$ on $\mathbb{Z}$ defined by $a\star b=a-b$ is not commutative.-/

theorem exercise_1_1_2a : ∃ a b : ℤ, a - b ≠ b - a :=

import Mathlib

open Fintype Subgroup Set Polynomial Ideal
open scoped BigOperators


/-- Prove that the multiplication of residue class $\mathbb{Z}/n\mathbb{Z}$ is associative.-/

theorem exercise_1_1_4 (n : ℕ) :
  ∀ (a b c : ℕ), (a * b) * c ≡ a * (b * c) [ZMOD n] :=

n : ℕ
⊢ ∀ (a b c : ℕ), ↑a * ↑b * ↑c ≡ ↑a * (↑b * ↑c) [ZMOD ↑n]


theorem exercise_1_1_15 {G : Type*} [Group G] (as : List G) :
  as.prod⁻¹ = (as.reverse.map (λ x => x⁻¹)).prod :=

G : Type u_1
inst✝ : Group G
as : List G
⊢ as.prod⁻¹ = (List.map (fun x => x⁻¹) as.reverse).prod


/-- Let $x$ be an element of $G$. Prove that if $|x|=n$ for some positive integer $n$ then $x^{-1}=x^{n-1}$.-/

theorem exercise_1_1_17 {G : Type*} [Group G] {x : G} {n : ℕ}
  (hxn: orderOf x = n) :
  x⁻¹ = x ^ (n - 1 : ℤ) :=

G : Type u_1
inst✝ : Group G
x : G
n : ℕ
hxn : orderOf x = n
⊢ x⁻¹ = x ^ (↑n - 1)


/-- For $x$ an element in $G$ show that $x$ and $x^{-1}$ have the same order.-/

theorem exercise_1_1_20 {G : Type*} [Group G] {x : G} :
  orderOf x = orderOf x⁻¹ :=

G : Type u_1
inst✝ : Group G
x : G
⊢ orderOf x = orderOf x⁻¹


/-- Deduce that $|a b|=|b a|$ for all $a, b \in G$.-/

theorem exercise_1_1_22b {G: Type*} [Group G] (a b : G) :
  orderOf (a * b) = orderOf (b * a) :=

G : Type u_1
inst✝ : Group G
a b : G
⊢ orderOf (a * b) = orderOf (b * a)


/-- Prove that $A \times B$ is an abelian group if and only if both $A$ and $B$ are abelian.-/

theorem exercise_1_1_29 {A B : Type*} [Group A] [Group B] :
  ∀ x y : A × B, x*y = y*x ↔ (∀ x y : A, x*y = y*x) ∧
  (∀ x y : B, x*y = y*x) :=

A : Type u_1
B : Type u_2
inst✝¹ : Group A
inst✝ : Group B
⊢ ∀ (x y : A × B), x * y = y * x ↔ (∀ (x y : A), x * y = y * x) ∧ ∀ (x y : B), x * y = y * x


/-- Prove that if $\Omega=\{1,2,3, \ldots\}$ then $S_{\Omega}$ is an infinite group-/

theorem exercise_1_3_8 : Infinite (Equiv.Perm ℕ) :=


/-- Let $A$ and $B$ be groups. Prove that $A \times B \cong B \times A$.-/

noncomputable def exercise_1_6_11 {A B : Type*} [Group A] [Group B] :
  A × B ≃* B × A :=

A : Type u_1
B : Type u_2
inst✝¹ : Group A
inst✝ : Group B
⊢ A × B ≃* B × A


/-- Let $G$ be a finite group which possesses an automorphism $\sigma$ such that $\sigma(g)=g$ if and only if $g=1$. If $\sigma^{2}$ is the identity map from $G$ to $G$, prove that $G$ is abelian.-/

theorem exercise_1_6_23 {G : Type*}
  [Group G] (σ : MulAut G) (hs : ∀ g : G, σ g = 1 → g = 1)
  (hs2 : ∀ g : G, σ (σ g) = g) :
  ∀ x y : G, x*y = y*x :=

G : Type u_1
inst✝ : Group G
σ : MulAut G
hs : ∀ (g : G), σ g = 1 → g = 1
hs2 : ∀ (g : G), σ (σ g) = g
⊢ ∀ (x y : G), x * y = y * x


/-- Let $H$ be a subgroup of the additive group of rational numbers with the property that $1 / x \in H$ for every nonzero element $x$ of $H$. Prove that $H=0$ or $\mathbb{Q}$.-/

theorem exercise_2_1_13 (H : AddSubgroup ℚ) {x : ℚ}
  (hH : x ∈ H → (1 / x) ∈ H):
  H = ⊥ ∨ H = ⊤ :=

H : AddSubgroup ℚ
x : ℚ
hH : x ∈ H → 1 / x ∈ H
⊢ H = ⊥ ∨ H = ⊤


/-- A subgroup $M$ of a group $G$ is called a maximal subgroup if $M \neq G$ and the only subgroups of $G$ which contain $M$ are $M$ and $G$. Prove that if $H$ is a proper subgroup of the finite group $G$ then there is a maximal subgroup of $G$ containing $H$.-/

theorem exercise_2_4_16a {G : Type*} [Group G] {H : Subgroup G}
  (hH : H ≠ ⊤) :
  ∃ M : Subgroup G, M ≠ ⊤ ∧
  ∀ K : Subgroup G, M ≤ K → K = M ∨ K = ⊤ ∧
  H ≤ M :=

G : Type u_1
inst✝ : Group G
H : Subgroup G
hH : H ≠ ⊤
⊢ ∃ M, M ≠ ⊤ ∧ ∀ (K : Subgroup G), M ≤ K → K = M ∨ K = ⊤ ∧ H ≤ M


/-- Show that if $G=\langle x\rangle$ is a cyclic group of order $n \geq 1$ then a subgroup $H$ is maximal if and only $H=\left\langle x^{p}\right\rangle$ for some prime $p$ dividing $n$.-/

theorem exercise_2_4_16c {n : ℕ} (H : AddSubgroup (ZMod n)) :
  ∃ p : (ZMod n), Prime p ∧ H = AddSubgroup.closure {p} ↔
  (H ≠ ⊤ ∧ ∀ K : AddSubgroup (ZMod n), H ≤ K → K = H ∨ K = ⊤) :=

n : ℕ
H : AddSubgroup (ZMod n)
⊢ ∃ p, Prime p ∧ H = AddSubgroup.closure {p} ↔ H ≠ ⊤ ∧ ∀ (K : AddSubgroup (ZMod n)), H ≤ K → K = H ∨ K = ⊤


/-- Prove that if $H$ and $K$ are normal subgroups of a group $G$ then their intersection $H \cap K$ is also a normal subgroup of $G$.-/

theorem exercise_3_1_22a (G : Type*) [Group G] (H K : Subgroup G)
  [Normal H] [Normal K] :
  Normal (H ⊓ K) :=

G : Type u_1
inst✝² : Group G
H K : Subgroup G
inst✝¹ : H.Normal
inst✝ : K.Normal
⊢ (H ⊓ K).Normal


/-- Prove that if $H$ and $K$ are finite subgroups of $G$ whose orders are relatively prime then $H \cap K=1$.-/

theorem exercise_3_2_8 {G : Type*} [Group G] (H K : Subgroup G)
  [Fintype H] [Fintype K]
  (hHK : Nat.Coprime (card H) (card K)) :
  H ⊓ K = ⊥ :=

G : Type u_1
inst✝² : Group G
H K : Subgroup G
inst✝¹ : Fintype ↥H
inst✝ : Fintype ↥K
hHK : (card ↥H).Coprime (card ↥K)
⊢ H ⊓ K = ⊥


/-- Use Lagrange's Theorem in the multiplicative group $(\mathbb{Z} / p \mathbb{Z})^{\times}$to prove Fermat's Little Theorem: if $p$ is a prime then $a^{p} \equiv a(\bmod p)$ for all $a \in \mathbb{Z}$.-/

theorem exercise_3_2_16 (p : ℕ) (hp : Nat.Prime p) (a : ℕ) :
  Nat.Coprime a p → a ^ p ≡ a [ZMOD p] :=

p : ℕ
hp : p.Prime
a : ℕ
⊢ a.Coprime p → ↑a ^ p ≡ ↑a [ZMOD ↑p]


/-- Prove that if $H$ is a normal subgroup of $G$ of prime index $p$ then for all $K \leq G$ either $K \leq H$, or $G=H K$ and $|K: K \cap H|=p$.-/

theorem exercise_3_3_3 {p : Nat.Primes} {G : Type*} [Group G]
  {H : Subgroup G} [hH : H.Normal] (hH1 : H.index = p) :
  ∀ K : Subgroup G, K ≤ H ∨ H ⊔ K = ⊤ ∨ (K ⊓ H).relindex K = p :=

p : Nat.Primes
G : Type u_1
inst✝ : Group G
H : Subgroup G
hH : H.Normal
hH1 : H.index = ↑p
⊢ ∀ (K : Subgroup G), K ≤ H ∨ H ⊔ K = ⊤ ∨ (K ⊓ H).relindex K = ↑p


/-- Use Cauchy's Theorem and induction to show that a finite abelian group has a subgroup of order $n$ for each positive divisor $n$ of its order.-/

theorem exercise_3_4_4 {G : Type*} [CommGroup G] [Fintype G] {n : ℕ}
    (hn : n ∣ (card G)) :
    ∃ (H : Subgroup G) (H_fin : Fintype H), @card H H_fin = n :=

G : Type u_1
inst✝¹ : CommGroup G
inst✝ : Fintype G
n : ℕ
hn : n ∣ card G
⊢ ∃ H H_fin, card ↥H = n


/-- Prove that quotient groups of a solvable group are solvable.-/

theorem exercise_3_4_5b {G : Type*} [Group G] [IsSolvable G]
  (H : Subgroup G) [Normal H] :
  IsSolvable (G ⧸ H) :=

G : Type u_1
inst✝² : Group G
inst✝¹ : IsSolvable G
H : Subgroup G
inst✝ : H.Normal
⊢ IsSolvable (G ⧸ H)


/-- Prove that if $H$ has finite index $n$ then there is a normal subgroup $K$ of $G$ with $K \leq H$ and $|G: K| \leq n!$.-/

theorem exercise_4_2_8 {G : Type*} [Group G] {H : Subgroup G}
  {n : ℕ} (hn : n > 0) (hH : H.index = n) :
  ∃ K ≤ H, K.Normal ∧ K.index ≤ n.factorial :=

G : Type u_1
inst✝ : Group G
H : Subgroup G
n : ℕ
hn : n > 0
hH : H.index = n
⊢ ∃ K ≤ H, K.Normal ∧ K.index ≤ n.factorial


/-- Prove that if $p$ is a prime and $G$ is a group of order $p^{\alpha}$ for some $\alpha \in \mathbb{Z}^{+}$, then every subgroup of index $p$ is normal in $G$.-/

theorem exercise_4_2_9a {G : Type*} [Fintype G] [Group G] {p α : ℕ}
  (hp : p.Prime) (ha : α > 0) (hG : card G = p ^ α) :
  ∀ H : Subgroup G, H.index = p → H.Normal :=

G : Type u_1
inst✝¹ : Fintype G
inst✝ : Group G
p α : ℕ
hp : p.Prime
ha : α > 0
hG : card G = p ^ α
⊢ ∀ (H : Subgroup G), H.index = p → H.Normal


/-- Prove that if $G$ is an abelian group of order $p q$, where $p$ and $q$ are distinct primes, then $G$ is cyclic.-/

theorem exercise_4_4_2 {G : Type*} [Fintype G] [Group G]
  {p q : Nat.Primes} (hpq : p ≠ q) (hG : card G = p*q) :
  IsCyclic G :=

G : Type u_1
inst✝¹ : Fintype G
inst✝ : Group G
p q : Nat.Primes
hpq : p ≠ q
hG : card G = ↑p * ↑q
⊢ IsCyclic G


/-- Prove that there exists a normal subgroup that is not characteristic.-/

theorem exercise_4_4_6b :
  ∃ (G : Type*) (hG : Group G) (H : @Subgroup G hG), @Characteristic G hG H  ∧ ¬ @Normal G hG H :=

⊢ ∃ G hG H, H.Characteristic ∧ ¬H.Normal


/-- Let $G$ be a group with subgroups $H$ and $K$ with $H \leq K$. Prove that if $H$ is characteristic in $K$ and $K$ is normal in $G$ then $H$ is normal in $G$.-/

theorem exercise_4_4_8a {G : Type*} [Group G] (H K : Subgroup G)
  (hHK : H ≤ K) [hHK1 : (H.subgroupOf K).Normal] [hK : K.Normal] :
  H.Normal :=

G : Type u_1
inst✝ : Group G
H K : Subgroup G
hHK : H ≤ K
hHK1 : (H.subgroupOf K).Normal
hK : K.Normal
⊢ H.Normal


/-- Prove that a group of order 56 has a normal Sylow $p$-subgroup for some prime $p$ dividing its order.-/

theorem exercise_4_5_13 {G : Type*} [Group G] [Fintype G]
  (hG : card G = 56) :
  ∃ (p : ℕ) (P : Sylow p G), P.Normal :=

G : Type u_1
inst✝¹ : Group G
inst✝ : Fintype G
hG : card G = 56
⊢ ∃ p P, (↑P).Normal


/-- Prove that a group of order 351 has a normal Sylow $p$-subgroup for some prime $p$ dividing its order.-/

theorem exercise_4_5_15 {G : Type*} [Group G] [Fintype G]
  (hG : card G = 351) :
  ∃ (p : ℕ) (P : Sylow p G), P.Normal :=

G : Type u_1
inst✝¹ : Group G
inst✝ : Fintype G
hG : card G = 351
⊢ ∃ p P, (↑P).Normal


/-- Prove that if $|G|=105$ then $G$ has a normal Sylow 5 -subgroup and a normal Sylow 7-subgroup.-/

theorem exercise_4_5_17 {G : Type*} [Fintype G] [Group G]
  (hG : card G = 105) :
  Nonempty (Sylow 5 G) ∧ Nonempty (Sylow 7 G) :=

G : Type u_1
inst✝¹ : Fintype G
inst✝ : Group G
hG : card G = 105
⊢ Nonempty (Sylow 5 G) ∧ Nonempty (Sylow 7 G)


/-- Prove that if $|G|=6545$ then $G$ is not simple.-/

theorem exercise_4_5_19 {G : Type*} [Fintype G] [Group G]
  (hG : card G = 6545) : ¬ IsSimpleGroup G :=

G : Type u_1
inst✝¹ : Fintype G
inst✝ : Group G
hG : card G = 6545
⊢ ¬IsSimpleGroup G


/-- Prove that if $|G|=2907$ then $G$ is not simple.-/

theorem exercise_4_5_21 {G : Type*} [Fintype G] [Group G]
  (hG : card G = 2907) : ¬ IsSimpleGroup G :=

G : Type u_1
inst✝¹ : Fintype G
inst✝ : Group G
hG : card G = 2907
⊢ ¬IsSimpleGroup G


/-- Prove that if $|G|=462$ then $G$ is not simple.-/

theorem exercise_4_5_23 {G : Type*} [Fintype G] [Group G]
  (hG : card G = 462) : ¬ IsSimpleGroup G :=

G : Type u_1
inst✝¹ : Fintype G
inst✝ : Group G
hG : card G = 462
⊢ ¬IsSimpleGroup G


/-- Let $P$ be a normal Sylow $p$-subgroup of $G$ and let $H$ be any subgroup of $G$. Prove that $P \cap H$ is the unique Sylow $p$-subgroup of $H$.-/

theorem exercise_4_5_33 {G : Type*} [Group G] [Fintype G] {p : ℕ}
  (P : Sylow p G) [hP : P.Normal] (H : Subgroup G) [Fintype H] :
  ∀ R : Sylow p H, R.toSubgroup = (H ⊓ P.toSubgroup).subgroupOf H ∧
  Nonempty (Sylow p H) :=

G : Type u_1
inst✝² : Group G
inst✝¹ : Fintype G
p : ℕ
P : Sylow p G
hP : (↑P).Normal
H : Subgroup G
inst✝ : Fintype ↥H
⊢ ∀ (R : Sylow p ↥H), ↑R = (H ⊓ ↑P).subgroupOf H ∧ Nonempty (Sylow p ↥H)


/-- Prove that if $u$ is a unit in $R$ then so is $-u$.-/

theorem exercise_7_1_2 {R : Type*} [Ring R] {u : R}
  (hu : IsUnit u) : IsUnit (-u) :=

R : Type u_1
inst✝ : Ring R
u : R
hu : IsUnit u
⊢ IsUnit (-u)


/-- Prove that any subring of a field which contains the identity is an integral domain.-/

theorem exercise_7_1_12 {F : Type*} [Field F] {K : Subring F}
  (hK : (1 : F) ∈ K) : IsDomain K :=

F : Type u_1
inst✝ : Field F
K : Subring F
hK : 1 ∈ K
⊢ IsDomain ↥K


/-- Let $p(x)=a_{n} x^{n}+a_{n-1} x^{n-1}+\cdots+a_{1} x+a_{0}$ be an element of the polynomial ring $R[x]$. Prove that $p(x)$ is a zero divisor in $R[x]$ if and only if there is a nonzero $b \in R$ such that $b p(x)=0$.-/

theorem exercise_7_2_2 {R : Type*} [Ring R] (p : Polynomial R) :
  p ∣ 0 ↔ ∃ b : R, b ≠ 0 ∧ b • p = 0 :=

R : Type u_1
inst✝ : Ring R
p : R[X]
⊢ p ∣ 0 ↔ ∃ b, b ≠ 0 ∧ b • p = 0


/-- Let $\varphi: R \rightarrow S$ be a surjective homomorphism of rings. Prove that the image of the center of $R$ is contained in the center of $S$.-/

theorem exercise_7_3_16 {R S : Type*} [Ring R] [Ring S]
  {φ : R →+* S} (hf : Function.Surjective φ) :
  φ '' (center R) ⊂ center S :=

R : Type u_1
S : Type u_2
inst✝¹ : Ring R
inst✝ : Ring S
φ : R →+* S
hf : Function.Surjective ⇑φ
⊢ ⇑φ '' Set.center R ⊂ Set.center S


/-- Let $R$ be a commutative ring with $1 \neq 0$. Prove that if $a$ is a nilpotent element of $R$ then $1-a b$ is a unit for all $b \in R$.-/

theorem exercise_7_4_27 {R : Type*} [CommRing R] (hR : (0 : R) ≠ 1)
  {a : R} (ha : IsNilpotent a) (b : R) :
  IsUnit (1-a*b) :=

R : Type u_1
inst✝ : CommRing R
hR : 0 ≠ 1
a : R
ha : IsNilpotent a
b : R
⊢ IsUnit (1 - a * b)


/-- Let $R$ be an integral domain. Prove that if the following two conditions hold then $R$ is a Principal Ideal Domain: (i) any two nonzero elements $a$ and $b$ in $R$ have a greatest common divisor which can be written in the form $r a+s b$ for some $r, s \in R$, and (ii) if $a_{1}, a_{2}, a_{3}, \ldots$ are nonzero elements of $R$ such that $a_{i+1} \mid a_{i}$ for all $i$, then there is a positive integer $N$ such that $a_{n}$ is a unit times $a_{N}$ for all $n \geq N$.-/

theorem exercise_8_2_4 {R : Type*} [Ring R][NoZeroDivisors R]
  [CancelCommMonoidWithZero R] [GCDMonoid R]
  (h1 : ∀ a b : R, a ≠ 0 → b ≠ 0 → ∃ r s : R, gcd a b = r*a + s*b)
  (h2 : ∀ a : ℕ → R, (∀ i j : ℕ, i < j → a i ∣ a j) →
  ∃ N : ℕ, ∀ n ≥ N, ∃ u : R, IsUnit u ∧ a n = u * a N) :
  IsPrincipalIdealRing R :=

R : Type u_1
inst✝³ : Ring R
inst✝² : NoZeroDivisors R
inst✝¹ : CancelCommMonoidWithZero R
inst✝ : GCDMonoid R
h1 : ∀ (a b : R), a ≠ 0 → b ≠ 0 → ∃ r s, gcd a b = r * a + s * b
h2 : ∀ (a : ℕ → R), (∀ (i j : ℕ), i < j → a i ∣ a j) → ∃ N, ∀ n ≥ N, ∃ u, IsUnit u ∧ a n = u * a N
⊢ IsPrincipalIdealRing R


/-- Let $R=\mathbb{Z}[\sqrt{-n}]$ where $n$ is a squarefree integer greater than 3. Prove that $2, \sqrt{-n}$ and $1+\sqrt{-n}$ are irreducibles in $R$.-/

theorem exercise_8_3_5a {n : ℤ} (hn0 : n > 3) (hn1 : Squarefree n) :
  Irreducible (2 : Zsqrtd $ -n) ∧
  Irreducible (⟨0, 1⟩ : Zsqrtd $ -n) ∧
  Irreducible (1 + ⟨0, 1⟩ : Zsqrtd $ -n) :=

n : ℤ
hn0 : n > 3
hn1 : Squarefree n
⊢ Irreducible 2 ∧ Irreducible { re := 0, im := 1 } ∧ Irreducible (1 + { re := 0, im := 1 })


/-- Let $q \in \mathbb{Z}$ be a prime with $q \equiv 3 \bmod 4$. Prove that the quotient ring $\mathbb{Z}[i] /(q)$ is a field with $q^{2}$ elements.-/

theorem exercise_8_3_6b {q : ℕ} (hq0 : q.Prime)
  (hq1 : q ≡ 3 [ZMOD 4]) {R : Type} [Ring R]
  (hR : R = (GaussianInt ⧸ span ({↑q} : Set GaussianInt))) :
  IsField R ∧ ∃ finR : Fintype R, @card R finR = q^2 :=

q : ℕ
hq0 : q.Prime
hq1 : ↑q ≡ 3 [ZMOD 4]
R : Type
inst✝ : Ring R
hR : R = (GaussianInt ⧸ span {↑q})
⊢ IsField R ∧ ∃ finR, card R = q ^ 2


/-- Prove that the ring $\mathbb{Z}\left[x_{1}, x_{2}, x_{3}, \ldots\right] /\left(x_{1} x_{2}, x_{3} x_{4}, x_{5} x_{6}, \ldots\right)$ contains infinitely many minimal prime ideals.-/

theorem exercise_9_1_10 {f : ℕ → MvPolynomial ℕ ℤ}
  (hf : f = λ i => MvPolynomial.X i * MvPolynomial.X (i+1)):
  Infinite (minimalPrimes (MvPolynomial ℕ ℤ ⧸ span (range f))) :=

f : ℕ → MvPolynomial ℕ ℤ
hf : f = fun i => MvPolynomial.X i * MvPolynomial.X (i + 1)
⊢ Infinite ↑(minimalPrimes (MvPolynomial ℕ ℤ ⧸ span (range f)))


/-- Prove that $x^4-4x^3+6$ is irreducible in $\mathbb{Z}[x]$.-/

theorem exercise_9_4_2a : Irreducible (X^4 - 4*X^3 + 6 : Polynomial ℤ) :=


/-- Prove that $x^4+4x^3+6x^2+2x+1$ is irreducible in $\mathbb{Z}[x]$.-/

theorem exercise_9_4_2c : Irreducible
  (X^4 + 4*X^3 + 6*X^2 + 2*X + 1 : Polynomial ℤ) :=


/-- Prove that the polynomial $x^{2}-\sqrt{2}$ is irreducible over $\mathbb{Z}[\sqrt{2}]$. You may assume that $\mathbb{Z}[\sqrt{2}]$ is a U.F.D.-/

theorem exercise_9_4_9 :
  Irreducible (X^2 - C Zsqrtd.sqrtd : Polynomial (Zsqrtd 2)) :=


/-- Prove that as vector spaces over $\mathbb{Q}, \mathbb{R}^n \cong \mathbb{R}$, for all $n \in \mathbb{Z}^{+}$.-/

def exercise_11_1_13 {ι : Type*} [Fintype ι] :
  (ι → ℝ) ≃ₗ[ℚ] ℝ :=

ι : Type u_1
inst✝ : Fintype ι
⊢ (ι → ℝ) ≃ₗ[ℚ] ℝ


/-- Show that the collection $$\mathcal{T}_\infty = \{U | X - U \text{ is infinite or empty or all of X}\}$$ does not need to be a topology on the set $X$.-/

theorem exercise_13_3b : ¬ ∀ X : Type, ∀s : Set (Set X),
  (∀ t : Set X, t ∈ s → (Set.Infinite tᶜ ∨ t = ∅ ∨ t = ⊤)) →
  (Set.Infinite (⋃₀ s)ᶜ ∨ (⋃₀ s) = ∅ ∨ (⋃₀ s) = ⊤) :=

⊢ ¬∀ (X : Type) (s : Set (Set X)), (∀ t ∈ s, tᶜ.Infinite ∨ t = ∅ ∨ t = ⊤) → (⋃₀ s)ᶜ.Infinite ∨ ⋃₀ s = ∅ ∨ ⋃₀ s = ⊤

import Mathlib

open Filter Set TopologicalSpace
open scoped Topology


/-- If $\mathcal{T}_\alpha$ is a family of topologies on $X$, show that $\bigcup \mathcal{T}_\alpha$ does not need to be a topology on $X$.-/

theorem exercise_13_4a2 :
  ∃ (X I : Type*) (T : I → Set (Set X)),
  (∀ i, is_topology X (T i)) ∧ ¬  is_topology X (⋂ i : I, T i) :=

⊢ ∃ X I T, (∀ (i : I), is_topology X (T i)) ∧ ¬is_topology X (⋂ i, T i)

import Mathlib

open Filter Set TopologicalSpace
open scoped Topology

def is_topology (X : Type*) (T : Set (Set X)) :=
  univ ∈ T ∧
  (∀ s t, s ∈ T → t ∈ T → s ∩ t ∈ T) ∧
  (∀s, (∀t ∈ s, t ∈ T) → sUnion s ∈ T)


/-- Let $\mathcal{T}_\alpha$ be a family of topologies on $X$. Show that there is a unique largest topology on $X$ contained in all the collections $\mathcal{T}_\alpha$.-/

theorem exercise_13_4b2 (X I : Type*) (T : I → Set (Set X)) (h : ∀ i, is_topology X (T i)) :
  ∃! T', is_topology X T' ∧ (∀ i, T' ⊆ T i) ∧
  ∀ T'', is_topology X T'' → (∀ i, T'' ⊆ T i) → T' ⊆ T'' :=

X : Type u_1
I : Type u_2
T : I → Set (Set X)
h : ∀ (i : I), is_topology X (T i)
⊢ ∃! T',
    is_topology X T' ∧
      (∀ (i : I), T' ⊆ T i) ∧ ∀ (T'' : Set (Set X)), is_topology X T'' → (∀ (i : I), T'' ⊆ T i) → T' ⊆ T''


/-- Show that if $\mathcal{A}$ is a subbasis for a topology on $X$, then the topology generated by $\mathcal{A}$ equals the intersection of all topologies on $X$ that contain $\mathcal{A}$.-/

theorem exercise_13_5b {X : Type*}
  [t : TopologicalSpace X] (A : Set (Set X)) (hA : t = generateFrom A) :
  generateFrom A = generateFrom (sInter {T | is_topology X T ∧ A ⊆ T}) :=

X : Type u_1
t : TopologicalSpace X
A : Set (Set X)
hA : t = generateFrom A
⊢ generateFrom A = generateFrom (⋂₀ {T | is_topology X T ∧ A ⊆ T})


/-- Show that the collection $\{(a,b) \mid a < b, a \text{ and } b \text{ rational}\}$ is a basis that generates the standard topology on $\mathbb{R}$.-/

theorem exercise_13_8a :
  IsTopologicalBasis {S : Set ℝ | ∃ a b : ℚ, a < b ∧ S = Ioo ↑a ↑b} :=

⊢ IsTopologicalBasis {S | ∃ a b, a < b ∧ S = Ioo ↑a ↑b}


/-- Show that if $Y$ is a subspace of $X$, and $A$ is a subset of $Y$, then the topology $A$ inherits as a subspace of $Y$ is the same as the topology it inherits as a subspace of $X$.-/

theorem exercise_16_1 {X : Type*} [TopologicalSpace X]
  (Y : Set X)
  (A : Set Y) :
  ∀ U : Set A, IsOpen U ↔ IsOpen (Subtype.val '' U) :=

X : Type u_1
inst✝ : TopologicalSpace X
Y : Set X
A : Set ↑Y
⊢ ∀ (U : Set ↑A), IsOpen U ↔ IsOpen (Subtype.val '' U)


/-- Show that the countable collection \[\{(a, b) \times (c, d) \mid a < b \text{ and } c < d, \text{ and } a, b, c, d \text{ are rational}\}\] is a basis for $\mathbb{R}^2$.-/

theorem exercise_16_6
  (S : Set (Set (ℝ × ℝ)))
  (hS : ∀ s, s ∈ S → ∃ a b c d, (rational a ∧ rational b ∧ rational c ∧ rational d
  ∧ s = {x | ∃ x₁ x₂, x = (x₁, x₂) ∧ a < x₁ ∧ x₁ < b ∧ c < x₂ ∧ x₂ < d})) :
  IsTopologicalBasis S :=

S : Set (Set (ℝ × ℝ))
hS :
  ∀ s ∈ S,
    ∃ a b c d,
      rational a ∧
        rational b ∧ rational c ∧ rational d ∧ s = {x | ∃ x₁ x₂, x = (x₁, x₂) ∧ a < x₁ ∧ x₁ < b ∧ c < x₂ ∧ x₂ < d}
⊢ IsTopologicalBasis S

import Mathlib

open Filter Set TopologicalSpace
open scoped Topology

def rational (x : ℝ) := x ∈ range ((↑) : ℚ → ℝ)


/-- Let $Y$ be an ordered set in the order topology. Let $f, g: X \rightarrow Y$ be continuous. Show that the set $\{x \mid f(x) \leq g(x)\}$ is closed in $X$.-/

theorem exercise_18_8a {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y]
  [LinearOrder Y] [OrderTopology Y] {f g : X → Y}
  (hf : Continuous f) (hg : Continuous g) :
  IsClosed {x | f x ≤ g x} :=

X : Type u_1
Y : Type u_2
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : LinearOrder Y
inst✝ : OrderTopology Y
f g : X → Y
hf : Continuous f
hg : Continuous g
⊢ IsClosed {x | f x ≤ g x}


/-- Let $A \subset X$; let $f: A \rightarrow Y$ be continuous; let $Y$ be Hausdorff. Show that if $f$ may be extended to a continuous function $g: \bar{A} \rightarrow Y$, then $g$ is uniquely determined by $f$.-/

theorem exercise_18_13
  {X : Type*} [TopologicalSpace X] {Y : Type*} [TopologicalSpace Y]
  [T2Space Y] {A : Set X} {f : A → Y} (hf : Continuous f)
  (g : closure A → Y)
  (g_con : Continuous g) :
  ∀ (g' : closure A → Y), Continuous g' →  (∀ (x : closure A), g x = g' x) :=

X : Type u_1
inst✝² : TopologicalSpace X
Y : Type u_2
inst✝¹ : TopologicalSpace Y
inst✝ : T2Space Y
A : Set X
f : ↑A → Y
hf : Continuous f
g : ↑(closure A) → Y
g_con : Continuous g
⊢ ∀ (g' : ↑(closure A) → Y), Continuous g' → ∀ (x : ↑(closure A)), g x = g' x


/-- Show that $\mathbb{R} \times \mathbb{R}$ in the dictionary order topology is metrizable.-/

theorem exercise_20_2
  [TopologicalSpace (ℝ ×ₗ ℝ)] [OrderTopology (ℝ ×ₗ ℝ)]
  : MetrizableSpace (ℝ ×ₗ ℝ) :=

inst✝¹ : TopologicalSpace (Lex (ℝ × ℝ))
inst✝ : OrderTopology (Lex (ℝ × ℝ))
⊢ MetrizableSpace (Lex (ℝ × ℝ))


/-- Define $f_{n}:[0,1] \rightarrow \mathbb{R}$ by the equation $f_{n}(x)=x^{n}$. Show that the sequence $\left(f_{n}\right)$ does not converge uniformly.-/

theorem exercise_21_6b
  (f : ℕ → I → ℝ )
  (h : ∀ x n, f n x = x ^ n) :
  ¬ ∃ f₀, TendstoUniformly f f₀ atTop :=

f : ℕ → ↑I → ℝ
h : ∀ (x : ↑I) (n : ℕ), f n x = ↑x ^ n
⊢ ¬∃ f₀, TendstoUniformly f f₀ atTop

import Mathlib

open Filter Set TopologicalSpace
open scoped Topology

abbrev I : Set ℝ := Icc 0 1


/-- Let $p: X \rightarrow Y$ be a continuous map. Show that if there is a continuous map $f: Y \rightarrow X$ such that $p \circ f$ equals the identity map of $Y$, then $p$ is a quotient map.-/

theorem exercise_22_2a {X Y : Type*} [TopologicalSpace X]
  [TopologicalSpace Y] (p : X → Y) (h : Continuous p) :
  QuotientMap p ↔ ∃ (f : Y → X), Continuous f ∧ p ∘ f = id :=

X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
p : X → Y
h : Continuous p
⊢ QuotientMap p ↔ ∃ f, Continuous f ∧ p ∘ f = id


/-- Let $p \colon X \rightarrow Y$ be an open map. Show that if $A$ is open in $X$, then the map $q \colon A \rightarrow p(A)$ obtained by restricting $p$ is an open map.-/

theorem exercise_22_5 {X Y : Type*} [TopologicalSpace X]
  [TopologicalSpace Y] (p : X → Y) (hp : IsOpenMap p)
  (A : Set X) (hA : IsOpen A) : IsOpenMap (p ∘ Subtype.val : A → Y) :=

X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
p : X → Y
hp : IsOpenMap p
A : Set X
hA : IsOpen A
⊢ IsOpenMap (p ∘ Subtype.val)


/-- Let $\left\{A_{\alpha}\right\}$ be a collection of connected subspaces of $X$; let $A$ be a connected subset of $X$. Show that if $A \cap A_{\alpha} \neq \varnothing$ for all $\alpha$, then $A \cup\left(\bigcup A_{\alpha}\right)$ is connected.-/

theorem exercise_23_3 {X : Type*} [TopologicalSpace X]
  [TopologicalSpace X] {A : ℕ → Set X}
  (hAn : ∀ n, IsConnected (A n))
  (A₀ : Set X)
  (hA : IsConnected A₀)
  (h : ∀ n, A₀ ∩ A n ≠ ∅) :
  IsConnected (A₀ ∪ (⋃ n, A n)) :=

X : Type u_1
inst✝¹ inst✝ : TopologicalSpace X
A : ℕ → Set X
hAn : ∀ (n : ℕ), IsConnected (A n)
A₀ : Set X
hA : IsConnected A₀
h : ∀ (n : ℕ), A₀ ∩ A n ≠ ∅
⊢ IsConnected (A₀ ∪ ⋃ n, A n)


/-- Let $A \subset X$. Show that if $C$ is a connected subspace of $X$ that intersects both $A$ and $X-A$, then $C$ intersects $\operatorname{Bd} A$.-/

theorem exercise_23_6 {X : Type*}
  [TopologicalSpace X] {A C : Set X} (hc : IsConnected C)
  (hCA : C ∩ A ≠ ∅) (hCXA : C ∩ Aᶜ ≠ ∅) :
  C ∩ (frontier A) ≠ ∅ :=

X : Type u_1
inst✝ : TopologicalSpace X
A C : Set X
hc : IsConnected C
hCA : C ∩ A ≠ ∅
hCXA : C ∩ Aᶜ ≠ ∅
⊢ C ∩ frontier A ≠ ∅


/-- Let $p: X \rightarrow Y$ be a quotient map. Show that if each set $p^{-1}(\{y\})$ is connected, and if $Y$ is connected, then $X$ is connected.-/

theorem exercise_23_11 {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y]
  (p : X → Y) (hq : QuotientMap p)
  (hY : ConnectedSpace Y) (hX : ∀ y : Y, IsConnected (p ⁻¹' {y})) :
  ConnectedSpace X :=

X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
p : X → Y
hq : QuotientMap p
hY : ConnectedSpace Y
hX : ∀ (y : Y), IsConnected (p ⁻¹' {y})
⊢ ConnectedSpace X


/-- Let $f \colon X \rightarrow X$ be continuous. Show that if $X = [0, 1]$, there is a point $x$ such that $f(x) = x$. (The point $x$ is called a fixed point of $f$.)-/

theorem exercise_24_3a [TopologicalSpace I] [CompactSpace I]
  (f : I → I) (hf : Continuous f) :
  ∃ (x : I), f x = x :=

I : Type u_1
inst✝¹ : TopologicalSpace I
inst✝ : CompactSpace I
f : I → I
hf : Continuous f
⊢ ∃ x, f x = x


/-- Let $G$ be a topological group; let $C$ be the component of $G$ containing the identity element $e$. Show that $C$ is a normal subgroup of $G$.-/

theorem exercise_25_9 {G : Type*} [TopologicalSpace G] [Group G]
  [TopologicalGroup G] (C : Set G) (h : C = connectedComponent 1) :
  IsNormalSubgroup C :=

G : Type u_1
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
C : Set G
h : C = connectedComponent 1
⊢ IsNormalSubgroup C


/-- Let $p: X \rightarrow Y$ be a closed continuous surjective map such that $p^{-1}(\{y\})$ is compact, for each $y \in Y$. (Such a map is called a perfect map.) Show that if $Y$ is compact, then $X$ is compact.-/

theorem exercise_26_12 {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y]
  (p : X → Y) (h : Function.Surjective p) (hc : Continuous p) (hp : ∀ y, IsCompact (p ⁻¹' {y}))
  (hY : CompactSpace Y) : CompactSpace X :=

X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
p : X → Y
h : Function.Surjective p
hc : Continuous p
hp : ∀ (y : Y), IsCompact (p ⁻¹' {y})
hY : CompactSpace Y
⊢ CompactSpace X


/-- A space $X$ is said to be countably compact if every countable open covering of $X$ contains a finite subcollection that covers $X$. Show that for a $T_1$ space $X$, countable compactness is equivalent to limit point compactness.-/

theorem exercise_28_4 {X : Type*}
  [TopologicalSpace X] (hT1 : T1Space X) :
  countably_compact X ↔ limit_point_compact X :=

X : Type u_1
inst✝ : TopologicalSpace X
hT1 : T1Space X
⊢ countably_compact X ↔ limit_point_compact X

import Mathlib

open Filter Set TopologicalSpace
open scoped Topology

def countably_compact (X : Type*) [TopologicalSpace X] :=
  ∀ U : ℕ → Set X,
  (∀ i, IsOpen (U i)) ∧ ((univ : Set X) ⊆ ⋃ i, U i) →
  (∃ t : Finset ℕ, (univ : Set X) ⊆ ⋃ i ∈ t, U i)

def limit_point_compact (X : Type*) [TopologicalSpace X] :=
  ∀ U : Set X, Infinite U → ∃ x ∈ U, ClusterPt x (𝓟 U)


/-- Let $(X, d)$ be a metric space. If $f: X \rightarrow X$ satisfies the condition $d(f(x), f(y))=d(x, y)$ for all $x, y \in X$, then $f$ is called an isometry of $X$. Show that if $f$ is an isometry and $X$ is compact, then $f$ is bijective and hence a homeomorphism.-/

theorem exercise_28_6 {X : Type*} [MetricSpace X]
  [CompactSpace X] {f : X → X} (hf : Isometry f) :
  Function.Bijective f :=

X : Type u_1
inst✝¹ : MetricSpace X
inst✝ : CompactSpace X
f : X → X
hf : Isometry f
⊢ Function.Bijective f


/-- Show that $[0, 1]^\omega$ is not locally compact in the uniform topology.-/

theorem exercise_29_4 [TopologicalSpace (ℕ → I)] :
  ¬ LocallyCompactSpace (ℕ → I) :=

inst✝ : TopologicalSpace (ℕ → ↑I)
⊢ ¬LocallyCompactSpace (ℕ → ↑I)


/-- Show that if $X$ is a countable product of spaces having countable dense subsets, then $X$ has a countable dense subset.-/

theorem exercise_30_10
  {X : ℕ → Type*} [∀ i, TopologicalSpace (X i)]
  (h : ∀ i, ∃ (s : Set (X i)), Countable s ∧ Dense s) :
  ∃ (s : Set (Π i, X i)), Countable s ∧ Dense s :=

X : ℕ → Type u_1
inst✝ : (i : ℕ) → TopologicalSpace (X i)
h : ∀ (i : ℕ), ∃ s, Countable ↑s ∧ Dense s
⊢ ∃ s, Countable ↑s ∧ Dense s


/-- Show that if $X$ is regular, every pair of points of $X$ have neighborhoods whose closures are disjoint.-/

theorem exercise_31_1 {X : Type*} [TopologicalSpace X]
  (hX : RegularSpace X) (x y : X) :
  ∃ (U V : Set X), IsOpen U ∧ IsOpen V ∧ x ∈ U ∧ y ∈ V ∧ closure U ∩ closure V = ∅ :=

X : Type u_1
inst✝ : TopologicalSpace X
hX : RegularSpace X
x y : X
⊢ ∃ U V, IsOpen U ∧ IsOpen V ∧ x ∈ U ∧ y ∈ V ∧ closure U ∩ closure V = ∅


/-- Show that every order topology is regular.-/

theorem exercise_31_3 {α : Type*} [PartialOrder α]
  [TopologicalSpace α] (h : OrderTopology α) : RegularSpace α :=

α : Type u_1
inst✝¹ : PartialOrder α
inst✝ : TopologicalSpace α
h : OrderTopology α
⊢ RegularSpace α


/-- Show that if $\prod X_\alpha$ is Hausdorff, then so is $X_\alpha$. Assume that each $X_\alpha$ is nonempty.-/

theorem exercise_32_2a
  {ι : Type*} {X : ι → Type*} [∀ i, TopologicalSpace (X i)]
  (h : ∀ i, Nonempty (X i)) (h2 : T2Space (Π i, X i)) :
  ∀ i, T2Space (X i) :=

ι : Type u_1
X : ι → Type u_2
inst✝ : (i : ι) → TopologicalSpace (X i)
h : ∀ (i : ι), Nonempty (X i)
h2 : T2Space ((i : ι) → X i)
⊢ ∀ (i : ι), T2Space (X i)


/-- Show that if $\prod X_\alpha$ is normal, then so is $X_\alpha$. Assume that each $X_\alpha$ is nonempty.-/

theorem exercise_32_2c
  {ι : Type*} {X : ι → Type*} [∀ i, TopologicalSpace (X i)]
  (h : ∀ i, Nonempty (X i)) (h2 : NormalSpace (Π i, X i)) :
  ∀ i, NormalSpace (X i) :=

ι : Type u_1
X : ι → Type u_2
inst✝ : (i : ι) → TopologicalSpace (X i)
h : ∀ (i : ι), Nonempty (X i)
h2 : NormalSpace ((i : ι) → X i)
⊢ ∀ (i : ι), NormalSpace (X i)


/-- Show that every locally compact Hausdorff space is completely regular.-/

theorem exercise_33_7 {X : Type*} [TopologicalSpace X]
  (hX : LocallyCompactSpace X) (hX' : T2Space X) :
  ∀ x A, IsClosed A ∧ ¬ x ∈ A →
  ∃ (f : X → I), Continuous f ∧ f x = 1 ∧ f '' A = {0} :=

X : Type u_1
inst✝ : TopologicalSpace X
hX : LocallyCompactSpace X
hX' : T2Space X
⊢ ∀ (x : X) (A : Set X), IsClosed A ∧ x ∉ A → ∃ f, Continuous f ∧ f x = 1 ∧ f '' A = {0}


/-- Let $X$ be a compact Hausdorff space that is the union of the closed subspaces $X_1$ and $X_2$. If $X_1$ and $X_2$ are metrizable, show that $X$ is metrizable.-/

theorem exercise_34_9
  (X : Type*) [TopologicalSpace X] [CompactSpace X]
  (X1 X2 : Set X) (hX1 : IsClosed X1) (hX2 : IsClosed X2)
  (hX : X1 ∪ X2 = univ) (hX1m : MetrizableSpace X1)
  (hX2m : MetrizableSpace X2) : MetrizableSpace X :=

X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : CompactSpace X
X1 X2 : Set X
hX1 : IsClosed X1
hX2 : IsClosed X2
hX : X1 ∪ X2 = univ
hX1m : MetrizableSpace ↑X1
hX2m : MetrizableSpace ↑X2
⊢ MetrizableSpace X


/-- Let $(X, d_X)$ and $(Y, d_Y)$ be metric spaces; let $Y$ be complete. Let $A \subset X$. Show that if $f \colon A \rightarrow Y$ is uniformly continuous, then $f$ can be uniquely extended to a continuous function $g \colon \bar{A} \rightarrow Y$, and $g$ is uniformly continuous.-/

theorem exercise_43_2 {X : Type*} [MetricSpace X]
  {Y : Type*} [MetricSpace Y] [CompleteSpace Y] (A : Set X)
  (f : X → Y) (hf : UniformContinuousOn f A) :
  ∃! (g : X → Y), ContinuousOn g (closure A) ∧
  UniformContinuousOn g (closure A) ∧ ∀ (x : A), g x = f x :=

X : Type u_1
inst✝² : MetricSpace X
Y : Type u_2
inst✝¹ : MetricSpace Y
inst✝ : CompleteSpace Y
A : Set X
f : X → Y
hf : UniformContinuousOn f A
⊢ ∃! g, ContinuousOn g (closure A) ∧ UniformContinuousOn g (closure A) ∧ ∀ (x : ↑A), g ↑x = f ↑x


/-- Prove that $\frac{1}{2}+\frac{1}{3}+\cdots+\frac{1}{n}$ is not an integer.-/

theorem exercise_1_30 {n : ℕ} :
  ¬ ∃ a : ℤ, ∑ i : Fin n, (1 : ℚ) / (n+2) = a :=

n : ℕ
⊢ ¬∃ a, ∑ i : Fin n, 1 / (↑n + 2) = ↑a

import Mathlib

open Real
open scoped BigOperators


/-- If $a$ is a nonzero integer, then for $n>m$ show that $\left(a^{2^{n}}+1, a^{2^{m}}+1\right)=1$ or 2 depending on whether $a$ is odd or even.-/

theorem exercise_2_4 {a : ℤ} (ha : a ≠ 0)
  (f_a := λ n m : ℕ => Int.gcd (a^(2^n) + 1) (a^(2^m)+1)) {n m : ℕ}
  (hnm : n > m) :
  (Odd a → f_a n m = 1) ∧ (Even a → f_a n m = 2) :=

a : ℤ
ha : a ≠ 0
f_a : optParam (ℕ → ℕ → ℕ) fun n m => (a ^ 2 ^ n + 1).gcd (a ^ 2 ^ m + 1)
n m : ℕ
hnm : n > m
⊢ (Odd a → f_a n m = 1) ∧ (Even a → f_a n m = 2)


/-- Show that $\sum^{\prime} 1 / n$, the sum being over square free integers, diverges.-/

theorem exercise_2_27a :
  ¬ Summable (λ i : {p : ℤ // Squarefree p} => (1 : ℚ) / i) :=


/-- Show that the equation $3 x^{2}+2=y^{2}$ has no solution in integers.-/

theorem exercise_3_4 : ¬ ∃ x y : ℤ, 3*x^2 + 2 = y^2 :=


/-- If $n$ is not a prime, show that $(n-1) ! \equiv 0(n)$, except when $n=4$.-/

theorem exercise_3_10 {n : ℕ} (hn0 : ¬ n.Prime) (hn1 : n ≠ 4) :
  Nat.factorial (n-1) ≡ 0 [MOD n] :=

n : ℕ
hn0 : ¬n.Prime
hn1 : n ≠ 4
⊢ (n - 1).factorial ≡ 0 [MOD n]


/-- Consider a prime $p$ of the form $4 t+1$. Show that $a$ is a primitive root modulo $p$ iff $-a$ is a primitive root modulo $p$.-/

theorem exercise_4_4 {p t: ℕ} (hp0 : p.Prime) (hp1 : p = 4*t + 1)
  (a : ZMod p) :
  IsPrimitiveRoot a p ↔ IsPrimitiveRoot (-a) p :=

p t : ℕ
hp0 : p.Prime
hp1 : p = 4 * t + 1
a : ZMod p
⊢ IsPrimitiveRoot a p ↔ IsPrimitiveRoot (-a) p


/-- If $p=2^{n}+1$ is a Fermat prime, show that 3 is a primitive root modulo $p$.-/

theorem exercise_4_6 {p n : ℕ} (hp : p.Prime) (hpn : p = 2^n + 1) :
  IsPrimitiveRoot 3 p :=

p n : ℕ
hp : p.Prime
hpn : p = 2 ^ n + 1
⊢ IsPrimitiveRoot 3 p


theorem exercise_4_11 {p : ℕ} (hp : p.Prime) (k s: ℕ)
  (s := ∑ n : Fin p, (n : ℕ) ^ k) :
  ((¬ p - 1 ∣ k) → s ≡ 0 [MOD p]) ∧ (p - 1 ∣ k → s ≡ 0 [MOD p]) :=

p : ℕ
hp : p.Prime
k s✝ : ℕ
s : optParam ℕ (∑ n : Fin p, ↑n ^ k)
⊢ (¬p - 1 ∣ k → s ≡ 0 [MOD p]) ∧ (p - 1 ∣ k → s ≡ 0 [MOD p])


/-- Show that $x^{4} \equiv 2(p)$ has a solution for $p \equiv 1(4)$ iff $p$ is of the form $A^{2}+64 B^{2}$.-/

theorem exercise_5_28 {p : ℕ} (hp : p.Prime) (hp1 : p ≡ 1 [MOD 4]):
  ∃ x, x^4 ≡ 2 [MOD p] ↔ ∃ A B, p = A^2 + 64*B^2 :=

p : ℕ
hp : p.Prime
hp1 : p ≡ 1 [MOD 4]
⊢ ∃ x, x ^ 4 ≡ 2 [MOD p] ↔ ∃ A B, p = A ^ 2 + 64 * B ^ 2


/-- Show that $\sin (\pi / 12)$ is an algebraic number.-/

theorem exercise_12_12 : IsAlgebraic ℚ (sin (Real.pi/12)) :=


/-- Let $f: \mathbb{R} \rightarrow \mathbb{R}$ be an infinitely differentiable function satisfying $f(0)=0, f(1)=1$, and $f(x) \geq 0$ for all $x \in$ $\mathbb{R}$. Show that there exist a positive integer $n$ and a real number $x$ such that $f^{(n)}(x)<0$.-/

theorem exercise_2018_a5 (f : ℝ → ℝ) (hf : ContDiff ℝ ⊤ f)
  (hf0 : f 0 = 0) (hf1 : f 1 = 1) (hf2 : ∀ x, f x ≥ 0) :
  ∃ (n : ℕ) (x : ℝ), iteratedDeriv n f x = 0 :=

f : ℝ → ℝ
hf : ContDiff ℝ ⊤ f
hf0 : f 0 = 0
hf1 : f 1 = 1
hf2 : ∀ (x : ℝ), f x ≥ 0
⊢ ∃ n x, iteratedDeriv n f x = 0

import Mathlib

open scoped BigOperators


/-- Given a real number $a$, we define a sequence by $x_{0}=1$, $x_{1}=x_{2}=a$, and $x_{n+1}=2 x_{n} x_{n-1}-x_{n-2}$ for $n \geq 2$. Prove that if $x_{n}=0$ for some $n$, then the sequence is periodic.-/

theorem exercise_2018_b4 (a : ℝ) (x : ℕ → ℝ) (hx0 : x 0 = a)
  (hx1 : x 1 = a)
  (hxn : ∀ n : ℕ, n ≥ 2 → x (n+1) = 2*(x n)*(x (n-1)) - x (n-2))
  (h : ∃ n, x n = 0) :
  ∃ c, Function.Periodic x c :=

a : ℝ
x : ℕ → ℝ
hx0 : x 0 = a
hx1 : x 1 = a
hxn : ∀ n ≥ 2, x (n + 1) = 2 * x n * x (n - 1) - x (n - 2)
h : ∃ n, x n = 0
⊢ ∃ c, Function.Periodic x c


theorem exercise_2014_a5 (P : ℕ → Polynomial ℤ)
  (hP : ∀ n, P n = ∑ i : Fin n, (n+1) * Polynomial.X ^ n) :
  ∀ (j k : ℕ), j ≠ k → IsCoprime (P j) (P k) :=

P : ℕ → Polynomial ℤ
hP : ∀ (n : ℕ), P n = ∑ i : Fin n, (↑n + 1) * Polynomial.X ^ n
⊢ ∀ (j k : ℕ), j ≠ k → IsCoprime (P j) (P k)


/-- Prove that there are unique positive integers $a, n$ such that $a^{n+1}-(a+1)^n=2001$.-/


/-- Let $f$ be a real function with a continuous third derivative such that $f(x), f^{\prime}(x), f^{\prime \prime}(x), f^{\prime \prime \prime}(x)$ are positive for all $x$. Suppose that $f^{\prime \prime \prime}(x) \leq f(x)$ for all $x$. Show that $f^{\prime}(x)<2 f(x)$ for all $x$.-/

theorem exercise_1999_b4 (f : ℝ → ℝ) (hf: ContDiff ℝ 3 f)
  (hf1 : ∀ n ≤ 3, ∀ x : ℝ, iteratedDeriv n f x > 0)
  (hf2 : ∀ x : ℝ, iteratedDeriv 3 f x ≤ f x) :
  ∀ x : ℝ, deriv f x < 2 * f x :=

f : ℝ → ℝ
hf : ContDiff ℝ 3 f
hf1 : ∀ n ≤ 3, ∀ (x : ℝ), iteratedDeriv n f x > 0
hf2 : ∀ (x : ℝ), iteratedDeriv 3 f x ≤ f x
⊢ ∀ (x : ℝ), deriv f x < 2 * f x


/-- Prove that, for any integers $a, b, c$, there exists a positive integer $n$ such that $\sqrt{n^3+a n^2+b n+c}$ is not an integer.-/

theorem exercise_1998_b6 (a b c : ℤ) :
  ∃ n : ℤ, n > 0 ∧ ¬ ∃ m : ℤ, Real.sqrt (n^3 + a*n^2 + b*n + c) = m :=

a b c : ℤ
⊢ ∃ n > 0, ¬∃ m, √(↑n ^ 3 + ↑a * ↑n ^ 2 + ↑b * ↑n + ↑c) = ↑m