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

Theorem lindfrn 20510
Description: The range of an independent family is an independent set. (Contributed by Stefan O'Rear, 24-Feb-2015.)
Assertion
Ref Expression
lindfrn ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ran 𝐹 ∈ (LIndS‘𝑊))

Proof of Theorem lindfrn
Dummy variables 𝑘 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqid 2798 . . . . 5 (Base‘𝑊) = (Base‘𝑊)
21lindff 20504 . . . 4 ((𝐹 LIndF 𝑊𝑊 ∈ LMod) → 𝐹:dom 𝐹⟶(Base‘𝑊))
32ancoms 462 . . 3 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → 𝐹:dom 𝐹⟶(Base‘𝑊))
43frnd 6494 . 2 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ran 𝐹 ⊆ (Base‘𝑊))
5 simpll 766 . . . . . . 7 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → 𝑊 ∈ LMod)
6 imassrn 5907 . . . . . . . . 9 (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ ran 𝐹
76, 4sstrid 3926 . . . . . . . 8 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ (Base‘𝑊))
87adantr 484 . . . . . . 7 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ (Base‘𝑊))
93ffund 6491 . . . . . . . 8 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → Fun 𝐹)
10 eldifsn 4680 . . . . . . . . . 10 (𝑥 ∈ (ran 𝐹 ∖ {(𝐹𝑦)}) ↔ (𝑥 ∈ ran 𝐹𝑥 ≠ (𝐹𝑦)))
11 funfn 6354 . . . . . . . . . . . . . 14 (Fun 𝐹𝐹 Fn dom 𝐹)
12 fvelrnb 6701 . . . . . . . . . . . . . 14 (𝐹 Fn dom 𝐹 → (𝑥 ∈ ran 𝐹 ↔ ∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥))
1311, 12sylbi 220 . . . . . . . . . . . . 13 (Fun 𝐹 → (𝑥 ∈ ran 𝐹 ↔ ∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥))
1413adantr 484 . . . . . . . . . . . 12 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (𝑥 ∈ ran 𝐹 ↔ ∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥))
15 difss 4059 . . . . . . . . . . . . . . . . . 18 (dom 𝐹 ∖ {𝑦}) ⊆ dom 𝐹
1615jctr 528 . . . . . . . . . . . . . . . . 17 (Fun 𝐹 → (Fun 𝐹 ∧ (dom 𝐹 ∖ {𝑦}) ⊆ dom 𝐹))
1716ad2antrr 725 . . . . . . . . . . . . . . . 16 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦))) → (Fun 𝐹 ∧ (dom 𝐹 ∖ {𝑦}) ⊆ dom 𝐹))
18 simpl 486 . . . . . . . . . . . . . . . . . 18 ((𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦)) → 𝑘 ∈ dom 𝐹)
19 fveq2 6645 . . . . . . . . . . . . . . . . . . . 20 (𝑘 = 𝑦 → (𝐹𝑘) = (𝐹𝑦))
2019necon3i 3019 . . . . . . . . . . . . . . . . . . 19 ((𝐹𝑘) ≠ (𝐹𝑦) → 𝑘𝑦)
2120adantl 485 . . . . . . . . . . . . . . . . . 18 ((𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦)) → 𝑘𝑦)
22 eldifsn 4680 . . . . . . . . . . . . . . . . . 18 (𝑘 ∈ (dom 𝐹 ∖ {𝑦}) ↔ (𝑘 ∈ dom 𝐹𝑘𝑦))
2318, 21, 22sylanbrc 586 . . . . . . . . . . . . . . . . 17 ((𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦)) → 𝑘 ∈ (dom 𝐹 ∖ {𝑦}))
2423adantl 485 . . . . . . . . . . . . . . . 16 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦))) → 𝑘 ∈ (dom 𝐹 ∖ {𝑦}))
25 funfvima2 6971 . . . . . . . . . . . . . . . 16 ((Fun 𝐹 ∧ (dom 𝐹 ∖ {𝑦}) ⊆ dom 𝐹) → (𝑘 ∈ (dom 𝐹 ∖ {𝑦}) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
2617, 24, 25sylc 65 . . . . . . . . . . . . . . 15 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦))) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))
2726expr 460 . . . . . . . . . . . . . 14 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ 𝑘 ∈ dom 𝐹) → ((𝐹𝑘) ≠ (𝐹𝑦) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
28 neeq1 3049 . . . . . . . . . . . . . . 15 ((𝐹𝑘) = 𝑥 → ((𝐹𝑘) ≠ (𝐹𝑦) ↔ 𝑥 ≠ (𝐹𝑦)))
29 eleq1 2877 . . . . . . . . . . . . . . 15 ((𝐹𝑘) = 𝑥 → ((𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})) ↔ 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
3028, 29imbi12d 348 . . . . . . . . . . . . . 14 ((𝐹𝑘) = 𝑥 → (((𝐹𝑘) ≠ (𝐹𝑦) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))) ↔ (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3127, 30syl5ibcom 248 . . . . . . . . . . . . 13 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ 𝑘 ∈ dom 𝐹) → ((𝐹𝑘) = 𝑥 → (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3231rexlimdva 3243 . . . . . . . . . . . 12 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥 → (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3314, 32sylbid 243 . . . . . . . . . . 11 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (𝑥 ∈ ran 𝐹 → (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3433impd 414 . . . . . . . . . 10 ((Fun 𝐹𝑦 ∈ dom 𝐹) → ((𝑥 ∈ ran 𝐹𝑥 ≠ (𝐹𝑦)) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
3510, 34syl5bi 245 . . . . . . . . 9 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (𝑥 ∈ (ran 𝐹 ∖ {(𝐹𝑦)}) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
3635ssrdv 3921 . . . . . . . 8 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (ran 𝐹 ∖ {(𝐹𝑦)}) ⊆ (𝐹 “ (dom 𝐹 ∖ {𝑦})))
379, 36sylan 583 . . . . . . 7 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → (ran 𝐹 ∖ {(𝐹𝑦)}) ⊆ (𝐹 “ (dom 𝐹 ∖ {𝑦})))
38 eqid 2798 . . . . . . . 8 (LSpan‘𝑊) = (LSpan‘𝑊)
391, 38lspss 19749 . . . . . . 7 ((𝑊 ∈ LMod ∧ (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ (Base‘𝑊) ∧ (ran 𝐹 ∖ {(𝐹𝑦)}) ⊆ (𝐹 “ (dom 𝐹 ∖ {𝑦}))) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})) ⊆ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
405, 8, 37, 39syl3anc 1368 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})) ⊆ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
4140adantrr 716 . . . . 5 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})) ⊆ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
42 simplr 768 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝐹 LIndF 𝑊)
43 simprl 770 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝑦 ∈ dom 𝐹)
44 eldifi 4054 . . . . . . 7 (𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) → 𝑘 ∈ (Base‘(Scalar‘𝑊)))
4544ad2antll 728 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝑘 ∈ (Base‘(Scalar‘𝑊)))
46 eldifsni 4683 . . . . . . 7 (𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) → 𝑘 ≠ (0g‘(Scalar‘𝑊)))
4746ad2antll 728 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝑘 ≠ (0g‘(Scalar‘𝑊)))
48 eqid 2798 . . . . . . 7 ( ·𝑠𝑊) = ( ·𝑠𝑊)
49 eqid 2798 . . . . . . 7 (Scalar‘𝑊) = (Scalar‘𝑊)
50 eqid 2798 . . . . . . 7 (0g‘(Scalar‘𝑊)) = (0g‘(Scalar‘𝑊))
51 eqid 2798 . . . . . . 7 (Base‘(Scalar‘𝑊)) = (Base‘(Scalar‘𝑊))
5248, 38, 49, 50, 51lindfind 20505 . . . . . 6 (((𝐹 LIndF 𝑊𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ (Base‘(Scalar‘𝑊)) ∧ 𝑘 ≠ (0g‘(Scalar‘𝑊)))) → ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
5342, 43, 45, 47, 52syl22anc 837 . . . . 5 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
5441, 53ssneldd 3918 . . . 4 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})))
5554ralrimivva 3156 . . 3 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ∀𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})))
569funfnd 6355 . . . 4 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → 𝐹 Fn dom 𝐹)
57 oveq2 7143 . . . . . . . 8 (𝑥 = (𝐹𝑦) → (𝑘( ·𝑠𝑊)𝑥) = (𝑘( ·𝑠𝑊)(𝐹𝑦)))
58 sneq 4535 . . . . . . . . . 10 (𝑥 = (𝐹𝑦) → {𝑥} = {(𝐹𝑦)})
5958difeq2d 4050 . . . . . . . . 9 (𝑥 = (𝐹𝑦) → (ran 𝐹 ∖ {𝑥}) = (ran 𝐹 ∖ {(𝐹𝑦)}))
6059fveq2d 6649 . . . . . . . 8 (𝑥 = (𝐹𝑦) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) = ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})))
6157, 60eleq12d 2884 . . . . . . 7 (𝑥 = (𝐹𝑦) → ((𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6261notbid 321 . . . . . 6 (𝑥 = (𝐹𝑦) → (¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6362ralbidv 3162 . . . . 5 (𝑥 = (𝐹𝑦) → (∀𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ ∀𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6463ralrn 6831 . . . 4 (𝐹 Fn dom 𝐹 → (∀𝑥 ∈ ran 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ ∀𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6556, 64syl 17 . . 3 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → (∀𝑥 ∈ ran 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ ∀𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6655, 65mpbird 260 . 2 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ∀𝑥 ∈ ran 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})))
671, 48, 38, 49, 51, 50islinds2 20502 . . 3 (𝑊 ∈ LMod → (ran 𝐹 ∈ (LIndS‘𝑊) ↔ (ran 𝐹 ⊆ (Base‘𝑊) ∧ ∀𝑥 ∈ ran 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})))))
6867adantr 484 . 2 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → (ran 𝐹 ∈ (LIndS‘𝑊) ↔ (ran 𝐹 ⊆ (Base‘𝑊) ∧ ∀𝑥 ∈ ran 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})))))
694, 66, 68mpbir2and 712 1 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ran 𝐹 ∈ (LIndS‘𝑊))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 209  wa 399   = wceq 1538  wcel 2111  wne 2987  wral 3106  wrex 3107  cdif 3878  wss 3881  {csn 4525   class class class wbr 5030  dom cdm 5519  ran crn 5520  cima 5522  Fun wfun 6318   Fn wfn 6319  wf 6320  cfv 6324  (class class class)co 7135  Basecbs 16475  Scalarcsca 16560   ·𝑠 cvsca 16561  0gc0g 16705  LModclmod 19627  LSpanclspn 19736   LIndF clindf 20493  LIndSclinds 20494
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-rep 5154  ax-sep 5167  ax-nul 5174  ax-pow 5231  ax-pr 5295  ax-un 7441
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-ral 3111  df-rex 3112  df-reu 3113  df-rmo 3114  df-rab 3115  df-v 3443  df-sbc 3721  df-csb 3829  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-nul 4244  df-if 4426  df-pw 4499  df-sn 4526  df-pr 4528  df-op 4532  df-uni 4801  df-int 4839  df-iun 4883  df-br 5031  df-opab 5093  df-mpt 5111  df-id 5425  df-xp 5525  df-rel 5526  df-cnv 5527  df-co 5528  df-dm 5529  df-rn 5530  df-res 5531  df-ima 5532  df-iota 6283  df-fun 6326  df-fn 6327  df-f 6328  df-f1 6329  df-fo 6330  df-f1o 6331  df-fv 6332  df-riota 7093  df-ov 7138  df-slot 16479  df-base 16481  df-0g 16707  df-mgm 17844  df-sgrp 17893  df-mnd 17904  df-grp 18098  df-lmod 19629  df-lss 19697  df-lsp 19737  df-lindf 20495  df-linds 20496
This theorem is referenced by:  islindf3  20515  lindsmm  20517  matunitlindflem2  35054
  Copyright terms: Public domain W3C validator