Аналіз I, Додаток A.3
Деякі приклади доказів
Твердження A.3.1
example {A B C D: Prop} (hAC: A → C) (hCD: C → D) (hDB: D → B): A → B := A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → B⊢ A → B
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:A⊢ B
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:C⊢ B
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:D⊢ B
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:B⊢ B
All goals completed! 🐙
Твердження A.3.2
example {x:ℝ} : x = Real.pi → Real.sin (x/2) + 1 = 2 := x:ℝ⊢ x = Real.pi → Real.sin (x / 2) + 1 = 2
x:ℝh:x = Real.pi⊢ Real.sin (x / 2) + 1 = 2
x:ℝh:x / 2 = Real.pi / 2⊢ Real.sin (x / 2) + 1 = 2
x:ℝh:Real.sin (x / 2) = Real.sin (Real.pi / 2)⊢ Real.sin (x / 2) + 1 = 2
x:ℝh:Real.sin (x / 2) = 1⊢ Real.sin (x / 2) + 1 = 2
x:ℝh:Real.sin (x / 2) + 1 = 1 + 1⊢ Real.sin (x / 2) + 1 = 2
x:ℝh:Real.sin (x / 2) + 1 = 1 + 1⊢ 2 = 1 + 1
All goals completed! 🐙
Твердження A.3.1, альтернативний доказ
example {A B C D: Prop} (hAC: A → C) (hCD: C → D) (hDB: D → B): A → B := A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → B⊢ A → B
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:A⊢ B
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:AhD:D⊢ BA:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:A⊢ D
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:AhD:D⊢ B All goals completed! 🐙
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:AhC:C⊢ DA:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:A⊢ C
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:AhC:C⊢ D All goals completed! 🐙
All goals completed! 🐙
Твердження A.3.2, альтернативний доказ
example {x:ℝ} : x = Real.pi → Real.sin (x/2) + 1 = 2 := x:ℝ⊢ x = Real.pi → Real.sin (x / 2) + 1 = 2
x:ℝh:x = Real.pi⊢ Real.sin (x / 2) + 1 = 2
x:ℝh:x = Real.pih1:Real.sin (x / 2) = 1⊢ Real.sin (x / 2) + 1 = 2x:ℝh:x = Real.pi⊢ Real.sin (x / 2) = 1
x:ℝh:x = Real.pih1:Real.sin (x / 2) = 1⊢ Real.sin (x / 2) + 1 = 2 x:ℝh:x = Real.pih1:Real.sin (x / 2) = 1⊢ 1 + 1 = 2
All goals completed! 🐙
x:ℝh:x = Real.pih2:x / 2 = Real.pi / 2⊢ Real.sin (x / 2) = 1x:ℝh:x = Real.pi⊢ x / 2 = Real.pi / 2
x:ℝh:x = Real.pih2:x / 2 = Real.pi / 2⊢ Real.sin (x / 2) = 1 All goals completed! 🐙
All goals completed! 🐙
Твердження A.3.3
example {r:ℝ} (h: 0 < r) (h': r < 1) : Summable (fun n:ℕ ↦ n * r^n) := r:ℝh:0 < rh':r < 1⊢ Summable fun n => ↑n * r ^ n
r:ℝh:0 < rh':r < 1⊢ ∀ᶠ (n : ℕ) in Filter.atTop, ↑n * r ^ n ≠ 0r:ℝh:0 < rh':r < 1⊢ Filter.Tendsto (fun n => ‖↑(n + 1) * r ^ (n + 1)‖ / ‖↑n * r ^ n‖) Filter.atTop (nhds r)
r:ℝh:0 < rh':r < 1⊢ ∀ᶠ (n : ℕ) in Filter.atTop, ↑n * r ^ n ≠ 0 r:ℝh:0 < rh':r < 1⊢ ∃ a, ∀ (b : ℕ), a ≤ b → ¬b = 0 ∧ (r = 0 → b = 0)
r:ℝh:0 < rh':r < 1⊢ ∀ (b : ℕ), 1 ≤ b → ¬b = 0 ∧ (r = 0 → b = 0)
r:ℝh:0 < rh':r < 1b:ℕhb:1 ≤ b⊢ ¬b = 0 ∧ (r = 0 → b = 0)
All goals completed! 🐙
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)⊢ Filter.Tendsto (fun n => ‖↑(n + 1) * r ^ (n + 1)‖ / ‖↑n * r ^ n‖) Filter.atTop (nhds r)r:ℝh:0 < rh':r < 1⊢ Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)⊢ Filter.Tendsto (fun n => ‖↑(n + 1) * r ^ (n + 1)‖ / ‖↑n * r ^ n‖) Filter.atTop (nhds r) r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)⊢ (fun n => r * ((↑n + 1) / ↑n)) =ᶠ[Filter.atTop] fun n => ‖↑(n + 1) * r ^ (n + 1)‖ / ‖↑n * r ^ n‖
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)⊢ ∃ a, ∀ (b : ℕ), a ≤ b → r * ((↑b + 1) / ↑b) = |↑b + 1| * |r| ^ (b + 1) / (↑b * |r| ^ b)
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)⊢ ∀ (b : ℕ), 1 ≤ b → r * ((↑b + 1) / ↑b) = |↑b + 1| * |r| ^ (b + 1) / (↑b * |r| ^ b)
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)b:ℕhb:1 ≤ b⊢ r * ((↑b + 1) / ↑b) = |↑b + 1| * |r| ^ (b + 1) / (↑b * |r| ^ b)
have : b > 0 := r:ℝh:0 < rh':r < 1⊢ Summable fun n => ↑n * r ^ n All goals completed! 🐙
have hb1 : (b+1:ℝ) > 0 := r:ℝh:0 < rh':r < 1⊢ Summable fun n => ↑n * r ^ n All goals completed! 🐙
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)b:ℕhb:1 ≤ bthis:b > 0hb1:↑b + 1 > 0⊢ r * ((↑b + 1) / ↑b) = (↑b + 1) * r ^ (b + 1) / (↑b * r ^ b)
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)b:ℕhb:1 ≤ bthis:b > 0hb1:↑b + 1 > 0⊢ r * (↑b + 1) * (↑b * r ^ b) = (↑b + 1) * r ^ (b + 1) * ↑b
All goals completed! 🐙
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => (↑n + 1) / ↑n) Filter.atTop (nhds 1)⊢ Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r)r:ℝh:0 < rh':r < 1⊢ Filter.Tendsto (fun n => (↑n + 1) / ↑n) Filter.atTop (nhds 1)
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => (↑n + 1) / ↑n) Filter.atTop (nhds 1)⊢ Filter.Tendsto (fun n => r * ((↑n + 1) / ↑n)) Filter.atTop (nhds r) r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => (↑n + 1) / ↑n) Filter.atTop (nhds 1)⊢ r = r * 1
All goals completed! 🐙
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => 1 + 1 / ↑n) Filter.atTop (nhds 1)⊢ Filter.Tendsto (fun n => (↑n + 1) / ↑n) Filter.atTop (nhds 1)r:ℝh:0 < rh':r < 1⊢ Filter.Tendsto (fun n => 1 + 1 / ↑n) Filter.atTop (nhds 1)
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => 1 + 1 / ↑n) Filter.atTop (nhds 1)⊢ Filter.Tendsto (fun n => (↑n + 1) / ↑n) Filter.atTop (nhds 1) r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => 1 + 1 / ↑n) Filter.atTop (nhds 1)⊢ (fun n => 1 + 1 / ↑n) =ᶠ[Filter.atTop] fun n => (↑n + 1) / ↑n
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => 1 + 1 / ↑n) Filter.atTop (nhds 1)⊢ ∃ a, ∀ (b : ℕ), a ≤ b → 1 + (↑b)⁻¹ = (↑b + 1) / ↑b
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => 1 + 1 / ↑n) Filter.atTop (nhds 1)⊢ ∀ (b : ℕ), 1 ≤ b → 1 + (↑b)⁻¹ = (↑b + 1) / ↑b
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => 1 + 1 / ↑n) Filter.atTop (nhds 1)b:ℕhb:1 ≤ b⊢ 1 + (↑b)⁻¹ = (↑b + 1) / ↑b
have : (b:ℝ) > 0 := r:ℝh:0 < rh':r < 1⊢ Summable fun n => ↑n * r ^ n All goals completed! 🐙
All goals completed! 🐙
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => 1 / ↑n) Filter.atTop (nhds 0)⊢ Filter.Tendsto (fun n => 1 + 1 / ↑n) Filter.atTop (nhds 1)r:ℝh:0 < rh':r < 1⊢ Filter.Tendsto (fun n => 1 / ↑n) Filter.atTop (nhds 0)
r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => 1 / ↑n) Filter.atTop (nhds 0)⊢ Filter.Tendsto (fun n => 1 + 1 / ↑n) Filter.atTop (nhds 1) r:ℝh:0 < rh':r < 1hconv:Filter.Tendsto (fun n => 1 / ↑n) Filter.atTop (nhds 0)⊢ 1 = 1 + 0
All goals completed! 🐙
All goals completed! 🐙
Твердження A.3.1, третій доказ
example {A B C D: Prop} (hAC: A → C) (hCD: C → D) (hDB: D → B): A → B := A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → B⊢ A → B
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:A⊢ B
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:AhD:D⊢ BA:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:A⊢ D
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:AhD:D⊢ B All goals completed! 🐙
A:PropB:PropC:PropD:ProphAC:A → ChCD:C → DhDB:D → Bh:AhC:C⊢ D
All goals completed! 🐙
Твердження A.3.4
example {A B C D E F G H I:Prop} (hAE: A → E) (hEB: E ∧ B → F) (hADG : A → G → D) (hHI: H ∨ I) (hFHC : F ∧ H → C) (hAHG : A ∧ H → G) (hIG: I → G) (hIGC: G → C) : A ∧ B → C ∧ D := A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhHI:H ∨ IhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → C⊢ A ∧ B → C ∧ D
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhHI:H ∨ IhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:B⊢ C ∧ D
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhHI:H ∨ IhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:E⊢ C ∧ D
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhHI:H ∨ IhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:F⊢ C ∧ D
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhHI:H ∨ IhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhCG:C ∧ G⊢ C ∧ DA:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhHI:H ∨ IhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:F⊢ C ∧ G
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhHI:H ∨ IhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhCG:C ∧ G⊢ C ∧ D A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhHI:H ∨ IhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhC:ChG:G⊢ C ∧ D
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhHI:H ∨ IhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhC:ChG:GhD:D⊢ C ∧ D
All goals completed! 🐙
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhH:H⊢ C ∧ GA:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhI:I⊢ C ∧ G
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhH:H⊢ C ∧ G A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhH:HhC:C⊢ C ∧ G
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhH:HhC:ChG:G⊢ C ∧ G
All goals completed! 🐙
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhI:IhG:G⊢ C ∧ G
A:PropB:PropC:PropD:PropE:PropF:PropG:PropH:PropI:ProphAE:A → EhEB:E ∧ B → FhADG:A → G → DhFHC:F ∧ H → ChAHG:A ∧ H → GhIG:I → GhIGC:G → ChA:AhB:BhE:EhF:FhI:IhG:GhC:C⊢ C ∧ G
All goals completed! 🐙
Твердження A.3.5
example {A B C D:Prop} (hBC: B → C) (hAD: A → D) (hCD: D → ¬ C) : A → ¬ B := A:PropB:PropC:PropD:ProphBC:B → ChAD:A → DhCD:D → ¬C⊢ A → ¬B
A:PropB:PropC:PropD:ProphBC:B → ChAD:A → DhCD:D → ¬ChA:A⊢ ¬B
A:PropB:PropC:PropD:ProphBC:B → ChAD:A → DhCD:D → ¬ChA:AhB:B⊢ False
A:PropB:PropC:PropD:ProphBC:B → ChAD:A → DhCD:D → ¬ChA:AhB:BhC:C⊢ False
A:PropB:PropC:PropD:ProphBC:B → ChAD:A → DhCD:D → ¬ChA:AhB:BhC:ChD:D⊢ False
A:PropB:PropC:PropD:ProphBC:B → ChAD:A → DhCD:D → ¬ChA:AhB:BhC:ChD:DhC':¬C⊢ False
All goals completed! 🐙