Metamath Proof Explorer


Theorem fzoun

Description: A half-open integer range as union of two half-open integer ranges. (Contributed by AV, 23-Apr-2022)

Ref Expression
Assertion fzoun ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → ( 𝐴 ..^ ( 𝐵 + 𝐶 ) ) = ( ( 𝐴 ..^ 𝐵 ) ∪ ( 𝐵 ..^ ( 𝐵 + 𝐶 ) ) ) )

Proof

Step Hyp Ref Expression
1 eluzel2 ( 𝐵 ∈ ( ℤ𝐴 ) → 𝐴 ∈ ℤ )
2 1 adantr ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → 𝐴 ∈ ℤ )
3 eluzelz ( 𝐵 ∈ ( ℤ𝐴 ) → 𝐵 ∈ ℤ )
4 nn0z ( 𝐶 ∈ ℕ0𝐶 ∈ ℤ )
5 zaddcl ( ( 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℤ ) → ( 𝐵 + 𝐶 ) ∈ ℤ )
6 3 4 5 syl2an ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → ( 𝐵 + 𝐶 ) ∈ ℤ )
7 3 adantr ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → 𝐵 ∈ ℤ )
8 eluzle ( 𝐵 ∈ ( ℤ𝐴 ) → 𝐴𝐵 )
9 8 adantr ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → 𝐴𝐵 )
10 nn0ge0 ( 𝐶 ∈ ℕ0 → 0 ≤ 𝐶 )
11 10 adantl ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → 0 ≤ 𝐶 )
12 eluzelre ( 𝐵 ∈ ( ℤ𝐴 ) → 𝐵 ∈ ℝ )
13 nn0re ( 𝐶 ∈ ℕ0𝐶 ∈ ℝ )
14 addge01 ( ( 𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ ) → ( 0 ≤ 𝐶𝐵 ≤ ( 𝐵 + 𝐶 ) ) )
15 12 13 14 syl2an ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → ( 0 ≤ 𝐶𝐵 ≤ ( 𝐵 + 𝐶 ) ) )
16 11 15 mpbid ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → 𝐵 ≤ ( 𝐵 + 𝐶 ) )
17 2 6 7 9 16 elfzd ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → 𝐵 ∈ ( 𝐴 ... ( 𝐵 + 𝐶 ) ) )
18 fzosplit ( 𝐵 ∈ ( 𝐴 ... ( 𝐵 + 𝐶 ) ) → ( 𝐴 ..^ ( 𝐵 + 𝐶 ) ) = ( ( 𝐴 ..^ 𝐵 ) ∪ ( 𝐵 ..^ ( 𝐵 + 𝐶 ) ) ) )
19 17 18 syl ( ( 𝐵 ∈ ( ℤ𝐴 ) ∧ 𝐶 ∈ ℕ0 ) → ( 𝐴 ..^ ( 𝐵 + 𝐶 ) ) = ( ( 𝐴 ..^ 𝐵 ) ∪ ( 𝐵 ..^ ( 𝐵 + 𝐶 ) ) ) )