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

Theorem frlmsplit2 20335
 Description: Restriction is homomorphic on free modules. (Contributed by Stefan O'Rear, 3-Feb-2015.) (Proof shortened by AV, 21-Jul-2019.)
Hypotheses
Ref Expression
frlmsplit2.y 𝑌 = (𝑅 freeLMod 𝑈)
frlmsplit2.z 𝑍 = (𝑅 freeLMod 𝑉)
frlmsplit2.b 𝐵 = (Base‘𝑌)
frlmsplit2.c 𝐶 = (Base‘𝑍)
frlmsplit2.f 𝐹 = (𝑥𝐵 ↦ (𝑥𝑉))
Assertion
Ref Expression
frlmsplit2 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝐹 ∈ (𝑌 LMHom 𝑍))
Distinct variable groups:   𝑥,𝑌   𝑥,𝑅   𝑥,𝑈   𝑥,𝑍   𝑥,𝑉   𝑥,𝐵   𝑥,𝐶   𝑥,𝑋
Allowed substitution hint:   𝐹(𝑥)

Proof of Theorem frlmsplit2
StepHypRef Expression
1 simp1 1131 . . . . . 6 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝑅 ∈ Ring)
2 simp2 1132 . . . . . 6 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝑈𝑋)
3 frlmsplit2.y . . . . . . 7 𝑌 = (𝑅 freeLMod 𝑈)
4 frlmsplit2.b . . . . . . 7 𝐵 = (Base‘𝑌)
5 eqid 2761 . . . . . . 7 (LSubSp‘((ringLMod‘𝑅) ↑s 𝑈)) = (LSubSp‘((ringLMod‘𝑅) ↑s 𝑈))
63, 4, 5frlmlss 20318 . . . . . 6 ((𝑅 ∈ Ring ∧ 𝑈𝑋) → 𝐵 ∈ (LSubSp‘((ringLMod‘𝑅) ↑s 𝑈)))
71, 2, 6syl2anc 696 . . . . 5 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝐵 ∈ (LSubSp‘((ringLMod‘𝑅) ↑s 𝑈)))
8 eqid 2761 . . . . . 6 (Base‘((ringLMod‘𝑅) ↑s 𝑈)) = (Base‘((ringLMod‘𝑅) ↑s 𝑈))
98, 5lssss 19160 . . . . 5 (𝐵 ∈ (LSubSp‘((ringLMod‘𝑅) ↑s 𝑈)) → 𝐵 ⊆ (Base‘((ringLMod‘𝑅) ↑s 𝑈)))
10 resmpt 5608 . . . . 5 (𝐵 ⊆ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) → ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) = (𝑥𝐵 ↦ (𝑥𝑉)))
117, 9, 103syl 18 . . . 4 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) = (𝑥𝐵 ↦ (𝑥𝑉)))
12 frlmsplit2.f . . . 4 𝐹 = (𝑥𝐵 ↦ (𝑥𝑉))
1311, 12syl6eqr 2813 . . 3 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) = 𝐹)
14 rlmlmod 19428 . . . . . 6 (𝑅 ∈ Ring → (ringLMod‘𝑅) ∈ LMod)
15 eqid 2761 . . . . . . 7 ((ringLMod‘𝑅) ↑s 𝑈) = ((ringLMod‘𝑅) ↑s 𝑈)
16 eqid 2761 . . . . . . 7 ((ringLMod‘𝑅) ↑s 𝑉) = ((ringLMod‘𝑅) ↑s 𝑉)
17 eqid 2761 . . . . . . 7 (Base‘((ringLMod‘𝑅) ↑s 𝑉)) = (Base‘((ringLMod‘𝑅) ↑s 𝑉))
18 eqid 2761 . . . . . . 7 (𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) = (𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉))
1915, 16, 8, 17, 18pwssplit3 19284 . . . . . 6 (((ringLMod‘𝑅) ∈ LMod ∧ 𝑈𝑋𝑉𝑈) → (𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ∈ (((ringLMod‘𝑅) ↑s 𝑈) LMHom ((ringLMod‘𝑅) ↑s 𝑉)))
2014, 19syl3an1 1167 . . . . 5 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → (𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ∈ (((ringLMod‘𝑅) ↑s 𝑈) LMHom ((ringLMod‘𝑅) ↑s 𝑉)))
21 eqid 2761 . . . . . 6 (((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) = (((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵)
225, 21reslmhm 19275 . . . . 5 (((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ∈ (((ringLMod‘𝑅) ↑s 𝑈) LMHom ((ringLMod‘𝑅) ↑s 𝑉)) ∧ 𝐵 ∈ (LSubSp‘((ringLMod‘𝑅) ↑s 𝑈))) → ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) ∈ ((((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) LMHom ((ringLMod‘𝑅) ↑s 𝑉)))
2320, 7, 22syl2anc 696 . . . 4 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) ∈ ((((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) LMHom ((ringLMod‘𝑅) ↑s 𝑉)))
24143ad2ant1 1128 . . . . . 6 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → (ringLMod‘𝑅) ∈ LMod)
25 simp3 1133 . . . . . . 7 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝑉𝑈)
262, 25ssexd 4958 . . . . . 6 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝑉 ∈ V)
2716pwslmod 19193 . . . . . 6 (((ringLMod‘𝑅) ∈ LMod ∧ 𝑉 ∈ V) → ((ringLMod‘𝑅) ↑s 𝑉) ∈ LMod)
2824, 26, 27syl2anc 696 . . . . 5 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ((ringLMod‘𝑅) ↑s 𝑉) ∈ LMod)
29 frlmsplit2.z . . . . . . 7 𝑍 = (𝑅 freeLMod 𝑉)
30 frlmsplit2.c . . . . . . 7 𝐶 = (Base‘𝑍)
31 eqid 2761 . . . . . . 7 (LSubSp‘((ringLMod‘𝑅) ↑s 𝑉)) = (LSubSp‘((ringLMod‘𝑅) ↑s 𝑉))
3229, 30, 31frlmlss 20318 . . . . . 6 ((𝑅 ∈ Ring ∧ 𝑉 ∈ V) → 𝐶 ∈ (LSubSp‘((ringLMod‘𝑅) ↑s 𝑉)))
331, 26, 32syl2anc 696 . . . . 5 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝐶 ∈ (LSubSp‘((ringLMod‘𝑅) ↑s 𝑉)))
3411rneqd 5509 . . . . . 6 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ran ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) = ran (𝑥𝐵 ↦ (𝑥𝑉)))
35 eqid 2761 . . . . . . . . . . . . 13 (Base‘𝑅) = (Base‘𝑅)
363, 35, 4frlmbasf 20327 . . . . . . . . . . . 12 ((𝑈𝑋𝑥𝐵) → 𝑥:𝑈⟶(Base‘𝑅))
372, 36sylan 489 . . . . . . . . . . 11 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → 𝑥:𝑈⟶(Base‘𝑅))
38 simpl3 1232 . . . . . . . . . . 11 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → 𝑉𝑈)
3937, 38fssresd 6233 . . . . . . . . . 10 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → (𝑥𝑉):𝑉⟶(Base‘𝑅))
40 fvex 6364 . . . . . . . . . . . 12 (Base‘𝑅) ∈ V
41 elmapg 8039 . . . . . . . . . . . 12 (((Base‘𝑅) ∈ V ∧ 𝑉 ∈ V) → ((𝑥𝑉) ∈ ((Base‘𝑅) ↑𝑚 𝑉) ↔ (𝑥𝑉):𝑉⟶(Base‘𝑅)))
4240, 26, 41sylancr 698 . . . . . . . . . . 11 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ((𝑥𝑉) ∈ ((Base‘𝑅) ↑𝑚 𝑉) ↔ (𝑥𝑉):𝑉⟶(Base‘𝑅)))
4342adantr 472 . . . . . . . . . 10 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → ((𝑥𝑉) ∈ ((Base‘𝑅) ↑𝑚 𝑉) ↔ (𝑥𝑉):𝑉⟶(Base‘𝑅)))
4439, 43mpbird 247 . . . . . . . . 9 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → (𝑥𝑉) ∈ ((Base‘𝑅) ↑𝑚 𝑉))
45 eqid 2761 . . . . . . . . . . . 12 (0g𝑅) = (0g𝑅)
463, 45, 4frlmbasfsupp 20325 . . . . . . . . . . 11 ((𝑈𝑋𝑥𝐵) → 𝑥 finSupp (0g𝑅))
472, 46sylan 489 . . . . . . . . . 10 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → 𝑥 finSupp (0g𝑅))
48 fvexd 6366 . . . . . . . . . 10 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → (0g𝑅) ∈ V)
4947, 48fsuppres 8468 . . . . . . . . 9 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → (𝑥𝑉) finSupp (0g𝑅))
5029, 35, 45, 30frlmelbas 20323 . . . . . . . . . . 11 ((𝑅 ∈ Ring ∧ 𝑉 ∈ V) → ((𝑥𝑉) ∈ 𝐶 ↔ ((𝑥𝑉) ∈ ((Base‘𝑅) ↑𝑚 𝑉) ∧ (𝑥𝑉) finSupp (0g𝑅))))
511, 26, 50syl2anc 696 . . . . . . . . . 10 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ((𝑥𝑉) ∈ 𝐶 ↔ ((𝑥𝑉) ∈ ((Base‘𝑅) ↑𝑚 𝑉) ∧ (𝑥𝑉) finSupp (0g𝑅))))
5251adantr 472 . . . . . . . . 9 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → ((𝑥𝑉) ∈ 𝐶 ↔ ((𝑥𝑉) ∈ ((Base‘𝑅) ↑𝑚 𝑉) ∧ (𝑥𝑉) finSupp (0g𝑅))))
5344, 49, 52mpbir2and 995 . . . . . . . 8 (((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) ∧ 𝑥𝐵) → (𝑥𝑉) ∈ 𝐶)
54 eqid 2761 . . . . . . . 8 (𝑥𝐵 ↦ (𝑥𝑉)) = (𝑥𝐵 ↦ (𝑥𝑉))
5553, 54fmptd 6550 . . . . . . 7 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → (𝑥𝐵 ↦ (𝑥𝑉)):𝐵𝐶)
56 frn 6215 . . . . . . 7 ((𝑥𝐵 ↦ (𝑥𝑉)):𝐵𝐶 → ran (𝑥𝐵 ↦ (𝑥𝑉)) ⊆ 𝐶)
5755, 56syl 17 . . . . . 6 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ran (𝑥𝐵 ↦ (𝑥𝑉)) ⊆ 𝐶)
5834, 57eqsstrd 3781 . . . . 5 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ran ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) ⊆ 𝐶)
59 eqid 2761 . . . . . 6 (((ringLMod‘𝑅) ↑s 𝑉) ↾s 𝐶) = (((ringLMod‘𝑅) ↑s 𝑉) ↾s 𝐶)
6059, 31reslmhm2b 19277 . . . . 5 ((((ringLMod‘𝑅) ↑s 𝑉) ∈ LMod ∧ 𝐶 ∈ (LSubSp‘((ringLMod‘𝑅) ↑s 𝑉)) ∧ ran ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) ⊆ 𝐶) → (((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) ∈ ((((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) LMHom ((ringLMod‘𝑅) ↑s 𝑉)) ↔ ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) ∈ ((((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) LMHom (((ringLMod‘𝑅) ↑s 𝑉) ↾s 𝐶))))
6128, 33, 58, 60syl3anc 1477 . . . 4 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → (((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) ∈ ((((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) LMHom ((ringLMod‘𝑅) ↑s 𝑉)) ↔ ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) ∈ ((((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) LMHom (((ringLMod‘𝑅) ↑s 𝑉) ↾s 𝐶))))
6223, 61mpbid 222 . . 3 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → ((𝑥 ∈ (Base‘((ringLMod‘𝑅) ↑s 𝑈)) ↦ (𝑥𝑉)) ↾ 𝐵) ∈ ((((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) LMHom (((ringLMod‘𝑅) ↑s 𝑉) ↾s 𝐶)))
6313, 62eqeltrrd 2841 . 2 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝐹 ∈ ((((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) LMHom (((ringLMod‘𝑅) ↑s 𝑉) ↾s 𝐶)))
643, 4frlmpws 20317 . . . 4 ((𝑅 ∈ Ring ∧ 𝑈𝑋) → 𝑌 = (((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵))
651, 2, 64syl2anc 696 . . 3 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝑌 = (((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵))
6629, 30frlmpws 20317 . . . 4 ((𝑅 ∈ Ring ∧ 𝑉 ∈ V) → 𝑍 = (((ringLMod‘𝑅) ↑s 𝑉) ↾s 𝐶))
671, 26, 66syl2anc 696 . . 3 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝑍 = (((ringLMod‘𝑅) ↑s 𝑉) ↾s 𝐶))
6865, 67oveq12d 6833 . 2 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → (𝑌 LMHom 𝑍) = ((((ringLMod‘𝑅) ↑s 𝑈) ↾s 𝐵) LMHom (((ringLMod‘𝑅) ↑s 𝑉) ↾s 𝐶)))
6963, 68eleqtrrd 2843 1 ((𝑅 ∈ Ring ∧ 𝑈𝑋𝑉𝑈) → 𝐹 ∈ (𝑌 LMHom 𝑍))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 196   ∧ wa 383   ∧ w3a 1072   = wceq 1632   ∈ wcel 2140  Vcvv 3341   ⊆ wss 3716   class class class wbr 4805   ↦ cmpt 4882  ran crn 5268   ↾ cres 5269  ⟶wf 6046  ‘cfv 6050  (class class class)co 6815   ↑𝑚 cmap 8026   finSupp cfsupp 8443  Basecbs 16080   ↾s cress 16081  0gc0g 16323   ↑s cpws 16330  Ringcrg 18768  LModclmod 19086  LSubSpclss 19155   LMHom clmhm 19242  ringLModcrglmod 19392   freeLMod cfrlm 20313 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1871  ax-4 1886  ax-5 1989  ax-6 2055  ax-7 2091  ax-8 2142  ax-9 2149  ax-10 2169  ax-11 2184  ax-12 2197  ax-13 2392  ax-ext 2741  ax-rep 4924  ax-sep 4934  ax-nul 4942  ax-pow 4993  ax-pr 5056  ax-un 7116  ax-cnex 10205  ax-resscn 10206  ax-1cn 10207  ax-icn 10208  ax-addcl 10209  ax-addrcl 10210  ax-mulcl 10211  ax-mulrcl 10212  ax-mulcom 10213  ax-addass 10214  ax-mulass 10215  ax-distr 10216  ax-i2m1 10217  ax-1ne0 10218  ax-1rid 10219  ax-rnegex 10220  ax-rrecex 10221  ax-cnre 10222  ax-pre-lttri 10223  ax-pre-lttrn 10224  ax-pre-ltadd 10225  ax-pre-mulgt0 10226 This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1073  df-3an 1074  df-tru 1635  df-ex 1854  df-nf 1859  df-sb 2048  df-eu 2612  df-mo 2613  df-clab 2748  df-cleq 2754  df-clel 2757  df-nfc 2892  df-ne 2934  df-nel 3037  df-ral 3056  df-rex 3057  df-reu 3058  df-rmo 3059  df-rab 3060  df-v 3343  df-sbc 3578  df-csb 3676  df-dif 3719  df-un 3721  df-in 3723  df-ss 3730  df-pss 3732  df-nul 4060  df-if 4232  df-pw 4305  df-sn 4323  df-pr 4325  df-tp 4327  df-op 4329  df-uni 4590  df-int 4629  df-iun 4675  df-br 4806  df-opab 4866  df-mpt 4883  df-tr 4906  df-id 5175  df-eprel 5180  df-po 5188  df-so 5189  df-fr 5226  df-we 5228  df-xp 5273  df-rel 5274  df-cnv 5275  df-co 5276  df-dm 5277  df-rn 5278  df-res 5279  df-ima 5280  df-pred 5842  df-ord 5888  df-on 5889  df-lim 5890  df-suc 5891  df-iota 6013  df-fun 6052  df-fn 6053  df-f 6054  df-f1 6055  df-fo 6056  df-f1o 6057  df-fv 6058  df-riota 6776  df-ov 6818  df-oprab 6819  df-mpt2 6820  df-of 7064  df-om 7233  df-1st 7335  df-2nd 7336  df-supp 7466  df-wrecs 7578  df-recs 7639  df-rdg 7677  df-1o 7731  df-oadd 7735  df-er 7914  df-map 8028  df-ixp 8078  df-en 8125  df-dom 8126  df-sdom 8127  df-fin 8128  df-fsupp 8444  df-sup 8516  df-pnf 10289  df-mnf 10290  df-xr 10291  df-ltxr 10292  df-le 10293  df-sub 10481  df-neg 10482  df-nn 11234  df-2 11292  df-3 11293  df-4 11294  df-5 11295  df-6 11296  df-7 11297  df-8 11298  df-9 11299  df-n0 11506  df-z 11591  df-dec 11707  df-uz 11901  df-fz 12541  df-struct 16082  df-ndx 16083  df-slot 16084  df-base 16086  df-sets 16087  df-ress 16088  df-plusg 16177  df-mulr 16178  df-sca 16180  df-vsca 16181  df-ip 16182  df-tset 16183  df-ple 16184  df-ds 16187  df-hom 16189  df-cco 16190  df-0g 16325  df-prds 16331  df-pws 16333  df-mgm 17464  df-sgrp 17506  df-mnd 17517  df-mhm 17557  df-submnd 17558  df-grp 17647  df-minusg 17648  df-sbg 17649  df-subg 17813  df-ghm 17880  df-mgp 18711  df-ur 18723  df-ring 18770  df-subrg 19001  df-lmod 19088  df-lss 19156  df-lmhm 19245  df-sra 19395  df-rgmod 19396  df-dsmm 20299  df-frlm 20314 This theorem is referenced by:  frlmsslss  20336
 Copyright terms: Public domain W3C validator