MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  resmhm Structured version   Visualization version   GIF version

Theorem resmhm 18636
Description: Restriction of a monoid homomorphism to a submonoid is a homomorphism. (Contributed by Mario Carneiro, 12-Mar-2015.)
Hypothesis
Ref Expression
resmhm.u π‘ˆ = (𝑆 β†Ύs 𝑋)
Assertion
Ref Expression
resmhm ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (𝐹 β†Ύ 𝑋) ∈ (π‘ˆ MndHom 𝑇))

Proof of Theorem resmhm
Dummy variables π‘₯ 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 mhmrcl2 18611 . . 3 (𝐹 ∈ (𝑆 MndHom 𝑇) β†’ 𝑇 ∈ Mnd)
2 resmhm.u . . . 4 π‘ˆ = (𝑆 β†Ύs 𝑋)
32submmnd 18629 . . 3 (𝑋 ∈ (SubMndβ€˜π‘†) β†’ π‘ˆ ∈ Mnd)
41, 3anim12ci 615 . 2 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (π‘ˆ ∈ Mnd ∧ 𝑇 ∈ Mnd))
5 eqid 2733 . . . . . 6 (Baseβ€˜π‘†) = (Baseβ€˜π‘†)
6 eqid 2733 . . . . . 6 (Baseβ€˜π‘‡) = (Baseβ€˜π‘‡)
75, 6mhmf 18612 . . . . 5 (𝐹 ∈ (𝑆 MndHom 𝑇) β†’ 𝐹:(Baseβ€˜π‘†)⟢(Baseβ€˜π‘‡))
85submss 18625 . . . . 5 (𝑋 ∈ (SubMndβ€˜π‘†) β†’ 𝑋 βŠ† (Baseβ€˜π‘†))
9 fssres 6709 . . . . 5 ((𝐹:(Baseβ€˜π‘†)⟢(Baseβ€˜π‘‡) ∧ 𝑋 βŠ† (Baseβ€˜π‘†)) β†’ (𝐹 β†Ύ 𝑋):π‘‹βŸΆ(Baseβ€˜π‘‡))
107, 8, 9syl2an 597 . . . 4 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (𝐹 β†Ύ 𝑋):π‘‹βŸΆ(Baseβ€˜π‘‡))
118adantl 483 . . . . . 6 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ 𝑋 βŠ† (Baseβ€˜π‘†))
122, 5ressbas2 17125 . . . . . 6 (𝑋 βŠ† (Baseβ€˜π‘†) β†’ 𝑋 = (Baseβ€˜π‘ˆ))
1311, 12syl 17 . . . . 5 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ 𝑋 = (Baseβ€˜π‘ˆ))
1413feq2d 6655 . . . 4 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ ((𝐹 β†Ύ 𝑋):π‘‹βŸΆ(Baseβ€˜π‘‡) ↔ (𝐹 β†Ύ 𝑋):(Baseβ€˜π‘ˆ)⟢(Baseβ€˜π‘‡)))
1510, 14mpbid 231 . . 3 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (𝐹 β†Ύ 𝑋):(Baseβ€˜π‘ˆ)⟢(Baseβ€˜π‘‡))
16 simpll 766 . . . . . . 7 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ 𝐹 ∈ (𝑆 MndHom 𝑇))
178ad2antlr 726 . . . . . . . 8 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ 𝑋 βŠ† (Baseβ€˜π‘†))
18 simprl 770 . . . . . . . 8 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ π‘₯ ∈ 𝑋)
1917, 18sseldd 3946 . . . . . . 7 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ π‘₯ ∈ (Baseβ€˜π‘†))
20 simprr 772 . . . . . . . 8 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ 𝑦 ∈ 𝑋)
2117, 20sseldd 3946 . . . . . . 7 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ 𝑦 ∈ (Baseβ€˜π‘†))
22 eqid 2733 . . . . . . . 8 (+gβ€˜π‘†) = (+gβ€˜π‘†)
23 eqid 2733 . . . . . . . 8 (+gβ€˜π‘‡) = (+gβ€˜π‘‡)
245, 22, 23mhmlin 18614 . . . . . . 7 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ π‘₯ ∈ (Baseβ€˜π‘†) ∧ 𝑦 ∈ (Baseβ€˜π‘†)) β†’ (πΉβ€˜(π‘₯(+gβ€˜π‘†)𝑦)) = ((πΉβ€˜π‘₯)(+gβ€˜π‘‡)(πΉβ€˜π‘¦)))
2516, 19, 21, 24syl3anc 1372 . . . . . 6 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ (πΉβ€˜(π‘₯(+gβ€˜π‘†)𝑦)) = ((πΉβ€˜π‘₯)(+gβ€˜π‘‡)(πΉβ€˜π‘¦)))
2622submcl 18628 . . . . . . . . 9 ((𝑋 ∈ (SubMndβ€˜π‘†) ∧ π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋) β†’ (π‘₯(+gβ€˜π‘†)𝑦) ∈ 𝑋)
27263expb 1121 . . . . . . . 8 ((𝑋 ∈ (SubMndβ€˜π‘†) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ (π‘₯(+gβ€˜π‘†)𝑦) ∈ 𝑋)
2827adantll 713 . . . . . . 7 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ (π‘₯(+gβ€˜π‘†)𝑦) ∈ 𝑋)
2928fvresd 6863 . . . . . 6 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ ((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘†)𝑦)) = (πΉβ€˜(π‘₯(+gβ€˜π‘†)𝑦)))
30 fvres 6862 . . . . . . . 8 (π‘₯ ∈ 𝑋 β†’ ((𝐹 β†Ύ 𝑋)β€˜π‘₯) = (πΉβ€˜π‘₯))
31 fvres 6862 . . . . . . . 8 (𝑦 ∈ 𝑋 β†’ ((𝐹 β†Ύ 𝑋)β€˜π‘¦) = (πΉβ€˜π‘¦))
3230, 31oveqan12d 7377 . . . . . . 7 ((π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋) β†’ (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)) = ((πΉβ€˜π‘₯)(+gβ€˜π‘‡)(πΉβ€˜π‘¦)))
3332adantl 483 . . . . . 6 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)) = ((πΉβ€˜π‘₯)(+gβ€˜π‘‡)(πΉβ€˜π‘¦)))
3425, 29, 333eqtr4d 2783 . . . . 5 (((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) ∧ (π‘₯ ∈ 𝑋 ∧ 𝑦 ∈ 𝑋)) β†’ ((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘†)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)))
3534ralrimivva 3194 . . . 4 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ βˆ€π‘₯ ∈ 𝑋 βˆ€π‘¦ ∈ 𝑋 ((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘†)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)))
362, 22ressplusg 17176 . . . . . . . . 9 (𝑋 ∈ (SubMndβ€˜π‘†) β†’ (+gβ€˜π‘†) = (+gβ€˜π‘ˆ))
3736adantl 483 . . . . . . . 8 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (+gβ€˜π‘†) = (+gβ€˜π‘ˆ))
3837oveqd 7375 . . . . . . 7 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (π‘₯(+gβ€˜π‘†)𝑦) = (π‘₯(+gβ€˜π‘ˆ)𝑦))
3938fveqeq2d 6851 . . . . . 6 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘†)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)) ↔ ((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘ˆ)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦))))
4013, 39raleqbidv 3318 . . . . 5 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (βˆ€π‘¦ ∈ 𝑋 ((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘†)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)) ↔ βˆ€π‘¦ ∈ (Baseβ€˜π‘ˆ)((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘ˆ)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦))))
4113, 40raleqbidv 3318 . . . 4 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (βˆ€π‘₯ ∈ 𝑋 βˆ€π‘¦ ∈ 𝑋 ((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘†)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)) ↔ βˆ€π‘₯ ∈ (Baseβ€˜π‘ˆ)βˆ€π‘¦ ∈ (Baseβ€˜π‘ˆ)((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘ˆ)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦))))
4235, 41mpbid 231 . . 3 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ βˆ€π‘₯ ∈ (Baseβ€˜π‘ˆ)βˆ€π‘¦ ∈ (Baseβ€˜π‘ˆ)((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘ˆ)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)))
43 eqid 2733 . . . . . . 7 (0gβ€˜π‘†) = (0gβ€˜π‘†)
4443subm0cl 18627 . . . . . 6 (𝑋 ∈ (SubMndβ€˜π‘†) β†’ (0gβ€˜π‘†) ∈ 𝑋)
4544adantl 483 . . . . 5 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (0gβ€˜π‘†) ∈ 𝑋)
4645fvresd 6863 . . . 4 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ ((𝐹 β†Ύ 𝑋)β€˜(0gβ€˜π‘†)) = (πΉβ€˜(0gβ€˜π‘†)))
472, 43subm0 18631 . . . . . 6 (𝑋 ∈ (SubMndβ€˜π‘†) β†’ (0gβ€˜π‘†) = (0gβ€˜π‘ˆ))
4847adantl 483 . . . . 5 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (0gβ€˜π‘†) = (0gβ€˜π‘ˆ))
4948fveq2d 6847 . . . 4 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ ((𝐹 β†Ύ 𝑋)β€˜(0gβ€˜π‘†)) = ((𝐹 β†Ύ 𝑋)β€˜(0gβ€˜π‘ˆ)))
50 eqid 2733 . . . . . 6 (0gβ€˜π‘‡) = (0gβ€˜π‘‡)
5143, 50mhm0 18615 . . . . 5 (𝐹 ∈ (𝑆 MndHom 𝑇) β†’ (πΉβ€˜(0gβ€˜π‘†)) = (0gβ€˜π‘‡))
5251adantr 482 . . . 4 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (πΉβ€˜(0gβ€˜π‘†)) = (0gβ€˜π‘‡))
5346, 49, 523eqtr3d 2781 . . 3 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ ((𝐹 β†Ύ 𝑋)β€˜(0gβ€˜π‘ˆ)) = (0gβ€˜π‘‡))
5415, 42, 533jca 1129 . 2 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ ((𝐹 β†Ύ 𝑋):(Baseβ€˜π‘ˆ)⟢(Baseβ€˜π‘‡) ∧ βˆ€π‘₯ ∈ (Baseβ€˜π‘ˆ)βˆ€π‘¦ ∈ (Baseβ€˜π‘ˆ)((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘ˆ)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)) ∧ ((𝐹 β†Ύ 𝑋)β€˜(0gβ€˜π‘ˆ)) = (0gβ€˜π‘‡)))
55 eqid 2733 . . 3 (Baseβ€˜π‘ˆ) = (Baseβ€˜π‘ˆ)
56 eqid 2733 . . 3 (+gβ€˜π‘ˆ) = (+gβ€˜π‘ˆ)
57 eqid 2733 . . 3 (0gβ€˜π‘ˆ) = (0gβ€˜π‘ˆ)
5855, 6, 56, 23, 57, 50ismhm 18608 . 2 ((𝐹 β†Ύ 𝑋) ∈ (π‘ˆ MndHom 𝑇) ↔ ((π‘ˆ ∈ Mnd ∧ 𝑇 ∈ Mnd) ∧ ((𝐹 β†Ύ 𝑋):(Baseβ€˜π‘ˆ)⟢(Baseβ€˜π‘‡) ∧ βˆ€π‘₯ ∈ (Baseβ€˜π‘ˆ)βˆ€π‘¦ ∈ (Baseβ€˜π‘ˆ)((𝐹 β†Ύ 𝑋)β€˜(π‘₯(+gβ€˜π‘ˆ)𝑦)) = (((𝐹 β†Ύ 𝑋)β€˜π‘₯)(+gβ€˜π‘‡)((𝐹 β†Ύ 𝑋)β€˜π‘¦)) ∧ ((𝐹 β†Ύ 𝑋)β€˜(0gβ€˜π‘ˆ)) = (0gβ€˜π‘‡))))
594, 54, 58sylanbrc 584 1 ((𝐹 ∈ (𝑆 MndHom 𝑇) ∧ 𝑋 ∈ (SubMndβ€˜π‘†)) β†’ (𝐹 β†Ύ 𝑋) ∈ (π‘ˆ MndHom 𝑇))
Colors of variables: wff setvar class
Syntax hints:   β†’ wi 4   ∧ wa 397   ∧ w3a 1088   = wceq 1542   ∈ wcel 2107  βˆ€wral 3061   βŠ† wss 3911   β†Ύ cres 5636  βŸΆwf 6493  β€˜cfv 6497  (class class class)co 7358  Basecbs 17088   β†Ύs cress 17117  +gcplusg 17138  0gc0g 17326  Mndcmnd 18561   MndHom cmhm 18604  SubMndcsubmnd 18605
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-sep 5257  ax-nul 5264  ax-pow 5321  ax-pr 5385  ax-un 7673  ax-cnex 11112  ax-resscn 11113  ax-1cn 11114  ax-icn 11115  ax-addcl 11116  ax-addrcl 11117  ax-mulcl 11118  ax-mulrcl 11119  ax-mulcom 11120  ax-addass 11121  ax-mulass 11122  ax-distr 11123  ax-i2m1 11124  ax-1ne0 11125  ax-1rid 11126  ax-rnegex 11127  ax-rrecex 11128  ax-cnre 11129  ax-pre-lttri 11130  ax-pre-lttrn 11131  ax-pre-ltadd 11132  ax-pre-mulgt0 11133
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 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-rmo 3352  df-reu 3353  df-rab 3407  df-v 3446  df-sbc 3741  df-csb 3857  df-dif 3914  df-un 3916  df-in 3918  df-ss 3928  df-pss 3930  df-nul 4284  df-if 4488  df-pw 4563  df-sn 4588  df-pr 4590  df-op 4594  df-uni 4867  df-iun 4957  df-br 5107  df-opab 5169  df-mpt 5190  df-tr 5224  df-id 5532  df-eprel 5538  df-po 5546  df-so 5547  df-fr 5589  df-we 5591  df-xp 5640  df-rel 5641  df-cnv 5642  df-co 5643  df-dm 5644  df-rn 5645  df-res 5646  df-ima 5647  df-pred 6254  df-ord 6321  df-on 6322  df-lim 6323  df-suc 6324  df-iota 6449  df-fun 6499  df-fn 6500  df-f 6501  df-f1 6502  df-fo 6503  df-f1o 6504  df-fv 6505  df-riota 7314  df-ov 7361  df-oprab 7362  df-mpo 7363  df-om 7804  df-2nd 7923  df-frecs 8213  df-wrecs 8244  df-recs 8318  df-rdg 8357  df-er 8651  df-map 8770  df-en 8887  df-dom 8888  df-sdom 8889  df-pnf 11196  df-mnf 11197  df-xr 11198  df-ltxr 11199  df-le 11200  df-sub 11392  df-neg 11393  df-nn 12159  df-2 12221  df-sets 17041  df-slot 17059  df-ndx 17071  df-base 17089  df-ress 17118  df-plusg 17151  df-0g 17328  df-mgm 18502  df-sgrp 18551  df-mnd 18562  df-mhm 18606  df-submnd 18607
This theorem is referenced by:  resrhm  20265  dchrghm  26620
  Copyright terms: Public domain W3C validator