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

Theorem evls1maprhm 22706
Description: The function 𝐹 mapping polynomials 𝑝 to their subring evaluation at a given point 𝑋 is a ring homomorphism. (Contributed by Thierry Arnoux, 8-Feb-2025.)
Hypotheses
Ref Expression
evls1maprhm.q 𝑂 = (𝑅 evalSub1 𝑆)
evls1maprhm.p 𝑃 = (Poly1‘(𝑅 ↾s 𝑆))
evls1maprhm.b 𝐵 = (Base‘𝑅)
evls1maprhm.u 𝑈 = (Base‘𝑃)
evls1maprhm.r (𝜑 → 𝑅 ∈ CRing)
evls1maprhm.s (𝜑 → 𝑆 ∈ (SubRing‘𝑅))
evls1maprhm.y (𝜑 → 𝑋 ∈ 𝐵)
evls1maprhm.f 𝐹 = (𝑝 ∈ 𝑈 ↦ ((𝑂‘𝑝)‘𝑋))
Assertion
Ref Expression
evls1maprhm (𝜑 → 𝐹 ∈ (𝑃 RingHom 𝑅))
Distinct variable groups:   𝐵,𝑝   𝑂,𝑝   𝑃,𝑝   𝑈,𝑝   𝑋,𝑝   𝜑,𝑝
Allowed substitution hints:   𝑅(𝑝)   𝑆(𝑝)   𝐹(𝑝)

Proof of Theorem evls1maprhm
Dummy variables 𝑞 𝑟 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 evls1maprhm.u . 2 𝑈 = (Base‘𝑃)
2 eqid 2763 . 2 (1r‘𝑃) = (1r‘𝑃)
3 eqid 2763 . 2 (1r‘𝑅) = (1r‘𝑅)
4 eqid 2763 . 2 (.r‘𝑃) = (.r‘𝑃)
5 eqid 2763 . 2 (.r‘𝑅) = (.r‘𝑅)
6 evls1maprhm.r . . . . 5 (𝜑 → 𝑅 ∈ CRing)
7 evls1maprhm.s . . . . 5 (𝜑 → 𝑆 ∈ (SubRing‘𝑅))
8 eqid 2763 . . . . . 6 (𝑅 ↾s 𝑆) = (𝑅 ↾s 𝑆)
98subrgcrng 20839 . . . . 5 ((𝑅 ∈ CRing ∧ 𝑆 ∈ (SubRing‘𝑅)) → (𝑅 ↾s 𝑆) ∈ CRing)
106, 7, 9syl2anc 596 . . . 4 (𝜑 → (𝑅 ↾s 𝑆) ∈ CRing)
11 evls1maprhm.p . . . . 5 𝑃 = (Poly1‘(𝑅 ↾s 𝑆))
1211ply1crng 22528 . . . 4 ((𝑅 ↾s 𝑆) ∈ CRing → 𝑃 ∈ CRing)
1310, 12syl 18 . . 3 (𝜑 → 𝑃 ∈ CRing)
1413crngringd 20485 . 2 (𝜑 → 𝑃 ∈ Ring)
156crngringd 20485 . 2 (𝜑 → 𝑅 ∈ Ring)
16 evls1maprhm.f . . . 4 𝐹 = (𝑝 ∈ 𝑈 ↦ ((𝑂‘𝑝)‘𝑋))
17 fveq2 6893 . . . . 5 (𝑝 = (1r‘𝑃) → (𝑂‘𝑝) = (𝑂‘(1r‘𝑃)))
1817fveq1d 6895 . . . 4 (𝑝 = (1r‘𝑃) → ((𝑂‘𝑝)‘𝑋) = ((𝑂‘(1r‘𝑃))‘𝑋))
191, 2ringidcl 20506 . . . . 5 (𝑃 ∈ Ring → (1r‘𝑃) ∈ 𝑈)
2014, 19syl 18 . . . 4 (𝜑 → (1r‘𝑃) ∈ 𝑈)
21 fvexd 6908 . . . 4 (𝜑 → ((𝑂‘(1r‘𝑃))‘𝑋) ∈ V)
2216, 18, 20, 21fvmptd3 7025 . . 3 (𝜑 → (𝐹‘(1r‘𝑃)) = ((𝑂‘(1r‘𝑃))‘𝑋))
238, 3subrg1 20846 . . . . . . . 8 (𝑆 ∈ (SubRing‘𝑅) → (1r‘𝑅) = (1r‘(𝑅 ↾s 𝑆)))
247, 23syl 18 . . . . . . 7 (𝜑 → (1r‘𝑅) = (1r‘(𝑅 ↾s 𝑆)))
2524fveq2d 6897 . . . . . 6 (𝜑 → ((algSc‘𝑃)‘(1r‘𝑅)) = ((algSc‘𝑃)‘(1r‘(𝑅 ↾s 𝑆))))
2610crngringd 20485 . . . . . . 7 (𝜑 → (𝑅 ↾s 𝑆) ∈ Ring)
27 eqid 2763 . . . . . . . 8 (algSc‘𝑃) = (algSc‘𝑃)
28 eqid 2763 . . . . . . . 8 (1r‘(𝑅 ↾s 𝑆)) = (1r‘(𝑅 ↾s 𝑆))
2911, 27, 28, 2ply1scl1 22623 . . . . . . 7 ((𝑅 ↾s 𝑆) ∈ Ring → ((algSc‘𝑃)‘(1r‘(𝑅 ↾s 𝑆))) = (1r‘𝑃))
3026, 29syl 18 . . . . . 6 (𝜑 → ((algSc‘𝑃)‘(1r‘(𝑅 ↾s 𝑆))) = (1r‘𝑃))
3125, 30eqtr2d 2799 . . . . 5 (𝜑 → (1r‘𝑃) = ((algSc‘𝑃)‘(1r‘𝑅)))
3231fveq2d 6897 . . . 4 (𝜑 → (𝑂‘(1r‘𝑃)) = (𝑂‘((algSc‘𝑃)‘(1r‘𝑅))))
3332fveq1d 6895 . . 3 (𝜑 → ((𝑂‘(1r‘𝑃))‘𝑋) = ((𝑂‘((algSc‘𝑃)‘(1r‘𝑅)))‘𝑋))
34 evls1maprhm.q . . . 4 𝑂 = (𝑅 evalSub1 𝑆)
35 evls1maprhm.b . . . 4 𝐵 = (Base‘𝑅)
363subrg1cl 20844 . . . . 5 (𝑆 ∈ (SubRing‘𝑅) → (1r‘𝑅) ∈ 𝑆)
377, 36syl 18 . . . 4 (𝜑 → (1r‘𝑅) ∈ 𝑆)
38 evls1maprhm.y . . . 4 (𝜑 → 𝑋 ∈ 𝐵)
3934, 11, 8, 35, 27, 6, 7, 37, 38evls1scafv 22696 . . 3 (𝜑 → ((𝑂‘((algSc‘𝑃)‘(1r‘𝑅)))‘𝑋) = (1r‘𝑅))
4022, 33, 393eqtrd 2802 . 2 (𝜑 → (𝐹‘(1r‘𝑃)) = (1r‘𝑅))
416adantr 486 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → 𝑅 ∈ CRing)
427adantr 486 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → 𝑆 ∈ (SubRing‘𝑅))
43 simprl 783 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → 𝑞 ∈ 𝑈)
44 simprr 785 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → 𝑟 ∈ 𝑈)
4538adantr 486 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → 𝑋 ∈ 𝐵)
4634, 35, 11, 8, 1, 4, 5, 41, 42, 43, 44, 45evls1muld 22702 . . 3 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → ((𝑂‘(𝑞(.r‘𝑃)𝑟))‘𝑋) = (((𝑂‘𝑞)‘𝑋)(.r‘𝑅)((𝑂‘𝑟)‘𝑋)))
47 fveq2 6893 . . . . 5 (𝑝 = (𝑞(.r‘𝑃)𝑟) → (𝑂‘𝑝) = (𝑂‘(𝑞(.r‘𝑃)𝑟)))
4847fveq1d 6895 . . . 4 (𝑝 = (𝑞(.r‘𝑃)𝑟) → ((𝑂‘𝑝)‘𝑋) = ((𝑂‘(𝑞(.r‘𝑃)𝑟))‘𝑋))
4914adantr 486 . . . . 5 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → 𝑃 ∈ Ring)
501, 4, 49, 43, 44ringcld 20496 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → (𝑞(.r‘𝑃)𝑟) ∈ 𝑈)
51 fvexd 6908 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → ((𝑂‘(𝑞(.r‘𝑃)𝑟))‘𝑋) ∈ V)
5216, 48, 50, 51fvmptd3 7025 . . 3 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → (𝐹‘(𝑞(.r‘𝑃)𝑟)) = ((𝑂‘(𝑞(.r‘𝑃)𝑟))‘𝑋))
53 fveq2 6893 . . . . . 6 (𝑝 = 𝑞 → (𝑂‘𝑝) = (𝑂‘𝑞))
5453fveq1d 6895 . . . . 5 (𝑝 = 𝑞 → ((𝑂‘𝑝)‘𝑋) = ((𝑂‘𝑞)‘𝑋))
55 fvexd 6908 . . . . 5 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → ((𝑂‘𝑞)‘𝑋) ∈ V)
5616, 54, 43, 55fvmptd3 7025 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → (𝐹‘𝑞) = ((𝑂‘𝑞)‘𝑋))
57 fveq2 6893 . . . . . 6 (𝑝 = 𝑟 → (𝑂‘𝑝) = (𝑂‘𝑟))
5857fveq1d 6895 . . . . 5 (𝑝 = 𝑟 → ((𝑂‘𝑝)‘𝑋) = ((𝑂‘𝑟)‘𝑋))
59 fvexd 6908 . . . . 5 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → ((𝑂‘𝑟)‘𝑋) ∈ V)
6016, 58, 44, 59fvmptd3 7025 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → (𝐹‘𝑟) = ((𝑂‘𝑟)‘𝑋))
6156, 60oveq12d 7445 . . 3 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → ((𝐹‘𝑞)(.r‘𝑅)(𝐹‘𝑟)) = (((𝑂‘𝑞)‘𝑋)(.r‘𝑅)((𝑂‘𝑟)‘𝑋)))
6246, 52, 613eqtr4d 2808 . 2 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → (𝐹‘(𝑞(.r‘𝑃)𝑟)) = ((𝐹‘𝑞)(.r‘𝑅)(𝐹‘𝑟)))
63 eqid 2763 . 2 (+g‘𝑃) = (+g‘𝑃)
64 eqid 2763 . 2 (+g‘𝑅) = (+g‘𝑅)
65 eqid 2763 . . . . . . . . 9 (eval1‘𝑅) = (eval1‘𝑅)
6634, 35, 11, 8, 1, 65, 6, 7ressply1evl 22700 . . . . . . . 8 (𝜑 → 𝑂 = ((eval1‘𝑅) ↾ 𝑈))
6766adantr 486 . . . . . . 7 ((𝜑 ∧ 𝑝 ∈ 𝑈) → 𝑂 = ((eval1‘𝑅) ↾ 𝑈))
6867fveq1d 6895 . . . . . 6 ((𝜑 ∧ 𝑝 ∈ 𝑈) → (𝑂‘𝑝) = (((eval1‘𝑅) ↾ 𝑈)‘𝑝))
69 simpr 490 . . . . . . 7 ((𝜑 ∧ 𝑝 ∈ 𝑈) → 𝑝 ∈ 𝑈)
7069fvresd 6913 . . . . . 6 ((𝜑 ∧ 𝑝 ∈ 𝑈) → (((eval1‘𝑅) ↾ 𝑈)‘𝑝) = ((eval1‘𝑅)‘𝑝))
7168, 70eqtrd 2798 . . . . 5 ((𝜑 ∧ 𝑝 ∈ 𝑈) → (𝑂‘𝑝) = ((eval1‘𝑅)‘𝑝))
7271fveq1d 6895 . . . 4 ((𝜑 ∧ 𝑝 ∈ 𝑈) → ((𝑂‘𝑝)‘𝑋) = (((eval1‘𝑅)‘𝑝)‘𝑋))
73 eqid 2763 . . . . 5 (Poly1‘𝑅) = (Poly1‘𝑅)
74 eqid 2763 . . . . 5 (Base‘(Poly1‘𝑅)) = (Base‘(Poly1‘𝑅))
756adantr 486 . . . . 5 ((𝜑 ∧ 𝑝 ∈ 𝑈) → 𝑅 ∈ CRing)
7638adantr 486 . . . . 5 ((𝜑 ∧ 𝑝 ∈ 𝑈) → 𝑋 ∈ 𝐵)
77 eqid 2763 . . . . . . . 8 (PwSer1‘(𝑅 ↾s 𝑆)) = (PwSer1‘(𝑅 ↾s 𝑆))
78 eqid 2763 . . . . . . . 8 (Base‘(PwSer1‘(𝑅 ↾s 𝑆))) = (Base‘(PwSer1‘(𝑅 ↾s 𝑆)))
7973, 8, 11, 1, 7, 77, 78, 74ressply1bas2 22557 . . . . . . 7 (𝜑 → 𝑈 = ((Base‘(PwSer1‘(𝑅 ↾s 𝑆))) ∩ (Base‘(Poly1‘𝑅))))
80 inss2 4136 . . . . . . 7 ((Base‘(PwSer1‘(𝑅 ↾s 𝑆))) ∩ (Base‘(Poly1‘𝑅))) ⊆ (Base‘(Poly1‘𝑅))
8179, 80eqsstrdi 3956 . . . . . 6 (𝜑 → 𝑈 ⊆ (Base‘(Poly1‘𝑅)))
8281sselda 3912 . . . . 5 ((𝜑 ∧ 𝑝 ∈ 𝑈) → 𝑝 ∈ (Base‘(Poly1‘𝑅)))
8365, 73, 35, 74, 75, 76, 82fveval1fvcl 22663 . . . 4 ((𝜑 ∧ 𝑝 ∈ 𝑈) → (((eval1‘𝑅)‘𝑝)‘𝑋) ∈ 𝐵)
8472, 83eqeltrd 2863 . . 3 ((𝜑 ∧ 𝑝 ∈ 𝑈) → ((𝑂‘𝑝)‘𝑋) ∈ 𝐵)
8584, 16fmptd 7122 . 2 (𝜑 → 𝐹:𝑈⟶𝐵)
8634, 35, 11, 8, 1, 63, 64, 41, 42, 43, 44, 45evls1addd 22701 . . 3 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → ((𝑂‘(𝑞(+g‘𝑃)𝑟))‘𝑋) = (((𝑂‘𝑞)‘𝑋)(+g‘𝑅)((𝑂‘𝑟)‘𝑋)))
87 fveq2 6893 . . . . 5 (𝑝 = (𝑞(+g‘𝑃)𝑟) → (𝑂‘𝑝) = (𝑂‘(𝑞(+g‘𝑃)𝑟)))
8887fveq1d 6895 . . . 4 (𝑝 = (𝑞(+g‘𝑃)𝑟) → ((𝑂‘𝑝)‘𝑋) = ((𝑂‘(𝑞(+g‘𝑃)𝑟))‘𝑋))
8949ringgrpd 20481 . . . . 5 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → 𝑃 ∈ Grp)
901, 63, 89, 43, 44grpcld 19170 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → (𝑞(+g‘𝑃)𝑟) ∈ 𝑈)
91 fvexd 6908 . . . 4 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → ((𝑂‘(𝑞(+g‘𝑃)𝑟))‘𝑋) ∈ V)
9216, 88, 90, 91fvmptd3 7025 . . 3 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → (𝐹‘(𝑞(+g‘𝑃)𝑟)) = ((𝑂‘(𝑞(+g‘𝑃)𝑟))‘𝑋))
9356, 60oveq12d 7445 . . 3 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → ((𝐹‘𝑞)(+g‘𝑅)(𝐹‘𝑟)) = (((𝑂‘𝑞)‘𝑋)(+g‘𝑅)((𝑂‘𝑟)‘𝑋)))
9486, 92, 933eqtr4d 2808 . 2 ((𝜑 ∧ (𝑞 ∈ 𝑈 ∧ 𝑟 ∈ 𝑈)) → (𝐹‘(𝑞(+g‘𝑃)𝑟)) = ((𝐹‘𝑞)(+g‘𝑅)(𝐹‘𝑟)))
951, 2, 3, 4, 5, 14, 15, 40, 62, 35, 63, 64, 85, 94isrhmd 20734 1 (𝜑 → 𝐹 ∈ (𝑃 RingHom 𝑅))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1569   ∈ wcel 2146  Vcvv 3453   ∩ cin 4091   ↦ cmpt 5188   ↾ cres 5656  ‘cfv 6546  (class class class)co 7427  Basecbs 17399   ↾s cress 17420  +gcplusg 17440  .rcmulr 17441  1rcur 20419  Ringcrg 20471  CRingccrg 20472   RingHom crh 20711  SubRingcsubrg 20833  algSccascl 22172  PwSer1cps1 22505  Poly1cpl1 22507   evalSub1 ces1 22643  eval1ce1 22644
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1944  ax-6 2001  ax-7 2042  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2196  ax-12 2215  ax-ext 2735  ax-rep 5234  ax-sep 5251  ax-nul 5262  ax-pow 5330  ax-pr 5394  ax-un 7758  ax-cnex 11266  ax-resscn 11267  ax-1cn 11268  ax-icn 11269  ax-addcl 11270  ax-addrcl 11271  ax-mulcl 11272  ax-mulrcl 11273  ax-mulcom 11274  ax-addass 11275  ax-mulass 11276  ax-distr 11277  ax-i2m1 11278  ax-1ne0 11279  ax-1rid 11280  ax-rnegex 11281  ax-rrecex 11282  ax-cnre 11283  ax-pre-lttri 11284  ax-pre-lttrn 11285  ax-pre-ltadd 11286  ax-pre-mulgt0 11287
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2101  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-nel 3065  df-ral 3080  df-rex 3090  df-rmo 3368  df-reu 3369  df-rab 3416  df-v 3455  df-sbc 3742  df-csb 3851  df-ss 3900  df-pss 4016  df-dif 4049  df-in 4093  df-un 4153  df-nul 4281  df-if 4485  df-pw 4561  df-sn 4588  df-pr 4590  df-tp 4592  df-op 4838  df-uni 4870  df-int 4910  df-iun 4955  df-iin 4956  df-br 5106  df-opab 5170  df-mpt 5189  df-tr 5215  df-id 5549  df-eprel 5554  df-po 5562  df-so 5563  df-fr 5607  df-se 5608  df-we 5609  df-xp 5660  df-rel 5661  df-cnv 5662  df-co 5663  df-dm 5664  df-rn 5665  df-res 5666  df-ima 5667  df-pred 6310  df-ord 6371  df-on 6372  df-lim 6373  df-suc 6374  df-iota 6500  df-fun 6548  df-fn 6549  df-f 6550  df-f1 6551  df-fo 6552  df-f1o 6553  df-fv 6554  df-isom 6555  df-riota 7384  df-ov 7430  df-oprab 7431  df-mpo 7432  df-of 7700  df-ofr 7701  df-om 7885  df-1st 8008  df-2nd 8009  df-supp 8188  df-frecs 8310  df-wrecs 8341  df-recs 8390  df-rdg 8429  df-1o 8487  df-2o 8488  df-er 8728  df-map 8860  df-pm 8861  df-ixp 8937  df-en 8985  df-dom 8986  df-sdom 8987  df-fin 8988  df-fsupp 9365  df-sup 9444  df-oi 9514  df-card 10030  df-pnf 11355  df-mnf 11356  df-xr 11357  df-ltxr 11358  df-le 11359  df-sub 11553  df-neg 11554  df-nn 12346  df-2 12415  df-3 12416  df-4 12417  df-5 12418  df-6 12419  df-7 12420  df-8 12421  df-9 12422  df-n0 12617  df-z 12704  df-dec 12825  df-uz 12976  df-fz 13650  df-fzo 13799  df-seq 14155  df-hash 14485  df-struct 17337  df-sets 17354  df-slot 17372  df-ndx 17384  df-base 17400  df-ress 17421  df-plusg 17453  df-mulr 17454  df-sca 17456  df-vsca 17457  df-ip 17458  df-tset 17459  df-ple 17460  df-ds 17462  df-hom 17464  df-cco 17465  df-0g 17624  df-gsum 17625  df-prds 17630  df-pws 17632  df-mre 17768  df-mrc 17769  df-acs 17771  df-mgm 18828  df-sgrp 18920  df-mnd 18936  df-mhm 18990  df-submnd 18991  df-grp 19159  df-minusg 19160  df-sbg 19161  df-mulg 19290  df-subg 19345  df-ghm 19440  df-cntz 19543  df-cmn 20008  df-abl 20009  df-mgp 20373  df-rng 20387  df-ur 20420  df-srg 20425  df-ring 20473  df-cring 20474  df-rhm 20714  df-subrng 20810  df-subrg 20834  df-lmod 21149  df-lss 21219  df-lsp 21259  df-assa 22173  df-asp 22174  df-ascl 22175  df-psr 22229  df-mvr 22230  df-mpl 22231  df-opsr 22233  df-evls 22395  df-evl 22396  df-psr1 22510  df-vr1 22511  df-ply1 22512  df-coe1 22513  df-evls1 22645  df-evl1 22646
This theorem is used by:  evls1maplmhm  22707  evl1maprhm  22709  ply1annidl  34387  ply1annprmidl  34392  algextdeglem4  34405
  Copyright terms: Public domain W3C validator