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

Theorem hdmapinvlem4 36231
Description: Part 1.1 of Proposition 1 of [Baer] p. 110. We use 𝐶, 𝐷, 𝐼, and 𝐽 for Baer's u, v, s, and t. Our unit vector 𝐸 has the required properties for his w by hdmapevec2 36146. Our ((𝑆𝐷)‘𝐶) means his f(u,v) (note argument reversal). (Contributed by NM, 12-Jun-2015.)
Hypotheses
Ref Expression
hdmapinvlem3.h 𝐻 = (LHyp‘𝐾)
hdmapinvlem3.e 𝐸 = ⟨( I ↾ (Base‘𝐾)), ( I ↾ ((LTrn‘𝐾)‘𝑊))⟩
hdmapinvlem3.o 𝑂 = ((ocH‘𝐾)‘𝑊)
hdmapinvlem3.u 𝑈 = ((DVecH‘𝐾)‘𝑊)
hdmapinvlem3.v 𝑉 = (Base‘𝑈)
hdmapinvlem3.p + = (+g𝑈)
hdmapinvlem3.m = (-g𝑈)
hdmapinvlem3.q · = ( ·𝑠𝑈)
hdmapinvlem3.r 𝑅 = (Scalar‘𝑈)
hdmapinvlem3.b 𝐵 = (Base‘𝑅)
hdmapinvlem3.t × = (.r𝑅)
hdmapinvlem3.z 0 = (0g𝑅)
hdmapinvlem3.s 𝑆 = ((HDMap‘𝐾)‘𝑊)
hdmapinvlem3.g 𝐺 = ((HGMap‘𝐾)‘𝑊)
hdmapinvlem3.k (𝜑 → (𝐾 ∈ HL ∧ 𝑊𝐻))
hdmapinvlem3.c (𝜑𝐶 ∈ (𝑂‘{𝐸}))
hdmapinvlem3.d (𝜑𝐷 ∈ (𝑂‘{𝐸}))
hdmapinvlem3.i (𝜑𝐼𝐵)
hdmapinvlem3.j (𝜑𝐽𝐵)
hdmapinvlem3.ij (𝜑 → (𝐼 × (𝐺𝐽)) = ((𝑆𝐷)‘𝐶))
Assertion
Ref Expression
hdmapinvlem4 (𝜑 → (𝐽 × (𝐺𝐼)) = ((𝑆𝐶)‘𝐷))

Proof of Theorem hdmapinvlem4
StepHypRef Expression
1 hdmapinvlem3.h . . . 4 𝐻 = (LHyp‘𝐾)
2 hdmapinvlem3.u . . . 4 𝑈 = ((DVecH‘𝐾)‘𝑊)
3 hdmapinvlem3.v . . . 4 𝑉 = (Base‘𝑈)
4 hdmapinvlem3.m . . . 4 = (-g𝑈)
5 hdmapinvlem3.r . . . 4 𝑅 = (Scalar‘𝑈)
6 eqid 2610 . . . 4 (-g𝑅) = (-g𝑅)
7 hdmapinvlem3.s . . . 4 𝑆 = ((HDMap‘𝐾)‘𝑊)
8 hdmapinvlem3.k . . . 4 (𝜑 → (𝐾 ∈ HL ∧ 𝑊𝐻))
91, 2, 8dvhlmod 35417 . . . . 5 (𝜑𝑈 ∈ LMod)
10 hdmapinvlem3.j . . . . 5 (𝜑𝐽𝐵)
11 eqid 2610 . . . . . . 7 (Base‘𝐾) = (Base‘𝐾)
12 eqid 2610 . . . . . . 7 ((LTrn‘𝐾)‘𝑊) = ((LTrn‘𝐾)‘𝑊)
13 eqid 2610 . . . . . . 7 (0g𝑈) = (0g𝑈)
14 hdmapinvlem3.e . . . . . . 7 𝐸 = ⟨( I ↾ (Base‘𝐾)), ( I ↾ ((LTrn‘𝐾)‘𝑊))⟩
151, 11, 12, 2, 3, 13, 14, 8dvheveccl 35419 . . . . . 6 (𝜑𝐸 ∈ (𝑉 ∖ {(0g𝑈)}))
1615eldifad 3552 . . . . 5 (𝜑𝐸𝑉)
17 hdmapinvlem3.q . . . . . 6 · = ( ·𝑠𝑈)
18 hdmapinvlem3.b . . . . . 6 𝐵 = (Base‘𝑅)
193, 5, 17, 18lmodvscl 18703 . . . . 5 ((𝑈 ∈ LMod ∧ 𝐽𝐵𝐸𝑉) → (𝐽 · 𝐸) ∈ 𝑉)
209, 10, 16, 19syl3anc 1318 . . . 4 (𝜑 → (𝐽 · 𝐸) ∈ 𝑉)
2116snssd 4281 . . . . . 6 (𝜑 → {𝐸} ⊆ 𝑉)
22 hdmapinvlem3.o . . . . . . 7 𝑂 = ((ocH‘𝐾)‘𝑊)
231, 2, 3, 22dochssv 35662 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ {𝐸} ⊆ 𝑉) → (𝑂‘{𝐸}) ⊆ 𝑉)
248, 21, 23syl2anc 691 . . . . 5 (𝜑 → (𝑂‘{𝐸}) ⊆ 𝑉)
25 hdmapinvlem3.d . . . . 5 (𝜑𝐷 ∈ (𝑂‘{𝐸}))
2624, 25sseldd 3569 . . . 4 (𝜑𝐷𝑉)
27 hdmapinvlem3.i . . . . . 6 (𝜑𝐼𝐵)
283, 5, 17, 18lmodvscl 18703 . . . . . 6 ((𝑈 ∈ LMod ∧ 𝐼𝐵𝐸𝑉) → (𝐼 · 𝐸) ∈ 𝑉)
299, 27, 16, 28syl3anc 1318 . . . . 5 (𝜑 → (𝐼 · 𝐸) ∈ 𝑉)
30 hdmapinvlem3.c . . . . . 6 (𝜑𝐶 ∈ (𝑂‘{𝐸}))
3124, 30sseldd 3569 . . . . 5 (𝜑𝐶𝑉)
32 hdmapinvlem3.p . . . . . 6 + = (+g𝑈)
333, 32lmodvacl 18700 . . . . 5 ((𝑈 ∈ LMod ∧ (𝐼 · 𝐸) ∈ 𝑉𝐶𝑉) → ((𝐼 · 𝐸) + 𝐶) ∈ 𝑉)
349, 29, 31, 33syl3anc 1318 . . . 4 (𝜑 → ((𝐼 · 𝐸) + 𝐶) ∈ 𝑉)
351, 2, 3, 4, 5, 6, 7, 8, 20, 26, 34hdmaplns1 36218 . . 3 (𝜑 → ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘((𝐽 · 𝐸) 𝐷)) = (((𝑆‘((𝐼 · 𝐸) + 𝐶))‘(𝐽 · 𝐸))(-g𝑅)((𝑆‘((𝐼 · 𝐸) + 𝐶))‘𝐷)))
36 hdmapinvlem3.t . . . . 5 × = (.r𝑅)
37 hdmapinvlem3.z . . . . 5 0 = (0g𝑅)
38 hdmapinvlem3.g . . . . 5 𝐺 = ((HGMap‘𝐾)‘𝑊)
39 hdmapinvlem3.ij . . . . 5 (𝜑 → (𝐼 × (𝐺𝐽)) = ((𝑆𝐷)‘𝐶))
401, 14, 22, 2, 3, 32, 4, 17, 5, 18, 36, 37, 7, 38, 8, 30, 25, 27, 10, 39hdmapinvlem3 36230 . . . 4 (𝜑 → ((𝑆‘((𝐽 · 𝐸) 𝐷))‘((𝐼 · 𝐸) + 𝐶)) = 0 )
413, 4lmodvsubcl 18731 . . . . . 6 ((𝑈 ∈ LMod ∧ (𝐽 · 𝐸) ∈ 𝑉𝐷𝑉) → ((𝐽 · 𝐸) 𝐷) ∈ 𝑉)
429, 20, 26, 41syl3anc 1318 . . . . 5 (𝜑 → ((𝐽 · 𝐸) 𝐷) ∈ 𝑉)
431, 2, 3, 5, 37, 7, 8, 42, 34hdmapip0com 36227 . . . 4 (𝜑 → (((𝑆‘((𝐽 · 𝐸) 𝐷))‘((𝐼 · 𝐸) + 𝐶)) = 0 ↔ ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘((𝐽 · 𝐸) 𝐷)) = 0 ))
4440, 43mpbid 221 . . 3 (𝜑 → ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘((𝐽 · 𝐸) 𝐷)) = 0 )
451, 2, 3, 17, 5, 18, 36, 7, 8, 16, 34, 10hdmaplnm1 36219 . . . . 5 (𝜑 → ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘(𝐽 · 𝐸)) = (𝐽 × ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘𝐸)))
46 eqid 2610 . . . . . . . 8 (+g𝑅) = (+g𝑅)
471, 2, 3, 32, 5, 46, 7, 8, 16, 29, 31hdmaplna2 36220 . . . . . . 7 (𝜑 → ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘𝐸) = (((𝑆‘(𝐼 · 𝐸))‘𝐸)(+g𝑅)((𝑆𝐶)‘𝐸)))
481, 14, 22, 2, 3, 5, 18, 36, 37, 7, 8, 30hdmapinvlem2 36229 . . . . . . . 8 (𝜑 → ((𝑆𝐶)‘𝐸) = 0 )
4948oveq2d 6565 . . . . . . 7 (𝜑 → (((𝑆‘(𝐼 · 𝐸))‘𝐸)(+g𝑅)((𝑆𝐶)‘𝐸)) = (((𝑆‘(𝐼 · 𝐸))‘𝐸)(+g𝑅) 0 ))
505lmodring 18694 . . . . . . . . . . 11 (𝑈 ∈ LMod → 𝑅 ∈ Ring)
519, 50syl 17 . . . . . . . . . 10 (𝜑𝑅 ∈ Ring)
52 ringgrp 18375 . . . . . . . . . 10 (𝑅 ∈ Ring → 𝑅 ∈ Grp)
5351, 52syl 17 . . . . . . . . 9 (𝜑𝑅 ∈ Grp)
541, 2, 3, 5, 18, 7, 8, 16, 29hdmapipcl 36215 . . . . . . . . 9 (𝜑 → ((𝑆‘(𝐼 · 𝐸))‘𝐸) ∈ 𝐵)
5518, 46, 37grprid 17276 . . . . . . . . 9 ((𝑅 ∈ Grp ∧ ((𝑆‘(𝐼 · 𝐸))‘𝐸) ∈ 𝐵) → (((𝑆‘(𝐼 · 𝐸))‘𝐸)(+g𝑅) 0 ) = ((𝑆‘(𝐼 · 𝐸))‘𝐸))
5653, 54, 55syl2anc 691 . . . . . . . 8 (𝜑 → (((𝑆‘(𝐼 · 𝐸))‘𝐸)(+g𝑅) 0 ) = ((𝑆‘(𝐼 · 𝐸))‘𝐸))
571, 2, 3, 17, 5, 18, 36, 7, 38, 8, 16, 16, 27hdmapglnm2 36221 . . . . . . . 8 (𝜑 → ((𝑆‘(𝐼 · 𝐸))‘𝐸) = (((𝑆𝐸)‘𝐸) × (𝐺𝐼)))
58 eqid 2610 . . . . . . . . . . 11 ((HVMap‘𝐾)‘𝑊) = ((HVMap‘𝐾)‘𝑊)
59 eqid 2610 . . . . . . . . . . 11 (1r𝑅) = (1r𝑅)
601, 14, 58, 7, 8, 2, 5, 59hdmapevec2 36146 . . . . . . . . . 10 (𝜑 → ((𝑆𝐸)‘𝐸) = (1r𝑅))
6160oveq1d 6564 . . . . . . . . 9 (𝜑 → (((𝑆𝐸)‘𝐸) × (𝐺𝐼)) = ((1r𝑅) × (𝐺𝐼)))
621, 2, 5, 18, 38, 8, 27hgmapcl 36199 . . . . . . . . . 10 (𝜑 → (𝐺𝐼) ∈ 𝐵)
6318, 36, 59ringlidm 18394 . . . . . . . . . 10 ((𝑅 ∈ Ring ∧ (𝐺𝐼) ∈ 𝐵) → ((1r𝑅) × (𝐺𝐼)) = (𝐺𝐼))
6451, 62, 63syl2anc 691 . . . . . . . . 9 (𝜑 → ((1r𝑅) × (𝐺𝐼)) = (𝐺𝐼))
6561, 64eqtrd 2644 . . . . . . . 8 (𝜑 → (((𝑆𝐸)‘𝐸) × (𝐺𝐼)) = (𝐺𝐼))
6656, 57, 653eqtrd 2648 . . . . . . 7 (𝜑 → (((𝑆‘(𝐼 · 𝐸))‘𝐸)(+g𝑅) 0 ) = (𝐺𝐼))
6747, 49, 663eqtrd 2648 . . . . . 6 (𝜑 → ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘𝐸) = (𝐺𝐼))
6867oveq2d 6565 . . . . 5 (𝜑 → (𝐽 × ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘𝐸)) = (𝐽 × (𝐺𝐼)))
6945, 68eqtrd 2644 . . . 4 (𝜑 → ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘(𝐽 · 𝐸)) = (𝐽 × (𝐺𝐼)))
701, 2, 3, 32, 5, 46, 7, 8, 26, 29, 31hdmaplna2 36220 . . . . 5 (𝜑 → ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘𝐷) = (((𝑆‘(𝐼 · 𝐸))‘𝐷)(+g𝑅)((𝑆𝐶)‘𝐷)))
711, 2, 3, 17, 5, 18, 36, 7, 38, 8, 26, 16, 27hdmapglnm2 36221 . . . . . . 7 (𝜑 → ((𝑆‘(𝐼 · 𝐸))‘𝐷) = (((𝑆𝐸)‘𝐷) × (𝐺𝐼)))
721, 14, 22, 2, 3, 5, 18, 36, 37, 7, 8, 25hdmapinvlem1 36228 . . . . . . . 8 (𝜑 → ((𝑆𝐸)‘𝐷) = 0 )
7372oveq1d 6564 . . . . . . 7 (𝜑 → (((𝑆𝐸)‘𝐷) × (𝐺𝐼)) = ( 0 × (𝐺𝐼)))
7418, 36, 37ringlz 18410 . . . . . . . 8 ((𝑅 ∈ Ring ∧ (𝐺𝐼) ∈ 𝐵) → ( 0 × (𝐺𝐼)) = 0 )
7551, 62, 74syl2anc 691 . . . . . . 7 (𝜑 → ( 0 × (𝐺𝐼)) = 0 )
7671, 73, 753eqtrd 2648 . . . . . 6 (𝜑 → ((𝑆‘(𝐼 · 𝐸))‘𝐷) = 0 )
7776oveq1d 6564 . . . . 5 (𝜑 → (((𝑆‘(𝐼 · 𝐸))‘𝐷)(+g𝑅)((𝑆𝐶)‘𝐷)) = ( 0 (+g𝑅)((𝑆𝐶)‘𝐷)))
781, 2, 3, 5, 18, 7, 8, 26, 31hdmapipcl 36215 . . . . . 6 (𝜑 → ((𝑆𝐶)‘𝐷) ∈ 𝐵)
7918, 46, 37grplid 17275 . . . . . 6 ((𝑅 ∈ Grp ∧ ((𝑆𝐶)‘𝐷) ∈ 𝐵) → ( 0 (+g𝑅)((𝑆𝐶)‘𝐷)) = ((𝑆𝐶)‘𝐷))
8053, 78, 79syl2anc 691 . . . . 5 (𝜑 → ( 0 (+g𝑅)((𝑆𝐶)‘𝐷)) = ((𝑆𝐶)‘𝐷))
8170, 77, 803eqtrd 2648 . . . 4 (𝜑 → ((𝑆‘((𝐼 · 𝐸) + 𝐶))‘𝐷) = ((𝑆𝐶)‘𝐷))
8269, 81oveq12d 6567 . . 3 (𝜑 → (((𝑆‘((𝐼 · 𝐸) + 𝐶))‘(𝐽 · 𝐸))(-g𝑅)((𝑆‘((𝐼 · 𝐸) + 𝐶))‘𝐷)) = ((𝐽 × (𝐺𝐼))(-g𝑅)((𝑆𝐶)‘𝐷)))
8335, 44, 823eqtr3rd 2653 . 2 (𝜑 → ((𝐽 × (𝐺𝐼))(-g𝑅)((𝑆𝐶)‘𝐷)) = 0 )
845, 18, 36lmodmcl 18698 . . . 4 ((𝑈 ∈ LMod ∧ 𝐽𝐵 ∧ (𝐺𝐼) ∈ 𝐵) → (𝐽 × (𝐺𝐼)) ∈ 𝐵)
859, 10, 62, 84syl3anc 1318 . . 3 (𝜑 → (𝐽 × (𝐺𝐼)) ∈ 𝐵)
8618, 37, 6grpsubeq0 17324 . . 3 ((𝑅 ∈ Grp ∧ (𝐽 × (𝐺𝐼)) ∈ 𝐵 ∧ ((𝑆𝐶)‘𝐷) ∈ 𝐵) → (((𝐽 × (𝐺𝐼))(-g𝑅)((𝑆𝐶)‘𝐷)) = 0 ↔ (𝐽 × (𝐺𝐼)) = ((𝑆𝐶)‘𝐷)))
8753, 85, 78, 86syl3anc 1318 . 2 (𝜑 → (((𝐽 × (𝐺𝐼))(-g𝑅)((𝑆𝐶)‘𝐷)) = 0 ↔ (𝐽 × (𝐺𝐼)) = ((𝑆𝐶)‘𝐷)))
8883, 87mpbid 221 1 (𝜑 → (𝐽 × (𝐺𝐼)) = ((𝑆𝐶)‘𝐷))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 195  wa 383   = wceq 1475  wcel 1977  wss 3540  {csn 4125  cop 4131   I cid 4948  cres 5040  cfv 5804  (class class class)co 6549  Basecbs 15695  +gcplusg 15768  .rcmulr 15769  Scalarcsca 15771   ·𝑠 cvsca 15772  0gc0g 15923  Grpcgrp 17245  -gcsg 17247  1rcur 18324  Ringcrg 18370  LModclmod 18686  HLchlt 33655  LHypclh 34288  LTrncltrn 34405  DVecHcdvh 35385  ocHcoch 35654  HVMapchvm 36063  HDMapchdma 36100  HGMapchg 36193
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892  ax-riotaBAD 33257
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-fal 1481  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-ot 4134  df-uni 4373  df-int 4411  df-iun 4457  df-iin 4458  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-of 6795  df-om 6958  df-1st 7059  df-2nd 7060  df-tpos 7239  df-undef 7286  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-oadd 7451  df-er 7629  df-map 7746  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-nn 10898  df-2 10956  df-3 10957  df-4 10958  df-5 10959  df-6 10960  df-n0 11170  df-z 11255  df-uz 11564  df-fz 12198  df-struct 15697  df-ndx 15698  df-slot 15699  df-base 15700  df-sets 15701  df-ress 15702  df-plusg 15781  df-mulr 15782  df-sca 15784  df-vsca 15785  df-0g 15925  df-mre 16069  df-mrc 16070  df-acs 16072  df-preset 16751  df-poset 16769  df-plt 16781  df-lub 16797  df-glb 16798  df-join 16799  df-meet 16800  df-p0 16862  df-p1 16863  df-lat 16869  df-clat 16931  df-mgm 17065  df-sgrp 17107  df-mnd 17118  df-submnd 17159  df-grp 17248  df-minusg 17249  df-sbg 17250  df-subg 17414  df-cntz 17573  df-oppg 17599  df-lsm 17874  df-cmn 18018  df-abl 18019  df-mgp 18313  df-ur 18325  df-ring 18372  df-oppr 18446  df-dvdsr 18464  df-unit 18465  df-invr 18495  df-dvr 18506  df-drng 18572  df-lmod 18688  df-lss 18754  df-lsp 18793  df-lvec 18924  df-lsatoms 33281  df-lshyp 33282  df-lcv 33324  df-lfl 33363  df-lkr 33391  df-ldual 33429  df-oposet 33481  df-ol 33483  df-oml 33484  df-covers 33571  df-ats 33572  df-atl 33603  df-cvlat 33627  df-hlat 33656  df-llines 33802  df-lplanes 33803  df-lvols 33804  df-lines 33805  df-psubsp 33807  df-pmap 33808  df-padd 34100  df-lhyp 34292  df-laut 34293  df-ldil 34408  df-ltrn 34409  df-trl 34464  df-tgrp 35049  df-tendo 35061  df-edring 35063  df-dveca 35309  df-disoa 35336  df-dvech 35386  df-dib 35446  df-dic 35480  df-dih 35536  df-doch 35655  df-djh 35702  df-lcdual 35894  df-mapd 35932  df-hvmap 36064  df-hdmap1 36101  df-hdmap 36102  df-hgmap 36194
This theorem is referenced by:  hdmapglem5  36232  hgmapvvlem1  36233
  Copyright terms: Public domain W3C validator