ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  xrminmax GIF version

Theorem xrminmax 12014
Description: Minimum expressed in terms of maximum. (Contributed by Jim Kingdon, 2-May-2023.)
Assertion
Ref Expression
xrminmax ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → inf({𝐴, 𝐵}, ℝ*, < ) = -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))

Proof of Theorem xrminmax
Dummy variables 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 xnegcl 10217 . . . . . . . . . . . 12 (𝑧 ∈ ℝ* → -𝑒𝑧 ∈ ℝ*)
2 elprg 3728 . . . . . . . . . . . 12 (-𝑒𝑧 ∈ ℝ* → (-𝑒𝑧 ∈ {𝐴, 𝐵} ↔ (-𝑒𝑧 = 𝐴 ∨ -𝑒𝑧 = 𝐵)))
31, 2syl 14 . . . . . . . . . . 11 (𝑧 ∈ ℝ* → (-𝑒𝑧 ∈ {𝐴, 𝐵} ↔ (-𝑒𝑧 = 𝐴 ∨ -𝑒𝑧 = 𝐵)))
43adantl 277 . . . . . . . . . 10 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → (-𝑒𝑧 ∈ {𝐴, 𝐵} ↔ (-𝑒𝑧 = 𝐴 ∨ -𝑒𝑧 = 𝐵)))
5 simpr 110 . . . . . . . . . . . . 13 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → 𝑧 ∈ ℝ*)
6 simpll 531 . . . . . . . . . . . . 13 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → 𝐴 ∈ ℝ*)
75, 6xrnegcon1d 12013 . . . . . . . . . . . 12 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → (-𝑒𝑧 = 𝐴 ↔ -𝑒𝐴 = 𝑧))
8 eqcom 2240 . . . . . . . . . . . 12 (-𝑒𝐴 = 𝑧𝑧 = -𝑒𝐴)
97, 8bitrdi 196 . . . . . . . . . . 11 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → (-𝑒𝑧 = 𝐴𝑧 = -𝑒𝐴))
10 simplr 533 . . . . . . . . . . . . 13 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → 𝐵 ∈ ℝ*)
115, 10xrnegcon1d 12013 . . . . . . . . . . . 12 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → (-𝑒𝑧 = 𝐵 ↔ -𝑒𝐵 = 𝑧))
12 eqcom 2240 . . . . . . . . . . . 12 (-𝑒𝐵 = 𝑧𝑧 = -𝑒𝐵)
1311, 12bitrdi 196 . . . . . . . . . . 11 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → (-𝑒𝑧 = 𝐵𝑧 = -𝑒𝐵))
149, 13orbi12d 805 . . . . . . . . . 10 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → ((-𝑒𝑧 = 𝐴 ∨ -𝑒𝑧 = 𝐵) ↔ (𝑧 = -𝑒𝐴𝑧 = -𝑒𝐵)))
154, 14bitrd 188 . . . . . . . . 9 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑧 ∈ ℝ*) → (-𝑒𝑧 ∈ {𝐴, 𝐵} ↔ (𝑧 = -𝑒𝐴𝑧 = -𝑒𝐵)))
1615rabbidva 2809 . . . . . . . 8 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → {𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}} = {𝑧 ∈ ℝ* ∣ (𝑧 = -𝑒𝐴𝑧 = -𝑒𝐵)})
17 dfrab2 3508 . . . . . . . . . 10 {𝑧 ∈ ℝ* ∣ (𝑧 = -𝑒𝐴𝑧 = -𝑒𝐵)} = ({𝑧 ∣ (𝑧 = -𝑒𝐴𝑧 = -𝑒𝐵)} ∩ ℝ*)
18 dfpr2 3727 . . . . . . . . . . 11 {-𝑒𝐴, -𝑒𝐵} = {𝑧 ∣ (𝑧 = -𝑒𝐴𝑧 = -𝑒𝐵)}
1918ineq1i 3428 . . . . . . . . . 10 ({-𝑒𝐴, -𝑒𝐵} ∩ ℝ*) = ({𝑧 ∣ (𝑧 = -𝑒𝐴𝑧 = -𝑒𝐵)} ∩ ℝ*)
2017, 19eqtr4i 2262 . . . . . . . . 9 {𝑧 ∈ ℝ* ∣ (𝑧 = -𝑒𝐴𝑧 = -𝑒𝐵)} = ({-𝑒𝐴, -𝑒𝐵} ∩ ℝ*)
21 xnegcl 10217 . . . . . . . . . . 11 (𝐴 ∈ ℝ* → -𝑒𝐴 ∈ ℝ*)
22 xnegcl 10217 . . . . . . . . . . 11 (𝐵 ∈ ℝ* → -𝑒𝐵 ∈ ℝ*)
23 prssi 3871 . . . . . . . . . . 11 ((-𝑒𝐴 ∈ ℝ* ∧ -𝑒𝐵 ∈ ℝ*) → {-𝑒𝐴, -𝑒𝐵} ⊆ ℝ*)
2421, 22, 23syl2an 289 . . . . . . . . . 10 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → {-𝑒𝐴, -𝑒𝐵} ⊆ ℝ*)
25 df-ss 3233 . . . . . . . . . 10 ({-𝑒𝐴, -𝑒𝐵} ⊆ ℝ* ↔ ({-𝑒𝐴, -𝑒𝐵} ∩ ℝ*) = {-𝑒𝐴, -𝑒𝐵})
2624, 25sylib 122 . . . . . . . . 9 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → ({-𝑒𝐴, -𝑒𝐵} ∩ ℝ*) = {-𝑒𝐴, -𝑒𝐵})
2720, 26eqtrid 2283 . . . . . . . 8 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → {𝑧 ∈ ℝ* ∣ (𝑧 = -𝑒𝐴𝑧 = -𝑒𝐵)} = {-𝑒𝐴, -𝑒𝐵})
2816, 27eqtrd 2271 . . . . . . 7 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → {𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}} = {-𝑒𝐴, -𝑒𝐵})
2928supeq1d 7321 . . . . . 6 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) = sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
30 xrmaxcl 12001 . . . . . . 7 ((-𝑒𝐴 ∈ ℝ* ∧ -𝑒𝐵 ∈ ℝ*) → sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ∈ ℝ*)
3121, 22, 30syl2an 289 . . . . . 6 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ∈ ℝ*)
3229, 31eqeltrd 2315 . . . . 5 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ∈ ℝ*)
3332xnegcld 10240 . . . 4 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ∈ ℝ*)
34 xnegeq 10212 . . . . . . . . 9 (𝑦 = 𝐴 → -𝑒𝑦 = -𝑒𝐴)
3534adantl 277 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐴) → -𝑒𝑦 = -𝑒𝐴)
36 xrmax1sup 12002 . . . . . . . . . 10 ((-𝑒𝐴 ∈ ℝ* ∧ -𝑒𝐵 ∈ ℝ*) → -𝑒𝐴 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
3721, 22, 36syl2an 289 . . . . . . . . 9 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → -𝑒𝐴 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
3837ad2antrr 492 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐴) → -𝑒𝐴 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
3935, 38eqbrtrd 4150 . . . . . . 7 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐴) → -𝑒𝑦 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
40 simpll 531 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐴) → (𝐴 ∈ ℝ*𝐵 ∈ ℝ*))
41 simpr 110 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐴) → 𝑦 = 𝐴)
42 simplll 539 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐴) → 𝐴 ∈ ℝ*)
4341, 42eqeltrd 2315 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐴) → 𝑦 ∈ ℝ*)
44 xnegeq 10212 . . . . . . . . . . . . 13 (sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) = sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) → -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) = -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
4529, 44syl 14 . . . . . . . . . . . 12 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) = -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
4645breq2d 4140 . . . . . . . . . . 11 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → (𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ↔ 𝑦 < -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
4746notbid 677 . . . . . . . . . 10 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → (¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ↔ ¬ 𝑦 < -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
4847adantr 276 . . . . . . . . 9 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → (¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ↔ ¬ 𝑦 < -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
4931adantr 276 . . . . . . . . . . 11 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ∈ ℝ*)
5049xnegcld 10240 . . . . . . . . . 10 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ∈ ℝ*)
51 xrlenlt 8384 . . . . . . . . . 10 ((-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ∈ ℝ*𝑦 ∈ ℝ*) → (-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ≤ 𝑦 ↔ ¬ 𝑦 < -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
5250, 51sylancom 424 . . . . . . . . 9 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → (-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ≤ 𝑦 ↔ ¬ 𝑦 < -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
53 xleneg 10222 . . . . . . . . . . 11 ((-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ∈ ℝ*𝑦 ∈ ℝ*) → (-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ≤ 𝑦 ↔ -𝑒𝑦 ≤ -𝑒-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
5450, 53sylancom 424 . . . . . . . . . 10 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → (-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ≤ 𝑦 ↔ -𝑒𝑦 ≤ -𝑒-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
55 xnegneg 10218 . . . . . . . . . . . 12 (sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ∈ ℝ* → -𝑒-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) = sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
5649, 55syl 14 . . . . . . . . . . 11 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → -𝑒-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) = sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
5756breq2d 4140 . . . . . . . . . 10 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → (-𝑒𝑦 ≤ -𝑒-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ↔ -𝑒𝑦 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
5854, 57bitrd 188 . . . . . . . . 9 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → (-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ≤ 𝑦 ↔ -𝑒𝑦 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
5948, 52, 583bitr2d 216 . . . . . . . 8 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → (¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ↔ -𝑒𝑦 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
6040, 43, 59syl2anc 415 . . . . . . 7 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐴) → (¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ↔ -𝑒𝑦 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
6139, 60mpbird 167 . . . . . 6 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐴) → ¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ))
62 xnegeq 10212 . . . . . . . . 9 (𝑦 = 𝐵 → -𝑒𝑦 = -𝑒𝐵)
6362adantl 277 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐵) → -𝑒𝑦 = -𝑒𝐵)
64 xrmax2sup 12003 . . . . . . . . . 10 ((-𝑒𝐴 ∈ ℝ* ∧ -𝑒𝐵 ∈ ℝ*) → -𝑒𝐵 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
6521, 22, 64syl2an 289 . . . . . . . . 9 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → -𝑒𝐵 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
6665ad2antrr 492 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐵) → -𝑒𝐵 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
6763, 66eqbrtrd 4150 . . . . . . 7 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐵) → -𝑒𝑦 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
68 simpll 531 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐵) → (𝐴 ∈ ℝ*𝐵 ∈ ℝ*))
69 simpr 110 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐵) → 𝑦 = 𝐵)
70 simpllr 540 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐵) → 𝐵 ∈ ℝ*)
7169, 70eqeltrd 2315 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐵) → 𝑦 ∈ ℝ*)
7268, 71, 59syl2anc 415 . . . . . . 7 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐵) → (¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ↔ -𝑒𝑦 ≤ sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
7367, 72mpbird 167 . . . . . 6 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) ∧ 𝑦 = 𝐵) → ¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ))
74 elpri 3731 . . . . . . 7 (𝑦 ∈ {𝐴, 𝐵} → (𝑦 = 𝐴𝑦 = 𝐵))
7574adantl 277 . . . . . 6 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) → (𝑦 = 𝐴𝑦 = 𝐵))
7661, 73, 75mpjaodan 810 . . . . 5 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ {𝐴, 𝐵}) → ¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ))
7776ralrimiva 2623 . . . 4 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → ∀𝑦 ∈ {𝐴, 𝐵} ¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ))
7821ad3antrrr 496 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → -𝑒𝐴 ∈ ℝ*)
7922ad3antlr 497 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → -𝑒𝐵 ∈ ℝ*)
80 simplr 533 . . . . . . . . . 10 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → 𝑦 ∈ ℝ*)
8180xnegcld 10240 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → -𝑒𝑦 ∈ ℝ*)
82 simpr 110 . . . . . . . . . . 11 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦)
8345breq1d 4138 . . . . . . . . . . . 12 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → (-𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦 ↔ -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) < 𝑦))
8483ad2antrr 492 . . . . . . . . . . 11 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → (-𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦 ↔ -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) < 𝑦))
8582, 84mpbid 147 . . . . . . . . . 10 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) < 𝑦)
8650adantr 276 . . . . . . . . . . . 12 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ∈ ℝ*)
87 xltneg 10221 . . . . . . . . . . . 12 ((-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ∈ ℝ*𝑦 ∈ ℝ*) → (-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) < 𝑦 ↔ -𝑒𝑦 < -𝑒-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
8886, 80, 87syl2anc 415 . . . . . . . . . . 11 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → (-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) < 𝑦 ↔ -𝑒𝑦 < -𝑒-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
8956breq2d 4140 . . . . . . . . . . . 12 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → (-𝑒𝑦 < -𝑒-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ↔ -𝑒𝑦 < sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
9089adantr 276 . . . . . . . . . . 11 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → (-𝑒𝑦 < -𝑒-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) ↔ -𝑒𝑦 < sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
9188, 90bitrd 188 . . . . . . . . . 10 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → (-𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ) < 𝑦 ↔ -𝑒𝑦 < sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < )))
9285, 91mpbid 147 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → -𝑒𝑦 < sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
93 xrmaxleastlt 12005 . . . . . . . . 9 (((-𝑒𝐴 ∈ ℝ* ∧ -𝑒𝐵 ∈ ℝ*) ∧ (-𝑒𝑦 ∈ ℝ* ∧ -𝑒𝑦 < sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))) → (-𝑒𝑦 < -𝑒𝐴 ∨ -𝑒𝑦 < -𝑒𝐵))
9478, 79, 81, 92, 93syl22anc 1279 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → (-𝑒𝑦 < -𝑒𝐴 ∨ -𝑒𝑦 < -𝑒𝐵))
95 simplll 539 . . . . . . . . . 10 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → 𝐴 ∈ ℝ*)
96 xltneg 10221 . . . . . . . . . 10 ((𝐴 ∈ ℝ*𝑦 ∈ ℝ*) → (𝐴 < 𝑦 ↔ -𝑒𝑦 < -𝑒𝐴))
9795, 80, 96syl2anc 415 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → (𝐴 < 𝑦 ↔ -𝑒𝑦 < -𝑒𝐴))
98 simpllr 540 . . . . . . . . . 10 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → 𝐵 ∈ ℝ*)
99 xltneg 10221 . . . . . . . . . 10 ((𝐵 ∈ ℝ*𝑦 ∈ ℝ*) → (𝐵 < 𝑦 ↔ -𝑒𝑦 < -𝑒𝐵))
10098, 80, 99syl2anc 415 . . . . . . . . 9 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → (𝐵 < 𝑦 ↔ -𝑒𝑦 < -𝑒𝐵))
10197, 100orbi12d 805 . . . . . . . 8 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → ((𝐴 < 𝑦𝐵 < 𝑦) ↔ (-𝑒𝑦 < -𝑒𝐴 ∨ -𝑒𝑦 < -𝑒𝐵)))
10294, 101mpbird 167 . . . . . . 7 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → (𝐴 < 𝑦𝐵 < 𝑦))
103 breq1 4131 . . . . . . . . 9 (𝑧 = 𝐴 → (𝑧 < 𝑦𝐴 < 𝑦))
104 breq1 4131 . . . . . . . . 9 (𝑧 = 𝐵 → (𝑧 < 𝑦𝐵 < 𝑦))
105103, 104rexprg 3760 . . . . . . . 8 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → (∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦 ↔ (𝐴 < 𝑦𝐵 < 𝑦)))
106105ad2antrr 492 . . . . . . 7 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → (∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦 ↔ (𝐴 < 𝑦𝐵 < 𝑦)))
107102, 106mpbird 167 . . . . . 6 ((((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) ∧ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦) → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦)
108107ex 115 . . . . 5 (((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) ∧ 𝑦 ∈ ℝ*) → (-𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦))
109108ralrimiva 2623 . . . 4 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → ∀𝑦 ∈ ℝ* (-𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦))
110 breq2 4132 . . . . . . . 8 (𝑥 = -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) → (𝑦 < 𝑥𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < )))
111110notbid 677 . . . . . . 7 (𝑥 = -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) → (¬ 𝑦 < 𝑥 ↔ ¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < )))
112111ralbidv 2550 . . . . . 6 (𝑥 = -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) → (∀𝑦 ∈ {𝐴, 𝐵} ¬ 𝑦 < 𝑥 ↔ ∀𝑦 ∈ {𝐴, 𝐵} ¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < )))
113 breq1 4131 . . . . . . . 8 (𝑥 = -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) → (𝑥 < 𝑦 ↔ -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦))
114113imbi1d 231 . . . . . . 7 (𝑥 = -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) → ((𝑥 < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦) ↔ (-𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦)))
115114ralbidv 2550 . . . . . 6 (𝑥 = -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) → (∀𝑦 ∈ ℝ* (𝑥 < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦) ↔ ∀𝑦 ∈ ℝ* (-𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦)))
116112, 115anbi12d 477 . . . . 5 (𝑥 = -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) → ((∀𝑦 ∈ {𝐴, 𝐵} ¬ 𝑦 < 𝑥 ∧ ∀𝑦 ∈ ℝ* (𝑥 < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦)) ↔ (∀𝑦 ∈ {𝐴, 𝐵} ¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ∧ ∀𝑦 ∈ ℝ* (-𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦))))
117116rspcev 2929 . . . 4 ((-𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ∈ ℝ* ∧ (∀𝑦 ∈ {𝐴, 𝐵} ¬ 𝑦 < -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) ∧ ∀𝑦 ∈ ℝ* (-𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ) < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦))) → ∃𝑥 ∈ ℝ* (∀𝑦 ∈ {𝐴, 𝐵} ¬ 𝑦 < 𝑥 ∧ ∀𝑦 ∈ ℝ* (𝑥 < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦)))
11833, 77, 109, 117syl12anc 1276 . . 3 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → ∃𝑥 ∈ ℝ* (∀𝑦 ∈ {𝐴, 𝐵} ¬ 𝑦 < 𝑥 ∧ ∀𝑦 ∈ ℝ* (𝑥 < 𝑦 → ∃𝑧 ∈ {𝐴, 𝐵}𝑧 < 𝑦)))
119 prssi 3871 . . 3 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → {𝐴, 𝐵} ⊆ ℝ*)
120118, 119infxrnegsupex 12012 . 2 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → inf({𝐴, 𝐵}, ℝ*, < ) = -𝑒sup({𝑧 ∈ ℝ* ∣ -𝑒𝑧 ∈ {𝐴, 𝐵}}, ℝ*, < ))
121120, 45eqtrd 2271 1 ((𝐴 ∈ ℝ*𝐵 ∈ ℝ*) → inf({𝐴, 𝐵}, ℝ*, < ) = -𝑒sup({-𝑒𝐴, -𝑒𝐵}, ℝ*, < ))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wb 105  wo 720   = wceq 1402  wcel 2209  {cab 2224  wral 2528  wrex 2529  {crab 2532  cin 3219  wss 3220  {cpr 3709   class class class wbr 4128  supcsup 7316  infcinf 7317  *cxr 8353   < clt 8354  cle 8355  -𝑒cxne 10154
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4244  ax-sep 4247  ax-nul 4257  ax-pow 4309  ax-pr 4344  ax-un 4576  ax-setind 4682  ax-iinf 4733  ax-cnex 8264  ax-resscn 8265  ax-1cn 8266  ax-1re 8267  ax-icn 8268  ax-addcl 8269  ax-addrcl 8270  ax-mulcl 8271  ax-mulrcl 8272  ax-addcom 8273  ax-mulcom 8274  ax-addass 8275  ax-mulass 8276  ax-distr 8277  ax-i2m1 8278  ax-0lt1 8279  ax-1rid 8280  ax-0id 8281  ax-rnegex 8282  ax-precex 8283  ax-cnre 8284  ax-pre-ltirr 8285  ax-pre-ltwlin 8286  ax-pre-lttrn 8287  ax-pre-apti 8288  ax-pre-ltadd 8289  ax-pre-mulgt0 8290  ax-pre-mulext 8291  ax-arch 8292  ax-caucvg 8293
This theorem depends on definitions:  df-bi 117  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rmo 2536  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3714  df-pr 3715  df-op 3717  df-uni 3934  df-int 3969  df-iun 4012  df-br 4129  df-opab 4191  df-mpt 4192  df-tr 4228  df-id 4436  df-po 4439  df-iso 4440  df-iord 4509  df-on 4511  df-ilim 4512  df-suc 4514  df-iom 4736  df-xp 4778  df-rel 4779  df-cnv 4780  df-co 4781  df-dm 4782  df-rn 4783  df-res 4784  df-ima 4785  df-iota 5335  df-fun 5377  df-fn 5378  df-f 5379  df-f1 5380  df-fo 5381  df-f1o 5382  df-fv 5383  df-isom 5384  df-riota 6032  df-ov 6082  df-oprab 6083  df-mpo 6084  df-1st 6368  df-2nd 6369  df-recs 6570  df-frec 6656  df-sup 7318  df-inf 7319  df-pnf 8356  df-mnf 8357  df-xr 8358  df-ltxr 8359  df-le 8360  df-sub 8493  df-neg 8494  df-reap 8897  df-ap 8904  df-div 8997  df-inn 9288  df-2 9346  df-3 9347  df-4 9348  df-n0 9547  df-z 9628  df-uz 9905  df-rp 10038  df-xneg 10157  df-seqfrec 10868  df-exp 10959  df-cj 11590  df-re 11591  df-im 11592  df-rsqrt 11747  df-abs 11748
This theorem is referenced by:  xrmincl  12015  xrmin1inf  12016  xrmin2inf  12017  xrmineqinf  12018  xrltmininf  12019  xrlemininf  12020  xrminltinf  12021  xrminrecl  12022  xrminrpcl  12023  xrminadd  12024
  Copyright terms: Public domain W3C validator