Users' Mathboxes Mathbox for Norm Megill < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  cdleme48bw Structured version   Visualization version   GIF version

Theorem cdleme48bw 41126
Description: TODO: fix comment. TODO: Remove unnecessary 𝑃𝑄 from cdleme48bw 41126 cdlemeg46c 41137 cdlemeg46fvaw 41140 cdlemeg46rgv 41152 cdlemeg46gfv 41154? cdleme48d 41159? and possibly others they affect. (Contributed by NM, 9-Apr-2013.)
Hypotheses
Ref Expression
cdlemef46.b 𝐵 = (Base‘𝐾)
cdlemef46.l = (le‘𝐾)
cdlemef46.j = (join‘𝐾)
cdlemef46.m = (meet‘𝐾)
cdlemef46.a 𝐴 = (Atoms‘𝐾)
cdlemef46.h 𝐻 = (LHyp‘𝐾)
cdlemef46.u 𝑈 = ((𝑃 𝑄) 𝑊)
cdlemef46.d 𝐷 = ((𝑡 𝑈) (𝑄 ((𝑃 𝑡) 𝑊)))
cdlemefs46.e 𝐸 = ((𝑃 𝑄) (𝐷 ((𝑠 𝑡) 𝑊)))
cdlemef46.f 𝐹 = (𝑥𝐵 ↦ if((𝑃𝑄 ∧ ¬ 𝑥 𝑊), (𝑧𝐵𝑠𝐴 ((¬ 𝑠 𝑊 ∧ (𝑠 (𝑥 𝑊)) = 𝑥) → 𝑧 = (if(𝑠 (𝑃 𝑄), (𝑦𝐵𝑡𝐴 ((¬ 𝑡 𝑊 ∧ ¬ 𝑡 (𝑃 𝑄)) → 𝑦 = 𝐸)), 𝑠 / 𝑡𝐷) (𝑥 𝑊)))), 𝑥))
Assertion
Ref Expression
cdleme48bw ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → ¬ (𝐹𝑋) 𝑊)
Distinct variable groups:   𝑡,𝑠,𝑥,𝑦,𝑧,𝐴   𝐵,𝑠,𝑡,𝑥,𝑦,𝑧   𝐷,𝑠,𝑥,𝑦,𝑧   𝑥,𝐸,𝑦,𝑧   𝐻,𝑠,𝑡,𝑥,𝑦,𝑧   ,𝑠,𝑡,𝑥,𝑦,𝑧   𝐾,𝑠,𝑡,𝑥,𝑦,𝑧   ,𝑠,𝑡,𝑥,𝑦,𝑧   ,𝑠,𝑡,𝑥,𝑦,𝑧   𝑃,𝑠,𝑡,𝑥,𝑦,𝑧   𝑄,𝑠,𝑡,𝑥,𝑦,𝑧   𝑈,𝑠,𝑡,𝑥,𝑦,𝑧   𝑊,𝑠,𝑡,𝑥,𝑦,𝑧   𝑆,𝑠,𝑡,𝑥,𝑦,𝑧   𝑋,𝑠,𝑡,𝑥,𝑧
Allowed substitution hints:   𝐷(𝑡)   𝐸(𝑡,𝑠)   𝐹(𝑥,𝑦,𝑧,𝑡,𝑠)   𝑋(𝑦)

Proof of Theorem cdleme48bw
StepHypRef Expression
1 simp1 1149 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → ((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)))
2 simp3l 1215 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → (𝑆𝐴 ∧ ¬ 𝑆 𝑊))
3 cdlemef46.b . . . . 5 𝐵 = (Base‘𝐾)
4 cdlemef46.l . . . . 5 = (le‘𝐾)
5 cdlemef46.j . . . . 5 = (join‘𝐾)
6 cdlemef46.m . . . . 5 = (meet‘𝐾)
7 cdlemef46.a . . . . 5 𝐴 = (Atoms‘𝐾)
8 cdlemef46.h . . . . 5 𝐻 = (LHyp‘𝐾)
9 cdlemef46.u . . . . 5 𝑈 = ((𝑃 𝑄) 𝑊)
10 cdlemef46.d . . . . 5 𝐷 = ((𝑡 𝑈) (𝑄 ((𝑃 𝑡) 𝑊)))
11 cdlemefs46.e . . . . 5 𝐸 = ((𝑃 𝑄) (𝐷 ((𝑠 𝑡) 𝑊)))
12 cdlemef46.f . . . . 5 𝐹 = (𝑥𝐵 ↦ if((𝑃𝑄 ∧ ¬ 𝑥 𝑊), (𝑧𝐵𝑠𝐴 ((¬ 𝑠 𝑊 ∧ (𝑠 (𝑥 𝑊)) = 𝑥) → 𝑧 = (if(𝑠 (𝑃 𝑄), (𝑦𝐵𝑡𝐴 ((¬ 𝑡 𝑊 ∧ ¬ 𝑡 (𝑃 𝑄)) → 𝑦 = 𝐸)), 𝑠 / 𝑡𝐷) (𝑥 𝑊)))), 𝑥))
133, 4, 5, 6, 7, 8, 9, 10, 11, 12cdleme46fvaw 41125 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑆𝐴 ∧ ¬ 𝑆 𝑊)) → ((𝐹𝑆) ∈ 𝐴 ∧ ¬ (𝐹𝑆) 𝑊))
141, 2, 13syl2anc 593 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → ((𝐹𝑆) ∈ 𝐴 ∧ ¬ (𝐹𝑆) 𝑊))
1514simprd 499 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → ¬ (𝐹𝑆) 𝑊)
16 simp11l 1298 . . . . . 6 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → 𝐾 ∈ HL)
1716hllatd 39988 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → 𝐾 ∈ Lat)
1814simpld 498 . . . . . 6 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → (𝐹𝑆) ∈ 𝐴)
193, 7atbase 39913 . . . . . 6 ((𝐹𝑆) ∈ 𝐴 → (𝐹𝑆) ∈ 𝐵)
2018, 19syl 17 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → (𝐹𝑆) ∈ 𝐵)
21 simp2rl 1256 . . . . . 6 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → 𝑋𝐵)
22 simp11r 1299 . . . . . . 7 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → 𝑊𝐻)
233, 8lhpbase 40622 . . . . . . 7 (𝑊𝐻𝑊𝐵)
2422, 23syl 17 . . . . . 6 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → 𝑊𝐵)
253, 6latmcl 18472 . . . . . 6 ((𝐾 ∈ Lat ∧ 𝑋𝐵𝑊𝐵) → (𝑋 𝑊) ∈ 𝐵)
2617, 21, 24, 25syl3anc 1390 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → (𝑋 𝑊) ∈ 𝐵)
273, 4, 5latlej1 18480 . . . . 5 ((𝐾 ∈ Lat ∧ (𝐹𝑆) ∈ 𝐵 ∧ (𝑋 𝑊) ∈ 𝐵) → (𝐹𝑆) ((𝐹𝑆) (𝑋 𝑊)))
2817, 20, 26, 27syl3anc 1390 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → (𝐹𝑆) ((𝐹𝑆) (𝑋 𝑊)))
293, 4, 5, 6, 7, 8, 9, 10, 11, 12cdleme48fv 41123 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → (𝐹𝑋) = ((𝐹𝑆) (𝑋 𝑊)))
3028, 29breqtrrd 5128 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → (𝐹𝑆) (𝐹𝑋))
31 vex 3458 . . . . . . 7 𝑠 ∈ V
32 eqid 2762 . . . . . . . 8 ((𝑠 𝑈) (𝑄 ((𝑃 𝑠) 𝑊))) = ((𝑠 𝑈) (𝑄 ((𝑃 𝑠) 𝑊)))
3310, 32cdleme31sc 41008 . . . . . . 7 (𝑠 ∈ V → 𝑠 / 𝑡𝐷 = ((𝑠 𝑈) (𝑄 ((𝑃 𝑠) 𝑊))))
3431, 33ax-mp 5 . . . . . 6 𝑠 / 𝑡𝐷 = ((𝑠 𝑈) (𝑄 ((𝑃 𝑠) 𝑊)))
35 eqid 2762 . . . . . 6 (𝑦𝐵𝑡𝐴 ((¬ 𝑡 𝑊 ∧ ¬ 𝑡 (𝑃 𝑄)) → 𝑦 = 𝐸)) = (𝑦𝐵𝑡𝐴 ((¬ 𝑡 𝑊 ∧ ¬ 𝑡 (𝑃 𝑄)) → 𝑦 = 𝐸))
36 eqid 2762 . . . . . 6 if(𝑠 (𝑃 𝑄), (𝑦𝐵𝑡𝐴 ((¬ 𝑡 𝑊 ∧ ¬ 𝑡 (𝑃 𝑄)) → 𝑦 = 𝐸)), 𝑠 / 𝑡𝐷) = if(𝑠 (𝑃 𝑄), (𝑦𝐵𝑡𝐴 ((¬ 𝑡 𝑊 ∧ ¬ 𝑡 (𝑃 𝑄)) → 𝑦 = 𝐸)), 𝑠 / 𝑡𝐷)
37 eqid 2762 . . . . . 6 (𝑧𝐵𝑠𝐴 ((¬ 𝑠 𝑊 ∧ (𝑠 (𝑥 𝑊)) = 𝑥) → 𝑧 = (if(𝑠 (𝑃 𝑄), (𝑦𝐵𝑡𝐴 ((¬ 𝑡 𝑊 ∧ ¬ 𝑡 (𝑃 𝑄)) → 𝑦 = 𝐸)), 𝑠 / 𝑡𝐷) (𝑥 𝑊)))) = (𝑧𝐵𝑠𝐴 ((¬ 𝑠 𝑊 ∧ (𝑠 (𝑥 𝑊)) = 𝑥) → 𝑧 = (if(𝑠 (𝑃 𝑄), (𝑦𝐵𝑡𝐴 ((¬ 𝑡 𝑊 ∧ ¬ 𝑡 (𝑃 𝑄)) → 𝑦 = 𝐸)), 𝑠 / 𝑡𝐷) (𝑥 𝑊))))
383, 4, 5, 6, 7, 8, 9, 34, 10, 11, 35, 36, 37, 12cdleme32fvcl 41064 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ 𝑋𝐵) → (𝐹𝑋) ∈ 𝐵)
391, 21, 38syl2anc 593 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → (𝐹𝑋) ∈ 𝐵)
403, 4lattr 18476 . . . 4 ((𝐾 ∈ Lat ∧ ((𝐹𝑆) ∈ 𝐵 ∧ (𝐹𝑋) ∈ 𝐵𝑊𝐵)) → (((𝐹𝑆) (𝐹𝑋) ∧ (𝐹𝑋) 𝑊) → (𝐹𝑆) 𝑊))
4117, 20, 39, 24, 40syl13anc 1391 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → (((𝐹𝑆) (𝐹𝑋) ∧ (𝐹𝑋) 𝑊) → (𝐹𝑆) 𝑊))
4230, 41mpand 705 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → ((𝐹𝑋) 𝑊 → (𝐹𝑆) 𝑊))
4315, 42mtod 200 1 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝑃𝑄 ∧ (𝑋𝐵 ∧ ¬ 𝑋 𝑊)) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑆 (𝑋 𝑊)) = 𝑋)) → ¬ (𝐹𝑋) 𝑊)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 399  w3a 1098   = wceq 1560  wcel 2142  wne 2957  wral 3076  Vcvv 3454  csb 3852  ifcif 4480   class class class wbr 5100  cmpt 5181  cfv 6521  crio 7352  (class class class)co 7396  Basecbs 17245  lecple 17293  joincjn 18343  meetcmee 18344  Latclat 18463  Atomscatm 39887  HLchlt 39974  LHypclh 40608
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1815  ax-4 1829  ax-5 1930  ax-6 1987  ax-7 2028  ax-8 2144  ax-9 2152  ax-10 2175  ax-11 2191  ax-12 2212  ax-ext 2734  ax-rep 5227  ax-sep 5246  ax-nul 5256  ax-pow 5322  ax-pr 5390  ax-un 7718  ax-riotaBAD 39577
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3or 1099  df-3an 1100  df-tru 1563  df-fal 1573  df-ex 1800  df-nf 1804  df-sb 2091  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3077  df-rex 3087  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3456  df-sbc 3745  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-nul 4286  df-if 4481  df-pw 4557  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-iun 4951  df-iin 4952  df-br 5101  df-opab 5163  df-mpt 5182  df-id 5542  df-xp 5653  df-rel 5654  df-cnv 5655  df-co 5656  df-dm 5657  df-rn 5658  df-res 5659  df-ima 5660  df-iota 6477  df-fun 6523  df-fn 6524  df-f 6525  df-f1 6526  df-fo 6527  df-f1o 6528  df-fv 6529  df-riota 7353  df-ov 7399  df-oprab 7400  df-mpo 7401  df-1st 7970  df-2nd 7971  df-undef 8253  df-proset 18326  df-poset 18345  df-plt 18360  df-lub 18376  df-glb 18377  df-join 18378  df-meet 18379  df-p0 18455  df-p1 18456  df-lat 18464  df-clat 18531  df-oposet 39800  df-ol 39802  df-oml 39803  df-covers 39890  df-ats 39891  df-atl 39922  df-cvlat 39946  df-hlat 39975  df-llines 40122  df-lplanes 40123  df-lvols 40124  df-lines 40125  df-psubsp 40127  df-pmap 40128  df-padd 40420  df-lhyp 40612
This theorem is referenced by:  cdleme48d  41159
  Copyright terms: Public domain W3C validator