Metamath Proof Explorer


Theorem ioossioobi

Description: Biconditional form of ioossioo . (Contributed by Glauco Siliprandi, 11-Dec-2019)

Ref Expression
Hypotheses ioossioobi.a ( 𝜑𝐴 ∈ ℝ* )
ioossioobi.b ( 𝜑𝐵 ∈ ℝ* )
ioossioobi.c ( 𝜑𝐶 ∈ ℝ* )
ioossioobi.d ( 𝜑𝐷 ∈ ℝ* )
ioossioobi.cltd ( 𝜑𝐶 < 𝐷 )
Assertion ioossioobi ( 𝜑 → ( ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ↔ ( 𝐴𝐶𝐷𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 ioossioobi.a ( 𝜑𝐴 ∈ ℝ* )
2 ioossioobi.b ( 𝜑𝐵 ∈ ℝ* )
3 ioossioobi.c ( 𝜑𝐶 ∈ ℝ* )
4 ioossioobi.d ( 𝜑𝐷 ∈ ℝ* )
5 ioossioobi.cltd ( 𝜑𝐶 < 𝐷 )
6 simpr ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) )
7 df-ioo (,) = ( 𝑥 ∈ ℝ* , 𝑦 ∈ ℝ* ↦ { 𝑧 ∈ ℝ* ∣ ( 𝑥 < 𝑧𝑧 < 𝑦 ) } )
8 7 ixxssxr ( 𝐴 (,) 𝐵 ) ⊆ ℝ*
9 infxrss ( ( ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ∧ ( 𝐴 (,) 𝐵 ) ⊆ ℝ* ) → inf ( ( 𝐴 (,) 𝐵 ) , ℝ* , < ) ≤ inf ( ( 𝐶 (,) 𝐷 ) , ℝ* , < ) )
10 6 8 9 sylancl ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → inf ( ( 𝐴 (,) 𝐵 ) , ℝ* , < ) ≤ inf ( ( 𝐶 (,) 𝐷 ) , ℝ* , < ) )
11 1 adantr ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → 𝐴 ∈ ℝ* )
12 2 adantr ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → 𝐵 ∈ ℝ* )
13 ioon0 ( ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ* ) → ( ( 𝐶 (,) 𝐷 ) ≠ ∅ ↔ 𝐶 < 𝐷 ) )
14 3 4 13 syl2anc ( 𝜑 → ( ( 𝐶 (,) 𝐷 ) ≠ ∅ ↔ 𝐶 < 𝐷 ) )
15 5 14 mpbird ( 𝜑 → ( 𝐶 (,) 𝐷 ) ≠ ∅ )
16 15 adantr ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → ( 𝐶 (,) 𝐷 ) ≠ ∅ )
17 ssn0 ( ( ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ∧ ( 𝐶 (,) 𝐷 ) ≠ ∅ ) → ( 𝐴 (,) 𝐵 ) ≠ ∅ )
18 6 16 17 syl2anc ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → ( 𝐴 (,) 𝐵 ) ≠ ∅ )
19 idd ( ( 𝑤 ∈ ℝ*𝐵 ∈ ℝ* ) → ( 𝑤 < 𝐵𝑤 < 𝐵 ) )
20 xrltle ( ( 𝑤 ∈ ℝ*𝐵 ∈ ℝ* ) → ( 𝑤 < 𝐵𝑤𝐵 ) )
21 idd ( ( 𝐴 ∈ ℝ*𝑤 ∈ ℝ* ) → ( 𝐴 < 𝑤𝐴 < 𝑤 ) )
22 xrltle ( ( 𝐴 ∈ ℝ*𝑤 ∈ ℝ* ) → ( 𝐴 < 𝑤𝐴𝑤 ) )
23 7 19 20 21 22 ixxlb ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ∧ ( 𝐴 (,) 𝐵 ) ≠ ∅ ) → inf ( ( 𝐴 (,) 𝐵 ) , ℝ* , < ) = 𝐴 )
24 11 12 18 23 syl3anc ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → inf ( ( 𝐴 (,) 𝐵 ) , ℝ* , < ) = 𝐴 )
25 3 adantr ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → 𝐶 ∈ ℝ* )
26 4 adantr ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → 𝐷 ∈ ℝ* )
27 idd ( ( 𝑤 ∈ ℝ*𝐷 ∈ ℝ* ) → ( 𝑤 < 𝐷𝑤 < 𝐷 ) )
28 xrltle ( ( 𝑤 ∈ ℝ*𝐷 ∈ ℝ* ) → ( 𝑤 < 𝐷𝑤𝐷 ) )
29 idd ( ( 𝐶 ∈ ℝ*𝑤 ∈ ℝ* ) → ( 𝐶 < 𝑤𝐶 < 𝑤 ) )
30 xrltle ( ( 𝐶 ∈ ℝ*𝑤 ∈ ℝ* ) → ( 𝐶 < 𝑤𝐶𝑤 ) )
31 7 27 28 29 30 ixxlb ( ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ* ∧ ( 𝐶 (,) 𝐷 ) ≠ ∅ ) → inf ( ( 𝐶 (,) 𝐷 ) , ℝ* , < ) = 𝐶 )
32 25 26 16 31 syl3anc ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → inf ( ( 𝐶 (,) 𝐷 ) , ℝ* , < ) = 𝐶 )
33 10 24 32 3brtr3d ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → 𝐴𝐶 )
34 supxrss ( ( ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ∧ ( 𝐴 (,) 𝐵 ) ⊆ ℝ* ) → sup ( ( 𝐶 (,) 𝐷 ) , ℝ* , < ) ≤ sup ( ( 𝐴 (,) 𝐵 ) , ℝ* , < ) )
35 6 8 34 sylancl ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → sup ( ( 𝐶 (,) 𝐷 ) , ℝ* , < ) ≤ sup ( ( 𝐴 (,) 𝐵 ) , ℝ* , < ) )
36 7 27 28 29 30 ixxub ( ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ* ∧ ( 𝐶 (,) 𝐷 ) ≠ ∅ ) → sup ( ( 𝐶 (,) 𝐷 ) , ℝ* , < ) = 𝐷 )
37 25 26 16 36 syl3anc ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → sup ( ( 𝐶 (,) 𝐷 ) , ℝ* , < ) = 𝐷 )
38 7 19 20 21 22 ixxub ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ∧ ( 𝐴 (,) 𝐵 ) ≠ ∅ ) → sup ( ( 𝐴 (,) 𝐵 ) , ℝ* , < ) = 𝐵 )
39 11 12 18 38 syl3anc ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → sup ( ( 𝐴 (,) 𝐵 ) , ℝ* , < ) = 𝐵 )
40 35 37 39 3brtr3d ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → 𝐷𝐵 )
41 33 40 jca ( ( 𝜑 ∧ ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ) → ( 𝐴𝐶𝐷𝐵 ) )
42 1 adantr ( ( 𝜑 ∧ ( 𝐴𝐶𝐷𝐵 ) ) → 𝐴 ∈ ℝ* )
43 2 adantr ( ( 𝜑 ∧ ( 𝐴𝐶𝐷𝐵 ) ) → 𝐵 ∈ ℝ* )
44 simprl ( ( 𝜑 ∧ ( 𝐴𝐶𝐷𝐵 ) ) → 𝐴𝐶 )
45 simprr ( ( 𝜑 ∧ ( 𝐴𝐶𝐷𝐵 ) ) → 𝐷𝐵 )
46 ioossioo ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) ∧ ( 𝐴𝐶𝐷𝐵 ) ) → ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) )
47 42 43 44 45 46 syl22anc ( ( 𝜑 ∧ ( 𝐴𝐶𝐷𝐵 ) ) → ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) )
48 41 47 impbida ( 𝜑 → ( ( 𝐶 (,) 𝐷 ) ⊆ ( 𝐴 (,) 𝐵 ) ↔ ( 𝐴𝐶𝐷𝐵 ) ) )