@@ -5,7 +5,7 @@ Authors: Johannes Hölzl
5
5
-/
6
6
7
7
import algebra.big_operators.basic
8
- import data.finset.intervals
8
+ import data.nat.interval
9
9
import tactic.linarith
10
10
11
11
/-!
@@ -25,7 +25,7 @@ variables {α : Type u} {β : Type v} {γ : Type w} {s₂ s₁ s : finset α} {a
25
25
26
26
lemma sum_Ico_add {δ : Type *} [add_comm_monoid δ] (f : ℕ → δ) (m n k : ℕ) :
27
27
(∑ l in Ico m n, f (k + l)) = (∑ l in Ico (m + k) (n + k), f l) :=
28
- Ico.image_add m n k ▸ eq.symm $ sum_image $ λ x hx y hy h, nat.add_left_cancel h
28
+ image_add_const_Ico m n k ▸ eq.symm $ sum_image $ λ x hx y hy h, nat.add_left_cancel h
29
29
30
30
@[to_additive]
31
31
lemma prod_Ico_add (f : ℕ → β) (m n k : ℕ) :
@@ -34,7 +34,7 @@ lemma prod_Ico_add (f : ℕ → β) (m n k : ℕ) :
34
34
35
35
lemma sum_Ico_succ_top {δ : Type *} [add_comm_monoid δ] {a b : ℕ}
36
36
(hab : a ≤ b) (f : ℕ → δ) : (∑ k in Ico a (b + 1 ), f k) = (∑ k in Ico a b, f k) + f b :=
37
- by rw [Ico.succ_top hab, sum_insert Ico.not_mem_top , add_comm]
37
+ by rw [nat.Ico_succ_right_eq_insert_Ico hab, sum_insert right_not_mem_Ico , add_comm]
38
38
39
39
@[to_additive]
40
40
lemma prod_Ico_succ_top {a b : ℕ} (hab : a ≤ b) (f : ℕ → β) :
@@ -44,7 +44,7 @@ lemma prod_Ico_succ_top {a b : ℕ} (hab : a ≤ b) (f : ℕ → β) :
44
44
lemma sum_eq_sum_Ico_succ_bot {δ : Type *} [add_comm_monoid δ] {a b : ℕ}
45
45
(hab : a < b) (f : ℕ → δ) : (∑ k in Ico a b, f k) = f a + (∑ k in Ico (a + 1 ) b, f k) :=
46
46
have ha : a ∉ Ico (a + 1 ) b, by simp,
47
- by rw [← sum_insert ha, Ico.insert_succ_bot hab]
47
+ by rw [← sum_insert ha, nat.Ico_insert_succ_left hab]
48
48
49
49
@[to_additive]
50
50
lemma prod_eq_prod_Ico_succ_bot {a b : ℕ} (hab : a < b) (f : ℕ → β) :
@@ -54,12 +54,12 @@ lemma prod_eq_prod_Ico_succ_bot {a b : ℕ} (hab : a < b) (f : ℕ → β) :
54
54
@[to_additive]
55
55
lemma prod_Ico_consecutive (f : ℕ → β) {m n k : ℕ} (hmn : m ≤ n) (hnk : n ≤ k) :
56
56
(∏ i in Ico m n, f i) * (∏ i in Ico n k, f i) = (∏ i in Ico m k, f i) :=
57
- Ico.union_consecutive hmn hnk ▸ eq.symm $ prod_union $ Ico.disjoint_consecutive m n k
57
+ Ico_union_Ico_eq_Ico hmn hnk ▸ eq.symm $ prod_union $ Ico_disjoint_Ico_consecutive m n k
58
58
59
59
@[to_additive]
60
60
lemma prod_range_mul_prod_Ico (f : ℕ → β) {m n : ℕ} (h : m ≤ n) :
61
61
(∏ k in range m, f k) * (∏ k in Ico m n, f k) = (∏ k in range n, f k) :=
62
- Ico.zero_bot m ▸ Ico.zero_bot n ▸ prod_Ico_consecutive f (nat .zero_le m) h
62
+ m.Ico_zero_eq_range ▸ n.Ico_zero_eq_range ▸ prod_Ico_consecutive f m .zero_le h
63
63
64
64
@[to_additive]
65
65
lemma prod_Ico_eq_mul_inv {δ : Type *} [comm_group δ] (f : ℕ → δ) {m n : ℕ} (h : m ≤ n) :
81
81
(λ (x : Σ (i : ℕ), ℕ) _, (⟨x.2 , x.1 ⟩ : Σ (i : ℕ), ℕ)) _ (λ _ _, rfl)
82
82
(λ (x : Σ (i : ℕ), ℕ) _, (⟨x.2 , x.1 ⟩ : Σ (i : ℕ), ℕ)) _
83
83
(by rintro ⟨⟩ _; refl) (by rintro ⟨⟩ _; refl);
84
- simp only [finset.Ico.mem , sigma.forall, finset.mem_sigma];
84
+ simp only [finset.mem_Ico , sigma.forall, finset.mem_sigma];
85
85
rintros a b ⟨⟨h₁,h₂⟩, ⟨h₃, h₄⟩⟩; refine ⟨⟨_, _⟩, ⟨_, _⟩⟩; linarith
86
86
end
87
87
@@ -90,9 +90,9 @@ lemma prod_Ico_eq_prod_range (f : ℕ → β) (m n : ℕ) :
90
90
(∏ k in Ico m n, f k) = (∏ k in range (n - m), f (m + k)) :=
91
91
begin
92
92
by_cases h : m ≤ n,
93
- { rw [← Ico.zero_bot , prod_Ico_add, zero_add, nat.sub_add_cancel h] },
93
+ { rw [←nat.Ico_zero_eq_range , prod_Ico_add, zero_add, nat.sub_add_cancel h] },
94
94
{ replace h : n ≤ m := le_of_not_ge h,
95
- rw [Ico.eq_empty_of_le h, nat.sub_eq_zero_of_le h, range_zero, prod_empty, prod_empty] }
95
+ rw [Ico_eq_empty_of_le h, nat.sub_eq_zero_of_le h, range_zero, prod_empty, prod_empty] }
96
96
end
97
97
98
98
lemma prod_Ico_reflect (f : ℕ → β) (k : ℕ) {m n : ℕ} (h : m ≤ n + 1 ) :
@@ -102,12 +102,12 @@ begin
102
102
{ intros i hi,
103
103
exact (add_le_add_iff_right 1 ).1 (le_trans (nat.lt_iff_add_one_le.1 hi) h) },
104
104
cases lt_or_le k m with hkm hkm,
105
- { rw [← finset.Ico.image_const_sub (this _ hkm)],
105
+ { rw [← nat.Ico_image_const_sub_eq_Ico (this _ hkm)],
106
106
refine (prod_image _).symm,
107
- simp only [Ico.mem ],
107
+ simp only [mem_Ico ],
108
108
rintros i ⟨ki, im⟩ j ⟨kj, jm⟩ Hij,
109
109
rw [← nat.sub_sub_self (this _ im), Hij, nat.sub_sub_self (this _ jm)] },
110
- { simp [Ico.eq_empty_of_le , nat.sub_le_sub_left, hkm] }
110
+ { simp [Ico_eq_empty_of_le , nat.sub_le_sub_left, hkm] }
111
111
end
112
112
113
113
lemma sum_Ico_reflect {δ : Type *} [add_comm_monoid δ] (f : ℕ → δ) (k : ℕ) {m n : ℕ}
@@ -120,8 +120,8 @@ lemma prod_range_reflect (f : ℕ → β) (n : ℕ) :
120
120
begin
121
121
cases n,
122
122
{ simp },
123
- { simp only [range_eq_Ico , nat.succ_sub_succ_eq_sub, nat.sub_zero],
124
- rw [ prod_Ico_reflect _ _ (le_refl _)] ,
123
+ { simp only [←nat.Ico_zero_eq_range , nat.succ_sub_succ_eq_sub, nat.sub_zero],
124
+ rw prod_Ico_reflect _ _ le_rfl ,
125
125
simp }
126
126
end
127
127
0 commit comments