Metamath Proof Explorer


Theorem fzosplit

Description: Split a half-open integer range in half. (Contributed by Stefan O'Rear, 14-Aug-2015)

Ref Expression
Assertion fzosplit ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → ( 𝐵 ..^ 𝐶 ) = ( ( 𝐵 ..^ 𝐷 ) ∪ ( 𝐷 ..^ 𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 simpr ( ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) ∧ 𝑥 ∈ ( 𝐵 ..^ 𝐶 ) ) → 𝑥 ∈ ( 𝐵 ..^ 𝐶 ) )
2 elfzelz ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → 𝐷 ∈ ℤ )
3 2 adantr ( ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) ∧ 𝑥 ∈ ( 𝐵 ..^ 𝐶 ) ) → 𝐷 ∈ ℤ )
4 fzospliti ( ( 𝑥 ∈ ( 𝐵 ..^ 𝐶 ) ∧ 𝐷 ∈ ℤ ) → ( 𝑥 ∈ ( 𝐵 ..^ 𝐷 ) ∨ 𝑥 ∈ ( 𝐷 ..^ 𝐶 ) ) )
5 1 3 4 syl2anc ( ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) ∧ 𝑥 ∈ ( 𝐵 ..^ 𝐶 ) ) → ( 𝑥 ∈ ( 𝐵 ..^ 𝐷 ) ∨ 𝑥 ∈ ( 𝐷 ..^ 𝐶 ) ) )
6 elun ( 𝑥 ∈ ( ( 𝐵 ..^ 𝐷 ) ∪ ( 𝐷 ..^ 𝐶 ) ) ↔ ( 𝑥 ∈ ( 𝐵 ..^ 𝐷 ) ∨ 𝑥 ∈ ( 𝐷 ..^ 𝐶 ) ) )
7 5 6 sylibr ( ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) ∧ 𝑥 ∈ ( 𝐵 ..^ 𝐶 ) ) → 𝑥 ∈ ( ( 𝐵 ..^ 𝐷 ) ∪ ( 𝐷 ..^ 𝐶 ) ) )
8 7 ex ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → ( 𝑥 ∈ ( 𝐵 ..^ 𝐶 ) → 𝑥 ∈ ( ( 𝐵 ..^ 𝐷 ) ∪ ( 𝐷 ..^ 𝐶 ) ) ) )
9 8 ssrdv ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → ( 𝐵 ..^ 𝐶 ) ⊆ ( ( 𝐵 ..^ 𝐷 ) ∪ ( 𝐷 ..^ 𝐶 ) ) )
10 elfzuz3 ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → 𝐶 ∈ ( ℤ𝐷 ) )
11 fzoss2 ( 𝐶 ∈ ( ℤ𝐷 ) → ( 𝐵 ..^ 𝐷 ) ⊆ ( 𝐵 ..^ 𝐶 ) )
12 10 11 syl ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → ( 𝐵 ..^ 𝐷 ) ⊆ ( 𝐵 ..^ 𝐶 ) )
13 elfzuz ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → 𝐷 ∈ ( ℤ𝐵 ) )
14 fzoss1 ( 𝐷 ∈ ( ℤ𝐵 ) → ( 𝐷 ..^ 𝐶 ) ⊆ ( 𝐵 ..^ 𝐶 ) )
15 13 14 syl ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → ( 𝐷 ..^ 𝐶 ) ⊆ ( 𝐵 ..^ 𝐶 ) )
16 12 15 unssd ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → ( ( 𝐵 ..^ 𝐷 ) ∪ ( 𝐷 ..^ 𝐶 ) ) ⊆ ( 𝐵 ..^ 𝐶 ) )
17 9 16 eqssd ( 𝐷 ∈ ( 𝐵 ... 𝐶 ) → ( 𝐵 ..^ 𝐶 ) = ( ( 𝐵 ..^ 𝐷 ) ∪ ( 𝐷 ..^ 𝐶 ) ) )