Archimedean property and consistent theorem environment.

finite-set-exercises
Joshua Potter 2023-04-09 16:27:34 -06:00
parent b8d754ea5e
commit b7a0ce1551
7 changed files with 118 additions and 1 deletions

View File

@ -3,6 +3,11 @@
\usepackage{hyperref}
\newtheorem{theorem}{Theorem}
\newtheorem{custominner}{Theorem}
\newenvironment{custom}[1]{%
\renewcommand\thecustominner{#1}%
\custominner
}{\endcustominner}
\begin{document}

View File

@ -3,6 +3,11 @@
\usepackage{hyperref}
\newtheorem{theorem}{Theorem}
\newtheorem{custominner}{Theorem}
\newenvironment{custom}[1]{%
\renewcommand\thecustominner{#1}%
\custominner
}{\endcustominner}
\begin{document}

View File

@ -3,6 +3,11 @@
\usepackage{hyperref}
\newtheorem{theorem}{Theorem}
\newtheorem{custominner}{Theorem}
\newenvironment{custom}[1]{%
\renewcommand\thecustominner{#1}%
\custominner
}{\endcustominner}
\begin{document}

View File

@ -1 +1 @@
def hello := "world"
import Apostol.Chapter_I_3_10

View File

@ -0,0 +1,60 @@
import Mathlib.Data.PNat.Basic
import Mathlib.Data.Real.Basic
import Mathlib.Order.Basic
import Mathlib.Tactic.LibrarySearch
#check Archimedean
namespace Real
/--
Every real should be less than or equal to the absolute value of its ceiling.
-/
lemma leq_nat_abs_ceil_self (x : ) : x ≤ Int.natAbs ⌈x⌉ := by
by_cases h : x ≥ 0
· let k : := ⌈x⌉
unfold Int.natAbs
have k' : k = ⌈x⌉ := rfl
rw [←k']
have _ : k ≥ 0 := by -- Hint for match below
rw [k', ge_iff_le]
exact Int.ceil_nonneg (ge_iff_le.mp h)
match k with
| Int.ofNat m => calc x
_ ≤ ⌈x⌉ := Int.le_ceil x
_ = Int.ofNat m := by rw [←k']
· have h' : ((Int.natAbs ⌈x⌉) : ) ≥ 0 := by simp
calc x
_ ≤ 0 := le_of_lt (lt_of_not_le h)
_ ≤ ↑(Int.natAbs ⌈x⌉) := GE.ge.le h'
/--
Theorem 1.29
For every real `x` there exists a positive integer `n` such that `n > x`.
-/
theorem exists_pnat_geq_self (x : ) : ∃ n : +, ↑n > x := by
let x' : + := ⟨Int.natAbs ⌈x⌉ + 1, by simp⟩
have h : x < x' := calc x
_ ≤ Int.natAbs ⌈x⌉ := leq_nat_abs_ceil_self x
_ < ↑↑(Int.natAbs ⌈x⌉ + 1) := by simp
_ = x' := rfl
exact ⟨x', h⟩
/--
Theorem 1.30
If `x > 0` and if `y` is an arbitrary real number, there exists a positive
integer `n` such that `nx > y`.
This is known as the *Archimedean Property of the Reals*.
-/
theorem pos_imp_exists_pnat_mul_self_geq {x y : }
: x > 0 → ∃ n : +, n * x > y := by
intro hx
let ⟨n, p⟩ := exists_pnat_geq_self (y / x)
have p' := mul_lt_mul_of_pos_right p hx
rw [div_mul, div_self (show x ≠ 0 from LT.lt.ne' hx), div_one] at p'
exact ⟨n, p'⟩
end Real

View File

@ -0,0 +1,38 @@
\documentclass{article}
\usepackage{amsfonts, amsthm}
\usepackage{hyperref}
\newtheorem{theorem}{Theorem}
\newtheorem{custominner}{Theorem}
\newenvironment{custom}[1]{%
\renewcommand\thecustominner{#1}%
\custominner
}{\endcustominner}
\begin{document}
\begin{custom}{1.29}
For every real $x$ there exists a positive integer $n$ such that $n > x$.
\end{custom}
\begin{proof}
\href{Chapter_I_3_10.lean}{Apostol.Chapter\_I\_3\_10.Real.exists\_pnat\_geq\_self}
\end{proof}
\begin{custom}{1.30}[Archimedean Property of the Reals]
If $x > 0$ and if $y$ is an arbitrary real number, there exists a positive integer $n$ such that $nx > y$.
\end{custom}
\begin{proof}
\href{Chapter_I_3_10.lean}{Apostol.Chapter\_I\_3\_10.Real.pos\_imp\_exists\_pnat\_mul\_self\_geq}
\end{proof}
\end{document}

View File

@ -0,0 +1,4 @@
# One-Variable Calculus, with an Introduction to Linear Algebra
Apostol, Tom M. Calculus, Vol. 1: One-Variable Calculus, with an Introduction to
Linear Algebra. 2nd ed. Vol. 1. 2 vols. Wiley, 1991.