Skip to content

Commit 991ae20

Browse files
Merge pull request #203 from ocfnash/fix_misformalisations
Fix some minor Lean misformalisations
2 parents a945338 + 64e63b6 commit 991ae20

10 files changed

+51
-46
lines changed

lean4/src/putnam_2006_b3.lean

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ open BigOperators
44
abbrev putnam_2006_b3_solution : ℕ → ℕ := sorry
55
-- (fun n : ℕ => (Nat.choose n 2) + 1)
66
theorem putnam_2006_b3
7-
(SABpart : Finset (Fin 2 → ℝ) → Finset (Finset (Fin 2 → ℝ)) → Prop)
8-
(LS : Finset (Fin 2 → ℝ) → ℕ)
9-
(n : ℕ)
10-
(hSABpart : ∀ (S : Finset (Fin 2 → ℝ)) (AB : Finset (Finset (Fin 2 → ℝ))), SABpart S AB = (AB.card = 2 ∧ ∃ A ∈ AB, ∃ B ∈ AB, (A ∪ B = S) ∧ (A ∩ B = ∅) ∧ (∃ m b : ℝ, (∀ p ∈ A, p 1 > m * p 0 + b) ∧ (∀ p ∈ B, p 1 < m * p 0 + b))))
11-
(hLS : ∀ S : Finset (Fin 2 → ℝ), LS S = {AB : Finset (Finset (Fin 2 → ℝ)) | SABpart S AB}.encard)
12-
(npos : n > 0)
13-
: (∃ S : Finset (Fin 2 → ℝ), S.card = n ∧ LS S = putnam_2006_b3_solution n) ∧ (∀ S : Finset (Fin 2 → ℝ), S.card = n → LS S ≤ putnam_2006_b3_solution n) :=
14-
sorry
7+
(IsLinearPartition : Finset (Fin 2 → ℝ) → Finset (Finset (Fin 2 → ℝ)) → Prop)
8+
(IsLinearPartition_def : ∀ S AB, IsLinearPartition S AB ↔
9+
(AB.card = 2 ∧ ∃ A ∈ AB, ∃ B ∈ AB,
10+
A ≠ B ∧ (A ∪ B = S) ∧ (A ∩ B = ∅) ∧
11+
(∃ m b : ℝ,
12+
(∀ p ∈ A, p 1 > m * p 0 + b) ∧
13+
(∀ p ∈ B, p 1 < m * p 0 + b))))
14+
(L : Finset (Fin 2 → ℝ) → ℕ)
15+
(hL : ∀ S, L S = {AB | IsLinearPartition S AB}.encard)
16+
(n : ℕ) (npos : 0 < n) :
17+
IsGreatest {L S | (S) (hS : S.card = n)} (putnam_2006_b3_solution n) :=
18+
sorry

lean4/src/putnam_2011_a4.lean

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ open Topology Filter Matrix
66
abbrev putnam_2011_a4_solution : Set ℕ := sorry
77
-- {n : ℕ | Odd n}
88
theorem putnam_2011_a4
9-
(n : ℕ)
10-
(nmat : Prop)
11-
(npos : n > 0)
12-
(hnmat : ∃ A : Matrix (Fin n) (Fin n) ℤ, (∀ r : Fin n, Even ((A r) ⬝ᵥ (A r))) ∧ (∀ r1 r2 : Fin n, r1 ≠ r2 → Odd ((A r1) ⬝ᵥ (A r2))))
13-
: nmat ↔ n ∈ putnam_2011_a4_solution :=
14-
sorry
9+
(nmat : ℕ → Prop)
10+
(hnmat : ∀ n, nmat n ↔
11+
∃ A : Matrix (Fin n) (Fin n) ℤ,
12+
(∀ r, Even ((A r) ⬝ᵥ (A r))) ∧
13+
Pairwise fun r1 r2 ↦ Odd ((A r1) ⬝ᵥ (A r2)))
14+
(n : ℕ) (npos : 0 < n) :
15+
nmat n ↔ n ∈ putnam_2011_a4_solution :=
16+
sorry

lean4/src/putnam_2013_b4.lean

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ open BigOperators
44
open Function Set
55

66
theorem putnam_2013_b4
7-
(μ : (Set.Icc (0 : ℝ) 1 → ℝ) → ℝ)
8-
(Var : (Set.Icc (0 : ℝ) 1 → ℝ) → ℝ)
9-
(M : (Set.Icc (0 : ℝ) 1 → ℝ) → ℝ)
10-
(hμ : ∀ f : Set.Icc (0 : ℝ) 1 → ℝ, μ f = ∫ x : Set.Icc (0 : ℝ) 1, f x)
11-
(hVar : ∀ f : Set.Icc (0 : ℝ) 1 → ℝ, Var f = ∫ x : Set.Icc (0 : ℝ) 1, (f x - μ f) ^ 2)
12-
(hM : ∀ f : Set.Icc (0 : ℝ) 1 → ℝ, (∃ x : Set.Icc (0 : ℝ) 1, |f x| = M f) ∧ (∀ x : Set.Icc (0 : ℝ) 1, |f x| ≤ M f))
13-
: ∀ f g : Set.Icc (0 : ℝ) 1 → ℝ, (Continuous f ∧ Continuous g) → Var (f * g) ≤ 2 * Var f * (M g) ^ 2 + 2 * Var g * (M f) ^ 2 :=
7+
(μ Var M : C(Icc (0 : ℝ) 1, ℝ) → ℝ)
8+
(hμ : ∀ f, μ f = ∫ x, f x)
9+
(hVar : ∀ f, Var f = ∫ x, (f x - μ f) ^ 2)
10+
(hM : ∀ f : C(Icc (0 : ℝ) 1, ℝ), IsGreatest (range <| abs ∘ f) (M f))
11+
(f g : C(Icc (0 : ℝ) 1, ℝ)) :
12+
Var (f * g) ≤ 2 * Var f * (M g) ^ 2 + 2 * Var g * (M f) ^ 2 :=
1413
sorry

lean4/src/putnam_2017_a1.lean

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@ open BigOperators
44
abbrev putnam_2017_a1_solution : Set ℤ := sorry
55
-- {x : ℤ | x > 0 ∧ (x = 1 ∨ 5 ∣ x)}
66
theorem putnam_2017_a1
7-
(Q : Set (Set ℤ))
8-
(Spos : ∀ S ∈ Q, ∀ x ∈ S, x > 0)
9-
(S2 : ∀ S ∈ Q, 2 ∈ S)
10-
(Sn : ∀ S ∈ Q, ∀ n, n ^ 2 ∈ S → n ∈ S)
11-
(Sn5 : ∀ S ∈ Q, ∀ n, n ∈ S → (n + 5) ^ 2 ∈ S)
12-
: Set.univ \ (⋂ T ∈ Q, T) = putnam_2017_a1_solution :=
13-
sorry
7+
(IsQualifying : Set ℤ → Prop)
8+
(IsQualifying_def : ∀ S, IsQualifying S ↔
9+
(∀ n ∈ S, 0 < n) ∧
10+
2 ∈ S ∧
11+
(∀ n, n ^ 2 ∈ S → n ∈ S) ∧
12+
(∀ n ∈ S, (n + 5) ^ 2 ∈ S))
13+
(S : Set ℤ)
14+
(hS : IsLeast IsQualifying S) :
15+
Sᶜ ∩ {n | 0 < n} = putnam_2017_a1_solution :=
16+
sorry

lean4/src/putnam_2018_a3.lean

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@ open BigOperators
33

44
noncomputable abbrev putnam_2018_a3_solution : ℝ := sorry
55
-- 480/49
6-
theorem putnam_2018_a3
7-
(P : Set (Fin 10 → ℝ))
8-
(f : (Fin 10 → ℝ) → ℝ → ℝ)
9-
(hf : f = fun x => fun k => ∑ i : Fin 10, Real.cos (k * (x i)))
10-
(hP : ∀ x ∈ P, f x 1 = 0)
11-
: ∀ y ∈ P, f y 3 ≤ putnam_2018_a3_solution ∧ ∃ x ∈ P, f x 3 = putnam_2018_a3_solution :=
12-
sorry
6+
theorem putnam_2018_a3 :
7+
IsGreatest
8+
{∑ i, Real.cos (3 * x i) | (x : Fin 10 → ℝ) (hx : ∑ i, Real.cos (x i) = 0)}
9+
putnam_2018_a3_solution := by
10+
sorry

lean4/src/putnam_2018_b3.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Mathlib
22
open BigOperators
33

44
abbrev putnam_2018_b3_solution : Set ℕ := sorry
5-
-- {2^2, 2^4, 2^8, 2^16}
5+
-- {2^2, 2^4, 2^16, 2^256}
66
theorem putnam_2018_b3
77
(n : ℕ)
88
(hn : n > 0)

lean4/src/putnam_2019_b3.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ theorem putnam_2019_b3
1212
(u : Matrix (Fin n) (Fin 1) ℝ)
1313
(hu : uᵀ*u = 1)
1414
(P : Matrix (Fin n) (Fin n) ℝ)
15-
(hP : P = 1 - (u * uᵀ))
15+
(hP : P = 1 - 2 * (u * uᵀ))
1616
: (Q - 1).det ≠ 0 → (P * Q - 1).det = 0 :=
1717
sorry

lean4/src/putnam_2021_a2.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ abbrev putnam_2021_a2_solution : ℝ := sorry
77
-- Real.exp 1
88
theorem putnam_2021_a2
99
(g : ℝ → ℝ)
10-
(hg : ∀ x > 0, Tendsto (fun r : ℝ => ((x + 1) ^ (r + 1) - x ^ (r + 1)) ^ (1 / r)) (𝓝 0) (𝓝 (g x)))
10+
(hg : ∀ x > 0, Tendsto (fun r : ℝ => ((x + 1) ^ (r + 1) - x ^ (r + 1)) ^ (1 / r)) (𝓝[>] 0) (𝓝 (g x)))
1111
: Tendsto (fun x : ℝ => g x / x) atTop (𝓝 putnam_2021_a2_solution) :=
1212
sorry

lean4/src/putnam_2021_b2.lean

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@ open Filter Topology
55

66
noncomputable abbrev putnam_2021_b2_solution : ℝ := sorry
77
-- 2 / 3
8-
theorem putnam_2021_b2
9-
(S : (ℕ → ℝ) → ℝ)
10-
(asum : (ℕ → ℝ) → Prop)
11-
(hS : ∀ a : ℕ → ℝ, S a = ∑' n : ℕ, (n + 1) / 2 ^ (n + 1) * (∏ k : Fin (n + 1), a k.1) ^ ((1 : ℝ) / (n + 1)))
12-
(hasum : ∀ a : ℕ → ℝ, asum a = (∀ k : ℕ, a k ≥ 0) ∧ ∑' k : ℕ, a k = 1)
13-
: (∃ a : ℕ → ℝ, asum a ∧ S a = putnam_2021_b2_solution) ∧ (∀ a : ℕ → ℝ, asum a → S a ≤ putnam_2021_b2_solution) :=
14-
sorry
8+
theorem putnam_2021_b2 :
9+
IsGreatest
10+
{S | ∃ a : ℕ+ → ℝ, (∑' k, a k = 1) ∧ (∀ k, 0 ≤ a k) ∧
11+
S = ∑' n : ℕ+, n / 2 ^ (n : ℕ) * (∏ k in Finset.Icc 1 n, a k) ^ (1 / n : ℝ)}
12+
putnam_2021_b2_solution :=
13+
sorry

lean4/src/putnam_2023_b6.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ open BigOperators
44
open Nat Topology Filter
55

66
abbrev putnam_2023_b6_solution : ℕ → ℤ := sorry
7-
-- (fun n : ℕ => (-1) ^ (Nat.ceil (n / 2) - 1) * 2 * Nat.ceil (n / 2))
7+
-- (fun n : ℕ => (-1) ^ ((n / 2 : ℚ)⌉₊ + 1) * 2 * (n / 2 : ℚ)⌉₊)
88
theorem putnam_2023_b6
99
(n : ℕ)
1010
(S : Matrix (Fin n) (Fin n) ℤ)

0 commit comments

Comments
 (0)