| Hilbert Space Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > HSE Home > Th. List > cnlnssadj | Structured version Visualization version GIF version | ||
| Description: Every continuous linear Hilbert space operator has an adjoint. (Contributed by NM, 18-Feb-2006.) (New usage is discouraged.) |
| Ref | Expression |
|---|---|
| cnlnssadj | ⊢ (LinOp ∩ ContOp) ⊆ dom adjℎ |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | cnlnadj 32027 | . . . . 5 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → ∃𝑡 ∈ (LinOp ∩ ContOp)∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧))) | |
| 2 | df-rex 3054 | . . . . 5 ⊢ (∃𝑡 ∈ (LinOp ∩ ContOp)∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧)) ↔ ∃𝑡(𝑡 ∈ (LinOp ∩ ContOp) ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧)))) | |
| 3 | 1, 2 | sylib 218 | . . . 4 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → ∃𝑡(𝑡 ∈ (LinOp ∩ ContOp) ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧)))) |
| 4 | inss1 4188 | . . . . . . . . . 10 ⊢ (LinOp ∩ ContOp) ⊆ LinOp | |
| 5 | 4 | sseli 3931 | . . . . . . . . 9 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → 𝑦 ∈ LinOp) |
| 6 | lnopf 31807 | . . . . . . . . 9 ⊢ (𝑦 ∈ LinOp → 𝑦: ℋ⟶ ℋ) | |
| 7 | 5, 6 | syl 17 | . . . . . . . 8 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → 𝑦: ℋ⟶ ℋ) |
| 8 | 7 | a1d 25 | . . . . . . 7 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → ((𝑡 ∈ (LinOp ∩ ContOp) ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧))) → 𝑦: ℋ⟶ ℋ)) |
| 9 | 4 | sseli 3931 | . . . . . . . . . 10 ⊢ (𝑡 ∈ (LinOp ∩ ContOp) → 𝑡 ∈ LinOp) |
| 10 | lnopf 31807 | . . . . . . . . . 10 ⊢ (𝑡 ∈ LinOp → 𝑡: ℋ⟶ ℋ) | |
| 11 | 9, 10 | syl 17 | . . . . . . . . 9 ⊢ (𝑡 ∈ (LinOp ∩ ContOp) → 𝑡: ℋ⟶ ℋ) |
| 12 | 11 | a1i 11 | . . . . . . . 8 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → (𝑡 ∈ (LinOp ∩ ContOp) → 𝑡: ℋ⟶ ℋ)) |
| 13 | 12 | adantrd 491 | . . . . . . 7 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → ((𝑡 ∈ (LinOp ∩ ContOp) ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧))) → 𝑡: ℋ⟶ ℋ)) |
| 14 | eqcom 2736 | . . . . . . . . . . 11 ⊢ (((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧)) ↔ (𝑥 ·ih (𝑡‘𝑧)) = ((𝑦‘𝑥) ·ih 𝑧)) | |
| 15 | 14 | biimpi 216 | . . . . . . . . . 10 ⊢ (((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧)) → (𝑥 ·ih (𝑡‘𝑧)) = ((𝑦‘𝑥) ·ih 𝑧)) |
| 16 | 15 | 2ralimi 3099 | . . . . . . . . 9 ⊢ (∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧)) → ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑡‘𝑧)) = ((𝑦‘𝑥) ·ih 𝑧)) |
| 17 | adjsym 31781 | . . . . . . . . . 10 ⊢ ((𝑡: ℋ⟶ ℋ ∧ 𝑦: ℋ⟶ ℋ) → (∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑡‘𝑧)) = ((𝑦‘𝑥) ·ih 𝑧) ↔ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧))) | |
| 18 | 11, 7, 17 | syl2anr 597 | . . . . . . . . 9 ⊢ ((𝑦 ∈ (LinOp ∩ ContOp) ∧ 𝑡 ∈ (LinOp ∩ ContOp)) → (∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑡‘𝑧)) = ((𝑦‘𝑥) ·ih 𝑧) ↔ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧))) |
| 19 | 16, 18 | imbitrid 244 | . . . . . . . 8 ⊢ ((𝑦 ∈ (LinOp ∩ ContOp) ∧ 𝑡 ∈ (LinOp ∩ ContOp)) → (∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧)) → ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧))) |
| 20 | 19 | expimpd 453 | . . . . . . 7 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → ((𝑡 ∈ (LinOp ∩ ContOp) ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧))) → ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧))) |
| 21 | 8, 13, 20 | 3jcad 1129 | . . . . . 6 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → ((𝑡 ∈ (LinOp ∩ ContOp) ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧))) → (𝑦: ℋ⟶ ℋ ∧ 𝑡: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧)))) |
| 22 | dfadj2 31833 | . . . . . . . 8 ⊢ adjℎ = {〈𝑢, 𝑣〉 ∣ (𝑢: ℋ⟶ ℋ ∧ 𝑣: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑢‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧))} | |
| 23 | 22 | eleq2i 2820 | . . . . . . 7 ⊢ (〈𝑦, 𝑡〉 ∈ adjℎ ↔ 〈𝑦, 𝑡〉 ∈ {〈𝑢, 𝑣〉 ∣ (𝑢: ℋ⟶ ℋ ∧ 𝑣: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑢‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧))}) |
| 24 | vex 3440 | . . . . . . . 8 ⊢ 𝑦 ∈ V | |
| 25 | vex 3440 | . . . . . . . 8 ⊢ 𝑡 ∈ V | |
| 26 | feq1 6630 | . . . . . . . . 9 ⊢ (𝑢 = 𝑦 → (𝑢: ℋ⟶ ℋ ↔ 𝑦: ℋ⟶ ℋ)) | |
| 27 | fveq1 6821 | . . . . . . . . . . . 12 ⊢ (𝑢 = 𝑦 → (𝑢‘𝑧) = (𝑦‘𝑧)) | |
| 28 | 27 | oveq2d 7365 | . . . . . . . . . . 11 ⊢ (𝑢 = 𝑦 → (𝑥 ·ih (𝑢‘𝑧)) = (𝑥 ·ih (𝑦‘𝑧))) |
| 29 | 28 | eqeq1d 2731 | . . . . . . . . . 10 ⊢ (𝑢 = 𝑦 → ((𝑥 ·ih (𝑢‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧) ↔ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧))) |
| 30 | 29 | 2ralbidv 3193 | . . . . . . . . 9 ⊢ (𝑢 = 𝑦 → (∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑢‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧) ↔ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧))) |
| 31 | 26, 30 | 3anbi13d 1440 | . . . . . . . 8 ⊢ (𝑢 = 𝑦 → ((𝑢: ℋ⟶ ℋ ∧ 𝑣: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑢‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧)) ↔ (𝑦: ℋ⟶ ℋ ∧ 𝑣: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧)))) |
| 32 | feq1 6630 | . . . . . . . . 9 ⊢ (𝑣 = 𝑡 → (𝑣: ℋ⟶ ℋ ↔ 𝑡: ℋ⟶ ℋ)) | |
| 33 | fveq1 6821 | . . . . . . . . . . . 12 ⊢ (𝑣 = 𝑡 → (𝑣‘𝑥) = (𝑡‘𝑥)) | |
| 34 | 33 | oveq1d 7364 | . . . . . . . . . . 11 ⊢ (𝑣 = 𝑡 → ((𝑣‘𝑥) ·ih 𝑧) = ((𝑡‘𝑥) ·ih 𝑧)) |
| 35 | 34 | eqeq2d 2740 | . . . . . . . . . 10 ⊢ (𝑣 = 𝑡 → ((𝑥 ·ih (𝑦‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧) ↔ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧))) |
| 36 | 35 | 2ralbidv 3193 | . . . . . . . . 9 ⊢ (𝑣 = 𝑡 → (∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧) ↔ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧))) |
| 37 | 32, 36 | 3anbi23d 1441 | . . . . . . . 8 ⊢ (𝑣 = 𝑡 → ((𝑦: ℋ⟶ ℋ ∧ 𝑣: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧)) ↔ (𝑦: ℋ⟶ ℋ ∧ 𝑡: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧)))) |
| 38 | 24, 25, 31, 37 | opelopab 5485 | . . . . . . 7 ⊢ (〈𝑦, 𝑡〉 ∈ {〈𝑢, 𝑣〉 ∣ (𝑢: ℋ⟶ ℋ ∧ 𝑣: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑢‘𝑧)) = ((𝑣‘𝑥) ·ih 𝑧))} ↔ (𝑦: ℋ⟶ ℋ ∧ 𝑡: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧))) |
| 39 | 23, 38 | bitr2i 276 | . . . . . 6 ⊢ ((𝑦: ℋ⟶ ℋ ∧ 𝑡: ℋ⟶ ℋ ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ (𝑥 ·ih (𝑦‘𝑧)) = ((𝑡‘𝑥) ·ih 𝑧)) ↔ 〈𝑦, 𝑡〉 ∈ adjℎ) |
| 40 | 21, 39 | imbitrdi 251 | . . . . 5 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → ((𝑡 ∈ (LinOp ∩ ContOp) ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧))) → 〈𝑦, 𝑡〉 ∈ adjℎ)) |
| 41 | 40 | eximdv 1917 | . . . 4 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → (∃𝑡(𝑡 ∈ (LinOp ∩ ContOp) ∧ ∀𝑥 ∈ ℋ ∀𝑧 ∈ ℋ ((𝑦‘𝑥) ·ih 𝑧) = (𝑥 ·ih (𝑡‘𝑧))) → ∃𝑡〈𝑦, 𝑡〉 ∈ adjℎ)) |
| 42 | 3, 41 | mpd 15 | . . 3 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → ∃𝑡〈𝑦, 𝑡〉 ∈ adjℎ) |
| 43 | 24 | eldm2 5844 | . . 3 ⊢ (𝑦 ∈ dom adjℎ ↔ ∃𝑡〈𝑦, 𝑡〉 ∈ adjℎ) |
| 44 | 42, 43 | sylibr 234 | . 2 ⊢ (𝑦 ∈ (LinOp ∩ ContOp) → 𝑦 ∈ dom adjℎ) |
| 45 | 44 | ssriv 3939 | 1 ⊢ (LinOp ∩ ContOp) ⊆ dom adjℎ |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ↔ wb 206 ∧ wa 395 ∧ w3a 1086 = wceq 1540 ∃wex 1779 ∈ wcel 2109 ∀wral 3044 ∃wrex 3053 ∩ cin 3902 ⊆ wss 3903 〈cop 4583 {copab 5154 dom cdm 5619 ⟶wf 6478 ‘cfv 6482 (class class class)co 7349 ℋchba 30867 ·ih csp 30870 ContOpccop 30894 LinOpclo 30895 adjℎcado 30903 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1795 ax-4 1809 ax-5 1910 ax-6 1967 ax-7 2008 ax-8 2111 ax-9 2119 ax-10 2142 ax-11 2158 ax-12 2178 ax-ext 2701 ax-rep 5218 ax-sep 5235 ax-nul 5245 ax-pow 5304 ax-pr 5371 ax-un 7671 ax-inf2 9537 ax-cc 10329 ax-cnex 11065 ax-resscn 11066 ax-1cn 11067 ax-icn 11068 ax-addcl 11069 ax-addrcl 11070 ax-mulcl 11071 ax-mulrcl 11072 ax-mulcom 11073 ax-addass 11074 ax-mulass 11075 ax-distr 11076 ax-i2m1 11077 ax-1ne0 11078 ax-1rid 11079 ax-rnegex 11080 ax-rrecex 11081 ax-cnre 11082 ax-pre-lttri 11083 ax-pre-lttrn 11084 ax-pre-ltadd 11085 ax-pre-mulgt0 11086 ax-pre-sup 11087 ax-addf 11088 ax-mulf 11089 ax-hilex 30947 ax-hfvadd 30948 ax-hvcom 30949 ax-hvass 30950 ax-hv0cl 30951 ax-hvaddid 30952 ax-hfvmul 30953 ax-hvmulid 30954 ax-hvmulass 30955 ax-hvdistr1 30956 ax-hvdistr2 30957 ax-hvmul0 30958 ax-hfi 31027 ax-his1 31030 ax-his2 31031 ax-his3 31032 ax-his4 31033 ax-hcompl 31150 |
| This theorem depends on definitions: df-bi 207 df-an 396 df-or 848 df-3or 1087 df-3an 1088 df-tru 1543 df-fal 1553 df-ex 1780 df-nf 1784 df-sb 2066 df-mo 2533 df-eu 2562 df-clab 2708 df-cleq 2721 df-clel 2803 df-nfc 2878 df-ne 2926 df-nel 3030 df-ral 3045 df-rex 3054 df-rmo 3343 df-reu 3344 df-rab 3395 df-v 3438 df-sbc 3743 df-csb 3852 df-dif 3906 df-un 3908 df-in 3910 df-ss 3920 df-pss 3923 df-nul 4285 df-if 4477 df-pw 4553 df-sn 4578 df-pr 4580 df-tp 4582 df-op 4584 df-uni 4859 df-int 4897 df-iun 4943 df-iin 4944 df-br 5093 df-opab 5155 df-mpt 5174 df-tr 5200 df-id 5514 df-eprel 5519 df-po 5527 df-so 5528 df-fr 5572 df-se 5573 df-we 5574 df-xp 5625 df-rel 5626 df-cnv 5627 df-co 5628 df-dm 5629 df-rn 5630 df-res 5631 df-ima 5632 df-pred 6249 df-ord 6310 df-on 6311 df-lim 6312 df-suc 6313 df-iota 6438 df-fun 6484 df-fn 6485 df-f 6486 df-f1 6487 df-fo 6488 df-f1o 6489 df-fv 6490 df-isom 6491 df-riota 7306 df-ov 7352 df-oprab 7353 df-mpo 7354 df-of 7613 df-om 7800 df-1st 7924 df-2nd 7925 df-supp 8094 df-frecs 8214 df-wrecs 8245 df-recs 8294 df-rdg 8332 df-1o 8388 df-2o 8389 df-oadd 8392 df-omul 8393 df-er 8625 df-map 8755 df-pm 8756 df-ixp 8825 df-en 8873 df-dom 8874 df-sdom 8875 df-fin 8876 df-fsupp 9252 df-fi 9301 df-sup 9332 df-inf 9333 df-oi 9402 df-card 9835 df-acn 9838 df-pnf 11151 df-mnf 11152 df-xr 11153 df-ltxr 11154 df-le 11155 df-sub 11349 df-neg 11350 df-div 11778 df-nn 12129 df-2 12191 df-3 12192 df-4 12193 df-5 12194 df-6 12195 df-7 12196 df-8 12197 df-9 12198 df-n0 12385 df-z 12472 df-dec 12592 df-uz 12736 df-q 12850 df-rp 12894 df-xneg 13014 df-xadd 13015 df-xmul 13016 df-ioo 13252 df-ico 13254 df-icc 13255 df-fz 13411 df-fzo 13558 df-fl 13696 df-seq 13909 df-exp 13969 df-hash 14238 df-cj 15006 df-re 15007 df-im 15008 df-sqrt 15142 df-abs 15143 df-clim 15395 df-rlim 15396 df-sum 15594 df-struct 17058 df-sets 17075 df-slot 17093 df-ndx 17105 df-base 17121 df-ress 17142 df-plusg 17174 df-mulr 17175 df-starv 17176 df-sca 17177 df-vsca 17178 df-ip 17179 df-tset 17180 df-ple 17181 df-ds 17183 df-unif 17184 df-hom 17185 df-cco 17186 df-rest 17326 df-topn 17327 df-0g 17345 df-gsum 17346 df-topgen 17347 df-pt 17348 df-prds 17351 df-xrs 17406 df-qtop 17411 df-imas 17412 df-xps 17414 df-mre 17488 df-mrc 17489 df-acs 17491 df-mgm 18514 df-sgrp 18593 df-mnd 18609 df-submnd 18658 df-mulg 18947 df-cntz 19196 df-cmn 19661 df-psmet 21253 df-xmet 21254 df-met 21255 df-bl 21256 df-mopn 21257 df-fbas 21258 df-fg 21259 df-cnfld 21262 df-top 22779 df-topon 22796 df-topsp 22818 df-bases 22831 df-cld 22904 df-ntr 22905 df-cls 22906 df-nei 22983 df-cn 23112 df-cnp 23113 df-lm 23114 df-t1 23199 df-haus 23200 df-tx 23447 df-hmeo 23640 df-fil 23731 df-fm 23823 df-flim 23824 df-flf 23825 df-xms 24206 df-ms 24207 df-tms 24208 df-cfil 25153 df-cau 25154 df-cmet 25155 df-grpo 30441 df-gid 30442 df-ginv 30443 df-gdiv 30444 df-ablo 30493 df-vc 30507 df-nv 30540 df-va 30543 df-ba 30544 df-sm 30545 df-0v 30546 df-vs 30547 df-nmcv 30548 df-ims 30549 df-dip 30649 df-ssp 30670 df-ph 30761 df-cbn 30811 df-hnorm 30916 df-hba 30917 df-hvsub 30919 df-hlim 30920 df-hcau 30921 df-sh 31155 df-ch 31169 df-oc 31200 df-ch0 31201 df-shs 31256 df-pjh 31343 df-h0op 31696 df-nmop 31787 df-cnop 31788 df-lnop 31789 df-unop 31791 df-hmop 31792 df-nmfn 31793 df-nlfn 31794 df-cnfn 31795 df-lnfn 31796 df-adjh 31797 |
| This theorem is referenced by: bdopssadj 32029 |
| Copyright terms: Public domain | W3C validator |