Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  xrge0pluscn Structured version   Visualization version   GIF version

Theorem xrge0pluscn 32920
Description: The addition operation of the extended nonnegative real numbers monoid is continuous. (Contributed by Thierry Arnoux, 24-Mar-2017.)
Hypotheses
Ref Expression
xrge0iifhmeo.1 𝐹 = (π‘₯ ∈ (0[,]1) ↦ if(π‘₯ = 0, +∞, -(logβ€˜π‘₯)))
xrge0iifhmeo.k 𝐽 = ((ordTopβ€˜ ≀ ) β†Ύt (0[,]+∞))
xrge0pluscn.1 + = ( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞)))
Assertion
Ref Expression
xrge0pluscn + ∈ ((𝐽 Γ—t 𝐽) Cn 𝐽)
Distinct variable group:   π‘₯,𝐹
Allowed substitution hints:   + (π‘₯)   𝐽(π‘₯)

Proof of Theorem xrge0pluscn
Dummy variables 𝑦 𝑒 𝑣 π‘Ž 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 xrge0iifhmeo.1 . . 3 𝐹 = (π‘₯ ∈ (0[,]1) ↦ if(π‘₯ = 0, +∞, -(logβ€˜π‘₯)))
2 xrge0iifhmeo.k . . 3 𝐽 = ((ordTopβ€˜ ≀ ) β†Ύt (0[,]+∞))
31, 2xrge0iifhmeo 32916 . 2 𝐹 ∈ (IIHomeo𝐽)
4 unitsscn 13477 . . . . 5 (0[,]1) βŠ† β„‚
5 xpss12 5692 . . . . 5 (((0[,]1) βŠ† β„‚ ∧ (0[,]1) βŠ† β„‚) β†’ ((0[,]1) Γ— (0[,]1)) βŠ† (β„‚ Γ— β„‚))
64, 4, 5mp2an 691 . . . 4 ((0[,]1) Γ— (0[,]1)) βŠ† (β„‚ Γ— β„‚)
7 ax-mulf 11190 . . . . 5 Β· :(β„‚ Γ— β„‚)βŸΆβ„‚
8 ffn 6718 . . . . 5 ( Β· :(β„‚ Γ— β„‚)βŸΆβ„‚ β†’ Β· Fn (β„‚ Γ— β„‚))
9 fnssresb 6673 . . . . 5 ( Β· Fn (β„‚ Γ— β„‚) β†’ (( Β· β†Ύ ((0[,]1) Γ— (0[,]1))) Fn ((0[,]1) Γ— (0[,]1)) ↔ ((0[,]1) Γ— (0[,]1)) βŠ† (β„‚ Γ— β„‚)))
107, 8, 9mp2b 10 . . . 4 (( Β· β†Ύ ((0[,]1) Γ— (0[,]1))) Fn ((0[,]1) Γ— (0[,]1)) ↔ ((0[,]1) Γ— (0[,]1)) βŠ† (β„‚ Γ— β„‚))
116, 10mpbir 230 . . 3 ( Β· β†Ύ ((0[,]1) Γ— (0[,]1))) Fn ((0[,]1) Γ— (0[,]1))
12 ovres 7573 . . . . 5 ((𝑒 ∈ (0[,]1) ∧ 𝑣 ∈ (0[,]1)) β†’ (𝑒( Β· β†Ύ ((0[,]1) Γ— (0[,]1)))𝑣) = (𝑒 Β· 𝑣))
13 iimulcl 24453 . . . . 5 ((𝑒 ∈ (0[,]1) ∧ 𝑣 ∈ (0[,]1)) β†’ (𝑒 Β· 𝑣) ∈ (0[,]1))
1412, 13eqeltrd 2834 . . . 4 ((𝑒 ∈ (0[,]1) ∧ 𝑣 ∈ (0[,]1)) β†’ (𝑒( Β· β†Ύ ((0[,]1) Γ— (0[,]1)))𝑣) ∈ (0[,]1))
1514rgen2 3198 . . 3 βˆ€π‘’ ∈ (0[,]1)βˆ€π‘£ ∈ (0[,]1)(𝑒( Β· β†Ύ ((0[,]1) Γ— (0[,]1)))𝑣) ∈ (0[,]1)
16 ffnov 7535 . . 3 (( Β· β†Ύ ((0[,]1) Γ— (0[,]1))):((0[,]1) Γ— (0[,]1))⟢(0[,]1) ↔ (( Β· β†Ύ ((0[,]1) Γ— (0[,]1))) Fn ((0[,]1) Γ— (0[,]1)) ∧ βˆ€π‘’ ∈ (0[,]1)βˆ€π‘£ ∈ (0[,]1)(𝑒( Β· β†Ύ ((0[,]1) Γ— (0[,]1)))𝑣) ∈ (0[,]1)))
1711, 15, 16mpbir2an 710 . 2 ( Β· β†Ύ ((0[,]1) Γ— (0[,]1))):((0[,]1) Γ— (0[,]1))⟢(0[,]1)
18 iccssxr 13407 . . . . . 6 (0[,]+∞) βŠ† ℝ*
19 xpss12 5692 . . . . . 6 (((0[,]+∞) βŠ† ℝ* ∧ (0[,]+∞) βŠ† ℝ*) β†’ ((0[,]+∞) Γ— (0[,]+∞)) βŠ† (ℝ* Γ— ℝ*))
2018, 18, 19mp2an 691 . . . . 5 ((0[,]+∞) Γ— (0[,]+∞)) βŠ† (ℝ* Γ— ℝ*)
21 xaddf 13203 . . . . . 6 +𝑒 :(ℝ* Γ— ℝ*)βŸΆβ„*
22 ffn 6718 . . . . . 6 ( +𝑒 :(ℝ* Γ— ℝ*)βŸΆβ„* β†’ +𝑒 Fn (ℝ* Γ— ℝ*))
23 fnssresb 6673 . . . . . 6 ( +𝑒 Fn (ℝ* Γ— ℝ*) β†’ (( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞))) Fn ((0[,]+∞) Γ— (0[,]+∞)) ↔ ((0[,]+∞) Γ— (0[,]+∞)) βŠ† (ℝ* Γ— ℝ*)))
2421, 22, 23mp2b 10 . . . . 5 (( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞))) Fn ((0[,]+∞) Γ— (0[,]+∞)) ↔ ((0[,]+∞) Γ— (0[,]+∞)) βŠ† (ℝ* Γ— ℝ*))
2520, 24mpbir 230 . . . 4 ( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞))) Fn ((0[,]+∞) Γ— (0[,]+∞))
26 xrge0pluscn.1 . . . . 5 + = ( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞)))
2726fneq1i 6647 . . . 4 ( + Fn ((0[,]+∞) Γ— (0[,]+∞)) ↔ ( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞))) Fn ((0[,]+∞) Γ— (0[,]+∞)))
2825, 27mpbir 230 . . 3 + Fn ((0[,]+∞) Γ— (0[,]+∞))
2926oveqi 7422 . . . . 5 (π‘Ž + 𝑏) = (π‘Ž( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞)))𝑏)
30 ovres 7573 . . . . . 6 ((π‘Ž ∈ (0[,]+∞) ∧ 𝑏 ∈ (0[,]+∞)) β†’ (π‘Ž( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞)))𝑏) = (π‘Ž +𝑒 𝑏))
31 ge0xaddcl 13439 . . . . . 6 ((π‘Ž ∈ (0[,]+∞) ∧ 𝑏 ∈ (0[,]+∞)) β†’ (π‘Ž +𝑒 𝑏) ∈ (0[,]+∞))
3230, 31eqeltrd 2834 . . . . 5 ((π‘Ž ∈ (0[,]+∞) ∧ 𝑏 ∈ (0[,]+∞)) β†’ (π‘Ž( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞)))𝑏) ∈ (0[,]+∞))
3329, 32eqeltrid 2838 . . . 4 ((π‘Ž ∈ (0[,]+∞) ∧ 𝑏 ∈ (0[,]+∞)) β†’ (π‘Ž + 𝑏) ∈ (0[,]+∞))
3433rgen2 3198 . . 3 βˆ€π‘Ž ∈ (0[,]+∞)βˆ€π‘ ∈ (0[,]+∞)(π‘Ž + 𝑏) ∈ (0[,]+∞)
35 ffnov 7535 . . 3 ( + :((0[,]+∞) Γ— (0[,]+∞))⟢(0[,]+∞) ↔ ( + Fn ((0[,]+∞) Γ— (0[,]+∞)) ∧ βˆ€π‘Ž ∈ (0[,]+∞)βˆ€π‘ ∈ (0[,]+∞)(π‘Ž + 𝑏) ∈ (0[,]+∞)))
3628, 34, 35mpbir2an 710 . 2 + :((0[,]+∞) Γ— (0[,]+∞))⟢(0[,]+∞)
37 iitopon 24395 . 2 II ∈ (TopOnβ€˜(0[,]1))
38 letopon 22709 . . . 4 (ordTopβ€˜ ≀ ) ∈ (TopOnβ€˜β„*)
39 resttopon 22665 . . . 4 (((ordTopβ€˜ ≀ ) ∈ (TopOnβ€˜β„*) ∧ (0[,]+∞) βŠ† ℝ*) β†’ ((ordTopβ€˜ ≀ ) β†Ύt (0[,]+∞)) ∈ (TopOnβ€˜(0[,]+∞)))
4038, 18, 39mp2an 691 . . 3 ((ordTopβ€˜ ≀ ) β†Ύt (0[,]+∞)) ∈ (TopOnβ€˜(0[,]+∞))
412, 40eqeltri 2830 . 2 𝐽 ∈ (TopOnβ€˜(0[,]+∞))
4226oveqi 7422 . . . 4 ((πΉβ€˜π‘’) + (πΉβ€˜π‘£)) = ((πΉβ€˜π‘’)( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞)))(πΉβ€˜π‘£))
431xrge0iifcnv 32913 . . . . . . . 8 (𝐹:(0[,]1)–1-1-ontoβ†’(0[,]+∞) ∧ ◑𝐹 = (𝑦 ∈ (0[,]+∞) ↦ if(𝑦 = +∞, 0, (expβ€˜-𝑦))))
4443simpli 485 . . . . . . 7 𝐹:(0[,]1)–1-1-ontoβ†’(0[,]+∞)
45 f1of 6834 . . . . . . 7 (𝐹:(0[,]1)–1-1-ontoβ†’(0[,]+∞) β†’ 𝐹:(0[,]1)⟢(0[,]+∞))
4644, 45ax-mp 5 . . . . . 6 𝐹:(0[,]1)⟢(0[,]+∞)
4746ffvelcdmi 7086 . . . . 5 (𝑒 ∈ (0[,]1) β†’ (πΉβ€˜π‘’) ∈ (0[,]+∞))
4846ffvelcdmi 7086 . . . . 5 (𝑣 ∈ (0[,]1) β†’ (πΉβ€˜π‘£) ∈ (0[,]+∞))
49 ovres 7573 . . . . 5 (((πΉβ€˜π‘’) ∈ (0[,]+∞) ∧ (πΉβ€˜π‘£) ∈ (0[,]+∞)) β†’ ((πΉβ€˜π‘’)( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞)))(πΉβ€˜π‘£)) = ((πΉβ€˜π‘’) +𝑒 (πΉβ€˜π‘£)))
5047, 48, 49syl2an 597 . . . 4 ((𝑒 ∈ (0[,]1) ∧ 𝑣 ∈ (0[,]1)) β†’ ((πΉβ€˜π‘’)( +𝑒 β†Ύ ((0[,]+∞) Γ— (0[,]+∞)))(πΉβ€˜π‘£)) = ((πΉβ€˜π‘’) +𝑒 (πΉβ€˜π‘£)))
5142, 50eqtrid 2785 . . 3 ((𝑒 ∈ (0[,]1) ∧ 𝑣 ∈ (0[,]1)) β†’ ((πΉβ€˜π‘’) + (πΉβ€˜π‘£)) = ((πΉβ€˜π‘’) +𝑒 (πΉβ€˜π‘£)))
521, 2xrge0iifhom 32917 . . 3 ((𝑒 ∈ (0[,]1) ∧ 𝑣 ∈ (0[,]1)) β†’ (πΉβ€˜(𝑒 Β· 𝑣)) = ((πΉβ€˜π‘’) +𝑒 (πΉβ€˜π‘£)))
5312eqcomd 2739 . . . 4 ((𝑒 ∈ (0[,]1) ∧ 𝑣 ∈ (0[,]1)) β†’ (𝑒 Β· 𝑣) = (𝑒( Β· β†Ύ ((0[,]1) Γ— (0[,]1)))𝑣))
5453fveq2d 6896 . . 3 ((𝑒 ∈ (0[,]1) ∧ 𝑣 ∈ (0[,]1)) β†’ (πΉβ€˜(𝑒 Β· 𝑣)) = (πΉβ€˜(𝑒( Β· β†Ύ ((0[,]1) Γ— (0[,]1)))𝑣)))
5551, 52, 543eqtr2rd 2780 . 2 ((𝑒 ∈ (0[,]1) ∧ 𝑣 ∈ (0[,]1)) β†’ (πΉβ€˜(𝑒( Β· β†Ύ ((0[,]1) Γ— (0[,]1)))𝑣)) = ((πΉβ€˜π‘’) + (πΉβ€˜π‘£)))
56 eqid 2733 . . . 4 ((mulGrpβ€˜β„‚fld) β†Ύs (0[,]1)) = ((mulGrpβ€˜β„‚fld) β†Ύs (0[,]1))
5756iistmd 32882 . . 3 ((mulGrpβ€˜β„‚fld) β†Ύs (0[,]1)) ∈ TopMnd
58 cnfldex 20947 . . . . . 6 β„‚fld ∈ V
59 ovex 7442 . . . . . 6 (0[,]1) ∈ V
60 eqid 2733 . . . . . . 7 (β„‚fld β†Ύs (0[,]1)) = (β„‚fld β†Ύs (0[,]1))
61 eqid 2733 . . . . . . 7 (mulGrpβ€˜β„‚fld) = (mulGrpβ€˜β„‚fld)
6260, 61mgpress 20002 . . . . . 6 ((β„‚fld ∈ V ∧ (0[,]1) ∈ V) β†’ ((mulGrpβ€˜β„‚fld) β†Ύs (0[,]1)) = (mulGrpβ€˜(β„‚fld β†Ύs (0[,]1))))
6358, 59, 62mp2an 691 . . . . 5 ((mulGrpβ€˜β„‚fld) β†Ύs (0[,]1)) = (mulGrpβ€˜(β„‚fld β†Ύs (0[,]1)))
6460dfii4 24400 . . . . 5 II = (TopOpenβ€˜(β„‚fld β†Ύs (0[,]1)))
6563, 64mgptopn 19999 . . . 4 II = (TopOpenβ€˜((mulGrpβ€˜β„‚fld) β†Ύs (0[,]1)))
66 cnfldbas 20948 . . . . . . 7 β„‚ = (Baseβ€˜β„‚fld)
6761, 66mgpbas 19993 . . . . . 6 β„‚ = (Baseβ€˜(mulGrpβ€˜β„‚fld))
68 cnfldmul 20950 . . . . . . 7 Β· = (.rβ€˜β„‚fld)
6961, 68mgpplusg 19991 . . . . . 6 Β· = (+gβ€˜(mulGrpβ€˜β„‚fld))
707, 8ax-mp 5 . . . . . 6 Β· Fn (β„‚ Γ— β„‚)
7167, 56, 69, 70, 4ressplusf 32127 . . . . 5 (+π‘“β€˜((mulGrpβ€˜β„‚fld) β†Ύs (0[,]1))) = ( Β· β†Ύ ((0[,]1) Γ— (0[,]1)))
7271eqcomi 2742 . . . 4 ( Β· β†Ύ ((0[,]1) Γ— (0[,]1))) = (+π‘“β€˜((mulGrpβ€˜β„‚fld) β†Ύs (0[,]1)))
7365, 72tmdcn 23587 . . 3 (((mulGrpβ€˜β„‚fld) β†Ύs (0[,]1)) ∈ TopMnd β†’ ( Β· β†Ύ ((0[,]1) Γ— (0[,]1))) ∈ ((II Γ—t II) Cn II))
7457, 73ax-mp 5 . 2 ( Β· β†Ύ ((0[,]1) Γ— (0[,]1))) ∈ ((II Γ—t II) Cn II)
753, 17, 36, 37, 41, 55, 74mndpluscn 32906 1 + ∈ ((𝐽 Γ—t 𝐽) Cn 𝐽)
Colors of variables: wff setvar class
Syntax hints:   ↔ wb 205   ∧ wa 397   = wceq 1542   ∈ wcel 2107  βˆ€wral 3062  Vcvv 3475   βŠ† wss 3949  ifcif 4529   ↦ cmpt 5232   Γ— cxp 5675  β—‘ccnv 5676   β†Ύ cres 5679   Fn wfn 6539  βŸΆwf 6540  β€“1-1-ontoβ†’wf1o 6543  β€˜cfv 6544  (class class class)co 7409  β„‚cc 11108  0cc0 11110  1c1 11111   Β· cmul 11115  +∞cpnf 11245  β„*cxr 11247   ≀ cle 11249  -cneg 11445   +𝑒 cxad 13090  [,]cicc 13327  expce 16005   β†Ύs cress 17173   β†Ύt crest 17366  ordTopcordt 17445  +𝑓cplusf 18558  mulGrpcmgp 19987  β„‚fldccnfld 20944  TopOnctopon 22412   Cn ccn 22728   Γ—t ctx 23064  TopMndctmd 23574  IIcii 24391  logclog 26063
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2155  ax-12 2172  ax-ext 2704  ax-rep 5286  ax-sep 5300  ax-nul 5307  ax-pow 5364  ax-pr 5428  ax-un 7725  ax-inf2 9636  ax-cnex 11166  ax-resscn 11167  ax-1cn 11168  ax-icn 11169  ax-addcl 11170  ax-addrcl 11171  ax-mulcl 11172  ax-mulrcl 11173  ax-mulcom 11174  ax-addass 11175  ax-mulass 11176  ax-distr 11177  ax-i2m1 11178  ax-1ne0 11179  ax-1rid 11180  ax-rnegex 11181  ax-rrecex 11182  ax-cnre 11183  ax-pre-lttri 11184  ax-pre-lttrn 11185  ax-pre-ltadd 11186  ax-pre-mulgt0 11187  ax-pre-sup 11188  ax-addf 11189  ax-mulf 11190
This theorem depends on definitions:  df-bi 206  df-an 398  df-or 847  df-3or 1089  df-3an 1090  df-tru 1545  df-fal 1555  df-ex 1783  df-nf 1787  df-sb 2069  df-mo 2535  df-eu 2564  df-clab 2711  df-cleq 2725  df-clel 2811  df-nfc 2886  df-ne 2942  df-nel 3048  df-ral 3063  df-rex 3072  df-rmo 3377  df-reu 3378  df-rab 3434  df-v 3477  df-sbc 3779  df-csb 3895  df-dif 3952  df-un 3954  df-in 3956  df-ss 3966  df-pss 3968  df-nul 4324  df-if 4530  df-pw 4605  df-sn 4630  df-pr 4632  df-tp 4634  df-op 4636  df-uni 4910  df-int 4952  df-iun 5000  df-iin 5001  df-br 5150  df-opab 5212  df-mpt 5233  df-tr 5267  df-id 5575  df-eprel 5581  df-po 5589  df-so 5590  df-fr 5632  df-se 5633  df-we 5634  df-xp 5683  df-rel 5684  df-cnv 5685  df-co 5686  df-dm 5687  df-rn 5688  df-res 5689  df-ima 5690  df-pred 6301  df-ord 6368  df-on 6369  df-lim 6370  df-suc 6371  df-iota 6496  df-fun 6546  df-fn 6547  df-f 6548  df-f1 6549  df-fo 6550  df-f1o 6551  df-fv 6552  df-isom 6553  df-riota 7365  df-ov 7412  df-oprab 7413  df-mpo 7414  df-of 7670  df-om 7856  df-1st 7975  df-2nd 7976  df-supp 8147  df-frecs 8266  df-wrecs 8297  df-recs 8371  df-rdg 8410  df-1o 8466  df-2o 8467  df-er 8703  df-map 8822  df-pm 8823  df-ixp 8892  df-en 8940  df-dom 8941  df-sdom 8942  df-fin 8943  df-fsupp 9362  df-fi 9406  df-sup 9437  df-inf 9438  df-oi 9505  df-card 9934  df-pnf 11250  df-mnf 11251  df-xr 11252  df-ltxr 11253  df-le 11254  df-sub 11446  df-neg 11447  df-div 11872  df-nn 12213  df-2 12275  df-3 12276  df-4 12277  df-5 12278  df-6 12279  df-7 12280  df-8 12281  df-9 12282  df-n0 12473  df-z 12559  df-dec 12678  df-uz 12823  df-q 12933  df-rp 12975  df-xneg 13092  df-xadd 13093  df-xmul 13094  df-ioo 13328  df-ioc 13329  df-ico 13330  df-icc 13331  df-fz 13485  df-fzo 13628  df-fl 13757  df-mod 13835  df-seq 13967  df-exp 14028  df-fac 14234  df-bc 14263  df-hash 14291  df-shft 15014  df-cj 15046  df-re 15047  df-im 15048  df-sqrt 15182  df-abs 15183  df-limsup 15415  df-clim 15432  df-rlim 15433  df-sum 15633  df-ef 16011  df-sin 16013  df-cos 16014  df-pi 16016  df-struct 17080  df-sets 17097  df-slot 17115  df-ndx 17127  df-base 17145  df-ress 17174  df-plusg 17210  df-mulr 17211  df-starv 17212  df-sca 17213  df-vsca 17214  df-ip 17215  df-tset 17216  df-ple 17217  df-ds 17219  df-unif 17220  df-hom 17221  df-cco 17222  df-rest 17368  df-topn 17369  df-0g 17387  df-gsum 17388  df-topgen 17389  df-pt 17390  df-prds 17393  df-ordt 17447  df-xrs 17448  df-qtop 17453  df-imas 17454  df-xps 17456  df-mre 17530  df-mrc 17531  df-acs 17533  df-ps 18519  df-tsr 18520  df-plusf 18560  df-mgm 18561  df-sgrp 18610  df-mnd 18626  df-submnd 18672  df-grp 18822  df-minusg 18823  df-sbg 18824  df-mulg 18951  df-subg 19003  df-cntz 19181  df-cmn 19650  df-abl 19651  df-mgp 19988  df-ur 20005  df-ring 20058  df-cring 20059  df-subrg 20317  df-abv 20425  df-lmod 20473  df-scaf 20474  df-sra 20785  df-rgmod 20786  df-psmet 20936  df-xmet 20937  df-met 20938  df-bl 20939  df-mopn 20940  df-fbas 20941  df-fg 20942  df-cnfld 20945  df-top 22396  df-topon 22413  df-topsp 22435  df-bases 22449  df-cld 22523  df-ntr 22524  df-cls 22525  df-nei 22602  df-lp 22640  df-perf 22641  df-cn 22731  df-cnp 22732  df-haus 22819  df-tx 23066  df-hmeo 23259  df-fil 23350  df-fm 23442  df-flim 23443  df-flf 23444  df-tmd 23576  df-tgp 23577  df-trg 23664  df-xms 23826  df-ms 23827  df-tms 23828  df-nm 24091  df-ngp 24092  df-nrg 24094  df-nlm 24095  df-ii 24393  df-cncf 24394  df-limc 25383  df-dv 25384  df-log 26065
This theorem is referenced by:  xrge0tmdALT  32926
  Copyright terms: Public domain W3C validator