Skip to content

Commit 22c3864

Browse files
committed
chore(Data/PNat): drop bit* lemmas (#14217)
Add `OfNat` lemmas instead.
1 parent c88e96d commit 22c3864

File tree

1 file changed

+19
-33
lines changed

1 file changed

+19
-33
lines changed

Mathlib/Data/PNat/Basic.lean

+19-33
Original file line numberDiff line numberDiff line change
@@ -212,39 +212,25 @@ theorem recOn_succ (n : ℕ+) {p : ℕ+ → Sort*} (p1 hp) :
212212
cases n <;> [exact absurd h (by decide); rfl]
213213
#align pnat.rec_on_succ PNat.recOn_succ
214214

215-
-- Porting note (#11229): deprecated
216-
section deprecated
217-
218-
set_option linter.deprecated false
219-
220-
-- Some lemmas that rewrite inequalities between explicit numerals in `ℕ+`
221-
-- into the corresponding inequalities in `ℕ`.
222-
-- TODO: perhaps this should not be attempted by `simp`,
223-
-- and instead we should expect `norm_num` to take care of these directly?
224-
-- TODO: these lemmas are perhaps incomplete:
225-
-- * 1 is not represented as a bit0 or bit1
226-
-- * strict inequalities?
227-
@[simp, deprecated (since := "2022-12-23")]
228-
theorem bit0_le_bit0 (n m : ℕ+) : bit0 n ≤ bit0 m ↔ bit0 (n : ℕ) ≤ bit0 (m : ℕ) :=
229-
Iff.rfl
230-
#align pnat.bit0_le_bit0 PNat.bit0_le_bit0
231-
232-
@[simp, deprecated (since := "2022-12-23")]
233-
theorem bit0_le_bit1 (n m : ℕ+) : bit0 n ≤ bit1 m ↔ bit0 (n : ℕ) ≤ bit1 (m : ℕ) :=
234-
Iff.rfl
235-
#align pnat.bit0_le_bit1 PNat.bit0_le_bit1
236-
237-
@[simp, deprecated (since := "2022-12-23")]
238-
theorem bit1_le_bit0 (n m : ℕ+) : bit1 n ≤ bit0 m ↔ bit1 (n : ℕ) ≤ bit0 (m : ℕ) :=
239-
Iff.rfl
240-
#align pnat.bit1_le_bit0 PNat.bit1_le_bit0
241-
242-
@[simp, deprecated (since := "2022-12-23")]
243-
theorem bit1_le_bit1 (n m : ℕ+) : bit1 n ≤ bit1 m ↔ bit1 (n : ℕ) ≤ bit1 (m : ℕ) :=
244-
Iff.rfl
245-
#align pnat.bit1_le_bit1 PNat.bit1_le_bit1
246-
247-
end deprecated
215+
@[simp]
216+
theorem ofNat_le_ofNat {m n : ℕ} [NeZero m] [NeZero n] :
217+
(no_index (OfNat.ofNat m) : ℕ+) ≤ no_index (OfNat.ofNat n) ↔ OfNat.ofNat m ≤ OfNat.ofNat n :=
218+
.rfl
219+
220+
@[simp]
221+
theorem ofNat_lt_ofNat {m n : ℕ} [NeZero m] [NeZero n] :
222+
(no_index (OfNat.ofNat m) : ℕ+) < no_index (OfNat.ofNat n) ↔ OfNat.ofNat m < OfNat.ofNat n :=
223+
.rfl
224+
225+
@[simp]
226+
theorem ofNat_inj {m n : ℕ} [NeZero m] [NeZero n] :
227+
(no_index (OfNat.ofNat m) : ℕ+) = no_index (OfNat.ofNat n) ↔ OfNat.ofNat m = OfNat.ofNat n :=
228+
Subtype.mk_eq_mk
229+
230+
#noalign pnat.bit0_le_bit0
231+
#noalign pnat.bit0_le_bit1
232+
#noalign pnat.bit1_le_bit0
233+
#noalign pnat.bit1_le_bit1
248234

249235
@[simp, norm_cast]
250236
theorem mul_coe (m n : ℕ+) : ((m * n : ℕ+) : ℕ) = m * n :=

0 commit comments

Comments
 (0)