Metamath Proof Explorer


Theorem fzo0opth

Description: Equality for a half open integer range starting at zero is the same as equality of its upper bound, analogous to fzopth and fzoopth . (Contributed by Thierry Arnoux, 27-May-2025)

Ref Expression
Hypotheses fzo0opth.1 ⊢ φ → M ∈ ℕ 0
fzo0opth.2 ⊢ φ → N ∈ ℕ 0
Assertion fzo0opth ⊢ φ → 0 ..^ M = 0 ..^ N ↔ M = N

Proof

Step Hyp Ref Expression
1 fzo0opth.1 ⊢ φ → M ∈ ℕ 0
2 fzo0opth.2 ⊢ φ → N ∈ ℕ 0
3 0z ⊢ 0 ∈ ℤ
4 1 nn0zd ⊢ φ → M ∈ ℤ
5 simpr ⊢ φ ∧ 0 < M → 0 < M
6 fzoopth ⊢ 0 ∈ ℤ ∧ M ∈ ℤ ∧ 0 < M → 0 ..^ M = 0 ..^ N ↔ 0 = 0 ∧ M = N
7 3 4 5 6 mp3an2ani ⊢ φ ∧ 0 < M → 0 ..^ M = 0 ..^ N ↔ 0 = 0 ∧ M = N
8 eqid ⊢ 0 = 0
9 8 biantrur ⊢ M = N ↔ 0 = 0 ∧ M = N
10 7 9 bitr4di ⊢ φ ∧ 0 < M → 0 ..^ M = 0 ..^ N ↔ M = N
11 simpr ⊢ φ ∧ 0 = M → 0 = M
12 11 oveq2d ⊢ φ ∧ 0 = M → 0 ..^ 0 = 0 ..^ M
13 fzo0 ⊢ 0 ..^ 0 = ∅
14 12 13 eqtr3di ⊢ φ ∧ 0 = M → 0 ..^ M = ∅
15 14 eqeq1d ⊢ φ ∧ 0 = M → 0 ..^ M = 0 ..^ N ↔ ∅ = 0 ..^ N
16 eqcom ⊢ ∅ = 0 ..^ N ↔ 0 ..^ N = ∅
17 15 16 bitrdi ⊢ φ ∧ 0 = M → 0 ..^ M = 0 ..^ N ↔ 0 ..^ N = ∅
18 0zd ⊢ φ ∧ 0 = M → 0 ∈ ℤ
19 2 nn0zd ⊢ φ → N ∈ ℤ
20 19 adantr ⊢ φ ∧ 0 = M → N ∈ ℤ
21 fzon ⊢ 0 ∈ ℤ ∧ N ∈ ℤ → N ≤ 0 ↔ 0 ..^ N = ∅
22 18 20 21 syl2anc ⊢ φ ∧ 0 = M → N ≤ 0 ↔ 0 ..^ N = ∅
23 nn0le0eq0 ⊢ N ∈ ℕ 0 → N ≤ 0 ↔ N = 0
24 23 biimpa ⊢ N ∈ ℕ 0 ∧ N ≤ 0 → N = 0
25 2 24 sylan ⊢ φ ∧ N ≤ 0 → N = 0
26 25 adantlr ⊢ φ ∧ 0 = M ∧ N ≤ 0 → N = 0
27 id ⊢ N = 0 → N = 0
28 0le0 ⊢ 0 ≤ 0
29 27 28 eqbrtrdi ⊢ N = 0 → N ≤ 0
30 29 adantl ⊢ φ ∧ 0 = M ∧ N = 0 → N ≤ 0
31 26 30 impbida ⊢ φ ∧ 0 = M → N ≤ 0 ↔ N = 0
32 eqcom ⊢ N = 0 ↔ 0 = N
33 32 a1i ⊢ φ ∧ 0 = M → N = 0 ↔ 0 = N
34 11 eqeq1d ⊢ φ ∧ 0 = M → 0 = N ↔ M = N
35 31 33 34 3bitrd ⊢ φ ∧ 0 = M → N ≤ 0 ↔ M = N
36 17 22 35 3bitr2d ⊢ φ ∧ 0 = M → 0 ..^ M = 0 ..^ N ↔ M = N
37 1 nn0ge0d ⊢ φ → 0 ≤ M
38 0red ⊢ φ → 0 ∈ ℝ
39 1 nn0red ⊢ φ → M ∈ ℝ
40 38 39 leloed ⊢ φ → 0 ≤ M ↔ 0 < M ∨ 0 = M
41 37 40 mpbid ⊢ φ → 0 < M ∨ 0 = M
42 10 36 41 mpjaodan ⊢ φ → 0 ..^ M = 0 ..^ N ↔ M = N