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

Theorem mapdval2N 37390
Description: Value of projectivity from vector space H to dual space. (Contributed by NM, 31-Jan-2015.) (New usage is discouraged.)
Hypotheses
Ref Expression
mapdval2.h 𝐻 = (LHyp‘𝐾)
mapdval2.u 𝑈 = ((DVecH‘𝐾)‘𝑊)
mapdval2.s 𝑆 = (LSubSp‘𝑈)
mapdval2.n 𝑁 = (LSpan‘𝑈)
mapdval2.f 𝐹 = (LFnl‘𝑈)
mapdval2.l 𝐿 = (LKer‘𝑈)
mapdval2.o 𝑂 = ((ocH‘𝐾)‘𝑊)
mapdval2.m 𝑀 = ((mapd‘𝐾)‘𝑊)
mapdval2.k (𝜑 → (𝐾 ∈ HL ∧ 𝑊𝐻))
mapdval2.t (𝜑𝑇𝑆)
mapdval2.c 𝐶 = {𝑔𝐹 ∣ (𝑂‘(𝑂‘(𝐿𝑔))) = (𝐿𝑔)}
Assertion
Ref Expression
mapdval2N (𝜑 → (𝑀𝑇) = {𝑓𝐶 ∣ ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})})
Distinct variable groups:   𝑣,𝐶   𝑓,𝑔,𝐹   𝑓,𝐾   𝑣,𝑔,𝐿   𝑣,𝑁   𝑔,𝑂,𝑣   𝑣,𝑓,𝑇   𝑣,𝑈   𝑓,𝑊   𝜑,𝑓,𝑣
Allowed substitution hints:   𝜑(𝑔)   𝐶(𝑓,𝑔)   𝑆(𝑣,𝑓,𝑔)   𝑇(𝑔)   𝑈(𝑓,𝑔)   𝐹(𝑣)   𝐻(𝑣,𝑓,𝑔)   𝐾(𝑣,𝑔)   𝐿(𝑓)   𝑀(𝑣,𝑓,𝑔)   𝑁(𝑓,𝑔)   𝑂(𝑓)   𝑊(𝑣,𝑔)

Proof of Theorem mapdval2N
StepHypRef Expression
1 mapdval2.h . . 3 𝐻 = (LHyp‘𝐾)
2 mapdval2.u . . 3 𝑈 = ((DVecH‘𝐾)‘𝑊)
3 mapdval2.s . . 3 𝑆 = (LSubSp‘𝑈)
4 mapdval2.f . . 3 𝐹 = (LFnl‘𝑈)
5 mapdval2.l . . 3 𝐿 = (LKer‘𝑈)
6 mapdval2.o . . 3 𝑂 = ((ocH‘𝐾)‘𝑊)
7 mapdval2.m . . 3 𝑀 = ((mapd‘𝐾)‘𝑊)
8 mapdval2.k . . 3 (𝜑 → (𝐾 ∈ HL ∧ 𝑊𝐻))
9 mapdval2.t . . 3 (𝜑𝑇𝑆)
10 mapdval2.c . . 3 𝐶 = {𝑔𝐹 ∣ (𝑂‘(𝑂‘(𝐿𝑔))) = (𝐿𝑔)}
111, 2, 3, 4, 5, 6, 7, 8, 9, 10mapdvalc 37389 . 2 (𝜑 → (𝑀𝑇) = {𝑓𝐶 ∣ (𝑂‘(𝐿𝑓)) ⊆ 𝑇})
121, 2, 8dvhlmod 36870 . . . . . . . . 9 (𝜑𝑈 ∈ LMod)
1312ad3antrrr 768 . . . . . . . 8 ((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) → 𝑈 ∈ LMod)
14 simplr 809 . . . . . . . 8 ((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) → (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈))
15 eqid 2748 . . . . . . . . 9 (Base‘𝑈) = (Base‘𝑈)
16 mapdval2.n . . . . . . . . 9 𝑁 = (LSpan‘𝑈)
17 eqid 2748 . . . . . . . . 9 (LSAtoms‘𝑈) = (LSAtoms‘𝑈)
1815, 16, 17islsati 34753 . . . . . . . 8 ((𝑈 ∈ LMod ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) → ∃𝑣 ∈ (Base‘𝑈)(𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))
1913, 14, 18syl2anc 696 . . . . . . 7 ((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) → ∃𝑣 ∈ (Base‘𝑈)(𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))
20 simprr 813 . . . . . . . . . . . 12 (((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) ∧ (𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))) → (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))
21 simplr 809 . . . . . . . . . . . 12 (((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) ∧ (𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))) → (𝑂‘(𝐿𝑓)) ⊆ 𝑇)
2220, 21eqsstr3d 3769 . . . . . . . . . . 11 (((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) ∧ (𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))) → (𝑁‘{𝑣}) ⊆ 𝑇)
2312adantr 472 . . . . . . . . . . . . 13 ((𝜑𝑓𝐶) → 𝑈 ∈ LMod)
2423ad3antrrr 768 . . . . . . . . . . . 12 (((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) ∧ (𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))) → 𝑈 ∈ LMod)
259adantr 472 . . . . . . . . . . . . 13 ((𝜑𝑓𝐶) → 𝑇𝑆)
2625ad3antrrr 768 . . . . . . . . . . . 12 (((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) ∧ (𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))) → 𝑇𝑆)
27 simprl 811 . . . . . . . . . . . 12 (((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) ∧ (𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))) → 𝑣 ∈ (Base‘𝑈))
2815, 3, 16, 24, 26, 27lspsnel5 19168 . . . . . . . . . . 11 (((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) ∧ (𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))) → (𝑣𝑇 ↔ (𝑁‘{𝑣}) ⊆ 𝑇))
2922, 28mpbird 247 . . . . . . . . . 10 (((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) ∧ (𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))) → 𝑣𝑇)
3029, 20jca 555 . . . . . . . . 9 (((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) ∧ (𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))) → (𝑣𝑇 ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})))
3130ex 449 . . . . . . . 8 ((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) → ((𝑣 ∈ (Base‘𝑈) ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})) → (𝑣𝑇 ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))))
3231reximdv2 3140 . . . . . . 7 ((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) → (∃𝑣 ∈ (Base‘𝑈)(𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}) → ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})))
3319, 32mpd 15 . . . . . 6 ((((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) ∧ (𝑂‘(𝐿𝑓)) ⊆ 𝑇) → ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))
3433ex 449 . . . . 5 (((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈)) → ((𝑂‘(𝐿𝑓)) ⊆ 𝑇 → ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})))
35 eqid 2748 . . . . . . . . . . 11 (0g𝑈) = (0g𝑈)
3635, 3lss0cl 19120 . . . . . . . . . 10 ((𝑈 ∈ LMod ∧ 𝑇𝑆) → (0g𝑈) ∈ 𝑇)
3712, 9, 36syl2anc 696 . . . . . . . . 9 (𝜑 → (0g𝑈) ∈ 𝑇)
3837adantr 472 . . . . . . . 8 ((𝜑 ∧ (𝑂‘(𝐿𝑓)) = {(0g𝑈)}) → (0g𝑈) ∈ 𝑇)
39 simpr 479 . . . . . . . . 9 ((𝜑 ∧ (𝑂‘(𝐿𝑓)) = {(0g𝑈)}) → (𝑂‘(𝐿𝑓)) = {(0g𝑈)})
4012adantr 472 . . . . . . . . . 10 ((𝜑 ∧ (𝑂‘(𝐿𝑓)) = {(0g𝑈)}) → 𝑈 ∈ LMod)
4135, 16lspsn0 19181 . . . . . . . . . 10 (𝑈 ∈ LMod → (𝑁‘{(0g𝑈)}) = {(0g𝑈)})
4240, 41syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑂‘(𝐿𝑓)) = {(0g𝑈)}) → (𝑁‘{(0g𝑈)}) = {(0g𝑈)})
4339, 42eqtr4d 2785 . . . . . . . 8 ((𝜑 ∧ (𝑂‘(𝐿𝑓)) = {(0g𝑈)}) → (𝑂‘(𝐿𝑓)) = (𝑁‘{(0g𝑈)}))
44 sneq 4319 . . . . . . . . . . 11 (𝑣 = (0g𝑈) → {𝑣} = {(0g𝑈)})
4544fveq2d 6344 . . . . . . . . . 10 (𝑣 = (0g𝑈) → (𝑁‘{𝑣}) = (𝑁‘{(0g𝑈)}))
4645eqeq2d 2758 . . . . . . . . 9 (𝑣 = (0g𝑈) → ((𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}) ↔ (𝑂‘(𝐿𝑓)) = (𝑁‘{(0g𝑈)})))
4746rspcev 3437 . . . . . . . 8 (((0g𝑈) ∈ 𝑇 ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{(0g𝑈)})) → ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))
4838, 43, 47syl2anc 696 . . . . . . 7 ((𝜑 ∧ (𝑂‘(𝐿𝑓)) = {(0g𝑈)}) → ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))
4948adantlr 753 . . . . . 6 (((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) = {(0g𝑈)}) → ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))
5049a1d 25 . . . . 5 (((𝜑𝑓𝐶) ∧ (𝑂‘(𝐿𝑓)) = {(0g𝑈)}) → ((𝑂‘(𝐿𝑓)) ⊆ 𝑇 → ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})))
518adantr 472 . . . . . 6 ((𝜑𝑓𝐶) → (𝐾 ∈ HL ∧ 𝑊𝐻))
5210lcfl1lem 37251 . . . . . . . 8 (𝑓𝐶 ↔ (𝑓𝐹 ∧ (𝑂‘(𝑂‘(𝐿𝑓))) = (𝐿𝑓)))
5352simplbi 478 . . . . . . 7 (𝑓𝐶𝑓𝐹)
5453adantl 473 . . . . . 6 ((𝜑𝑓𝐶) → 𝑓𝐹)
551, 6, 2, 35, 17, 4, 5, 51, 54dochsat0 37217 . . . . 5 ((𝜑𝑓𝐶) → ((𝑂‘(𝐿𝑓)) ∈ (LSAtoms‘𝑈) ∨ (𝑂‘(𝐿𝑓)) = {(0g𝑈)}))
5634, 50, 55mpjaodan 862 . . . 4 ((𝜑𝑓𝐶) → ((𝑂‘(𝐿𝑓)) ⊆ 𝑇 → ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})))
57 simp3 1130 . . . . . 6 (((𝜑𝑓𝐶) ∧ 𝑣𝑇 ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})) → (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}))
58233ad2ant1 1125 . . . . . . 7 (((𝜑𝑓𝐶) ∧ 𝑣𝑇 ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})) → 𝑈 ∈ LMod)
59253ad2ant1 1125 . . . . . . 7 (((𝜑𝑓𝐶) ∧ 𝑣𝑇 ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})) → 𝑇𝑆)
60 simp2 1129 . . . . . . 7 (((𝜑𝑓𝐶) ∧ 𝑣𝑇 ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})) → 𝑣𝑇)
613, 16, 58, 59, 60lspsnel5a 19169 . . . . . 6 (((𝜑𝑓𝐶) ∧ 𝑣𝑇 ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})) → (𝑁‘{𝑣}) ⊆ 𝑇)
6257, 61eqsstrd 3768 . . . . 5 (((𝜑𝑓𝐶) ∧ 𝑣𝑇 ∧ (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})) → (𝑂‘(𝐿𝑓)) ⊆ 𝑇)
6362rexlimdv3a 3159 . . . 4 ((𝜑𝑓𝐶) → (∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣}) → (𝑂‘(𝐿𝑓)) ⊆ 𝑇))
6456, 63impbid 202 . . 3 ((𝜑𝑓𝐶) → ((𝑂‘(𝐿𝑓)) ⊆ 𝑇 ↔ ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})))
6564rabbidva 3316 . 2 (𝜑 → {𝑓𝐶 ∣ (𝑂‘(𝐿𝑓)) ⊆ 𝑇} = {𝑓𝐶 ∣ ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})})
6611, 65eqtrd 2782 1 (𝜑 → (𝑀𝑇) = {𝑓𝐶 ∣ ∃𝑣𝑇 (𝑂‘(𝐿𝑓)) = (𝑁‘{𝑣})})
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 383  w3a 1072   = wceq 1620  wcel 2127  wrex 3039  {crab 3042  wss 3703  {csn 4309  cfv 6037  Basecbs 16030  0gc0g 16273  LModclmod 19036  LSubSpclss 19105  LSpanclspn 19144  LSAtomsclsa 34733  LFnlclfn 34816  LKerclk 34844  HLchlt 35109  LHypclh 35742  DVecHcdvh 36838  ocHcoch 37107  mapdcmpd 37384
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1859  ax-4 1874  ax-5 1976  ax-6 2042  ax-7 2078  ax-8 2129  ax-9 2136  ax-10 2156  ax-11 2171  ax-12 2184  ax-13 2379  ax-ext 2728  ax-rep 4911  ax-sep 4921  ax-nul 4929  ax-pow 4980  ax-pr 5043  ax-un 7102  ax-cnex 10155  ax-resscn 10156  ax-1cn 10157  ax-icn 10158  ax-addcl 10159  ax-addrcl 10160  ax-mulcl 10161  ax-mulrcl 10162  ax-mulcom 10163  ax-addass 10164  ax-mulass 10165  ax-distr 10166  ax-i2m1 10167  ax-1ne0 10168  ax-1rid 10169  ax-rnegex 10170  ax-rrecex 10171  ax-cnre 10172  ax-pre-lttri 10173  ax-pre-lttrn 10174  ax-pre-ltadd 10175  ax-pre-mulgt0 10176  ax-riotaBAD 34711
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1073  df-3an 1074  df-tru 1623  df-fal 1626  df-ex 1842  df-nf 1847  df-sb 2035  df-eu 2599  df-mo 2600  df-clab 2735  df-cleq 2741  df-clel 2744  df-nfc 2879  df-ne 2921  df-nel 3024  df-ral 3043  df-rex 3044  df-reu 3045  df-rmo 3046  df-rab 3047  df-v 3330  df-sbc 3565  df-csb 3663  df-dif 3706  df-un 3708  df-in 3710  df-ss 3717  df-pss 3719  df-nul 4047  df-if 4219  df-pw 4292  df-sn 4310  df-pr 4312  df-tp 4314  df-op 4316  df-uni 4577  df-int 4616  df-iun 4662  df-iin 4663  df-br 4793  df-opab 4853  df-mpt 4870  df-tr 4893  df-id 5162  df-eprel 5167  df-po 5175  df-so 5176  df-fr 5213  df-we 5215  df-xp 5260  df-rel 5261  df-cnv 5262  df-co 5263  df-dm 5264  df-rn 5265  df-res 5266  df-ima 5267  df-pred 5829  df-ord 5875  df-on 5876  df-lim 5877  df-suc 5878  df-iota 6000  df-fun 6039  df-fn 6040  df-f 6041  df-f1 6042  df-fo 6043  df-f1o 6044  df-fv 6045  df-riota 6762  df-ov 6804  df-oprab 6805  df-mpt2 6806  df-om 7219  df-1st 7321  df-2nd 7322  df-tpos 7509  df-undef 7556  df-wrecs 7564  df-recs 7625  df-rdg 7663  df-1o 7717  df-oadd 7721  df-er 7899  df-map 8013  df-en 8110  df-dom 8111  df-sdom 8112  df-fin 8113  df-pnf 10239  df-mnf 10240  df-xr 10241  df-ltxr 10242  df-le 10243  df-sub 10431  df-neg 10432  df-nn 11184  df-2 11242  df-3 11243  df-4 11244  df-5 11245  df-6 11246  df-n0 11456  df-z 11541  df-uz 11851  df-fz 12491  df-struct 16032  df-ndx 16033  df-slot 16034  df-base 16036  df-sets 16037  df-ress 16038  df-plusg 16127  df-mulr 16128  df-sca 16130  df-vsca 16131  df-0g 16275  df-preset 17100  df-poset 17118  df-plt 17130  df-lub 17146  df-glb 17147  df-join 17148  df-meet 17149  df-p0 17211  df-p1 17212  df-lat 17218  df-clat 17280  df-mgm 17414  df-sgrp 17456  df-mnd 17467  df-submnd 17508  df-grp 17597  df-minusg 17598  df-sbg 17599  df-subg 17763  df-cntz 17921  df-lsm 18222  df-cmn 18366  df-abl 18367  df-mgp 18661  df-ur 18673  df-ring 18720  df-oppr 18794  df-dvdsr 18812  df-unit 18813  df-invr 18843  df-dvr 18854  df-drng 18922  df-lmod 19038  df-lss 19106  df-lsp 19145  df-lvec 19276  df-lsatoms 34735  df-lshyp 34736  df-lfl 34817  df-lkr 34845  df-oposet 34935  df-ol 34937  df-oml 34938  df-covers 35025  df-ats 35026  df-atl 35057  df-cvlat 35081  df-hlat 35110  df-llines 35256  df-lplanes 35257  df-lvols 35258  df-lines 35259  df-psubsp 35261  df-pmap 35262  df-padd 35554  df-lhyp 35746  df-laut 35747  df-ldil 35862  df-ltrn 35863  df-trl 35918  df-tgrp 36502  df-tendo 36514  df-edring 36516  df-dveca 36762  df-disoa 36789  df-dvech 36839  df-dib 36899  df-dic 36933  df-dih 36989  df-doch 37108  df-djh 37155  df-mapd 37385
This theorem is referenced by:  mapdval3N  37391  mapdval4N  37392
  Copyright terms: Public domain W3C validator