Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 23f67f2

Browse files
chore(data/rat/cast): split (#17761)
Split off `data/rat/big_operators` from `data/rat/cast`, removing the `algebra/big_operators/basic` import (and, as a consequence, `finset`) from the latter. Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>
1 parent 62a5626 commit 23f67f2

File tree

12 files changed

+62
-30
lines changed

12 files changed

+62
-30
lines changed

src/algebra/module/basic.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro
55
-/
6+
import algebra.big_operators.basic
67
import algebra.smul_with_zero
78
import group_theory.group_action.group
89
import tactic.abel

src/data/bitvec/basic.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Authors: Simon Hudon
55
-/
66
import data.bitvec.core
77
import data.fin.basic
8+
import tactic.monotonicity
89
import tactic.norm_num
910

1011
namespace bitvec

src/data/finset/sym.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Yaël Dillies
55
-/
6+
import data.finset.lattice
67
import data.fintype.prod
78
import data.fintype.vector
89
import data.sym.sym2

src/data/finsupp/basic.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import algebra.hom.group_action
88
import algebra.regular.smul
99
import data.finset.preimage
1010
import data.list.alist
11+
import data.rat.big_operators
1112

1213
/-!
1314
# Miscellaneous definitions, lemmas, and constructions using finsupp

src/data/rat/big_operators.lean

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/-
2+
Copyright (c) 2019 Johannes Hölzl. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Johannes Hölzl, Mario Carneiro
5+
-/
6+
import data.rat.cast
7+
import algebra.big_operators.basic
8+
9+
/-! # Casting lemmas for rational numbers involving sums and products
10+
-/
11+
12+
open_locale big_operators
13+
14+
variables {ι α : Type*}
15+
16+
namespace rat
17+
18+
section with_div_ring
19+
variables [division_ring α] [char_zero α]
20+
21+
@[simp, norm_cast] lemma cast_list_sum (s : list ℚ) : (↑(s.sum) : α) = (s.map coe).sum :=
22+
map_list_sum (rat.cast_hom α) _
23+
24+
@[simp, norm_cast] lemma cast_multiset_sum (s : multiset ℚ) : (↑(s.sum) : α) = (s.map coe).sum :=
25+
map_multiset_sum (rat.cast_hom α) _
26+
27+
@[simp, norm_cast] lemma cast_sum (s : finset ι) (f : ι → ℚ) :
28+
(↑(∑ i in s, f i) : α) = ∑ i in s, f i :=
29+
map_sum (rat.cast_hom α) _ _
30+
31+
@[simp, norm_cast] lemma cast_list_prod (s : list ℚ) : (↑(s.prod) : α) = (s.map coe).prod :=
32+
map_list_prod (rat.cast_hom α) _
33+
34+
end with_div_ring
35+
36+
section field
37+
variables [field α] [char_zero α]
38+
39+
@[simp, norm_cast] lemma cast_multiset_prod (s : multiset ℚ) : (↑(s.prod) : α) = (s.map coe).prod :=
40+
map_multiset_prod (rat.cast_hom α) _
41+
42+
@[simp, norm_cast] lemma cast_prod (s : finset ι) (f : ι → ℚ) :
43+
(↑(∏ i in s, f i) : α) = ∏ i in s, f i :=
44+
map_prod (rat.cast_hom α) _ _
45+
46+
end field
47+
48+
end rat

src/data/rat/cast.lean

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import data.int.char_zero
99
import algebra.group_with_zero.power
1010
import algebra.field.opposite
1111
import algebra.order.field.basic
12-
import algebra.big_operators.basic
1312

1413
/-!
1514
# Casts for Rational Numbers
@@ -28,8 +27,6 @@ casting lemmas showing the well-behavedness of this injection.
2827
rat, rationals, field, ℚ, numerator, denominator, num, denom, cast, coercion, casting
2928
-/
3029

31-
open_locale big_operators
32-
3330
variables {F ι α β : Type*}
3431

3532
namespace rat
@@ -211,33 +208,8 @@ by simp only [mk_eq_div, cast_div, cast_coe_int]
211208
@[simp, norm_cast] theorem cast_pow (q) (k : ℕ) : ((q ^ k : ℚ) : α) = q ^ k :=
212209
(cast_hom α).map_pow q k
213210

214-
@[simp, norm_cast] lemma cast_list_sum (s : list ℚ) : (↑(s.sum) : α) = (s.map coe).sum :=
215-
map_list_sum (rat.cast_hom α) _
216-
217-
@[simp, norm_cast] lemma cast_multiset_sum (s : multiset ℚ) : (↑(s.sum) : α) = (s.map coe).sum :=
218-
map_multiset_sum (rat.cast_hom α) _
219-
220-
@[simp, norm_cast] lemma cast_sum (s : finset ι) (f : ι → ℚ) :
221-
(↑(∑ i in s, f i) : α) = ∑ i in s, f i :=
222-
map_sum (rat.cast_hom α) _ _
223-
224-
@[simp, norm_cast] lemma cast_list_prod (s : list ℚ) : (↑(s.prod) : α) = (s.map coe).prod :=
225-
map_list_prod (rat.cast_hom α) _
226-
227211
end with_div_ring
228212

229-
section field
230-
variables [field α] [char_zero α]
231-
232-
@[simp, norm_cast] lemma cast_multiset_prod (s : multiset ℚ) : (↑(s.prod) : α) = (s.map coe).prod :=
233-
map_multiset_prod (rat.cast_hom α) _
234-
235-
@[simp, norm_cast] lemma cast_prod (s : finset ι) (f : ι → ℚ) :
236-
(↑(∏ i in s, f i) : α) = ∏ i in s, f i :=
237-
map_prod (rat.cast_hom α) _ _
238-
239-
end field
240-
241213
section linear_ordered_field
242214

243215
variables {K : Type*} [linear_ordered_field K]

src/data/sym/sym2.lean

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Copyright (c) 2020 Kyle Miller All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Kyle Miller
55
-/
6+
import data.finset.prod
67
import data.sym.basic
78
import tactic.linarith
89

@@ -41,7 +42,7 @@ term of the symmetric square.
4142
symmetric square, unordered pairs, symmetric powers
4243
-/
4344

44-
open finset fintype function sym
45+
open finset function sym
4546

4647
universe u
4748
variables {α β γ : Type*}

src/tactic/norm_fin.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Yakov Pechersky, Mario Carneiro
55
-/
66

7+
import data.fin.basic
78
import tactic.norm_num
89

910
/-!

src/tactic/omega/clause.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Authors: Seul Baek
88
Definition of linear constrain clauses.
99
-/
1010

11+
import data.list.basic
1112
import tactic.omega.term
1213

1314
namespace omega

src/tactic/ring.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Mario Carneiro
55
-/
66
import tactic.norm_num
7+
import data.fin.basic
78

89
/-!
910
# `ring`

0 commit comments

Comments
 (0)