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

Theorem lindfrn 20967
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 2823 . . . . 5 (Base‘𝑊) = (Base‘𝑊)
21lindff 20961 . . . 4 ((𝐹 LIndF 𝑊𝑊 ∈ LMod) → 𝐹:dom 𝐹⟶(Base‘𝑊))
32ancoms 461 . . 3 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → 𝐹:dom 𝐹⟶(Base‘𝑊))
43frnd 6523 . 2 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ran 𝐹 ⊆ (Base‘𝑊))
5 simpll 765 . . . . . . 7 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → 𝑊 ∈ LMod)
6 imassrn 5942 . . . . . . . . 9 (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ ran 𝐹
76, 4sstrid 3980 . . . . . . . 8 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ (Base‘𝑊))
87adantr 483 . . . . . . 7 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ (Base‘𝑊))
93ffund 6520 . . . . . . . 8 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → Fun 𝐹)
10 eldifsn 4721 . . . . . . . . . 10 (𝑥 ∈ (ran 𝐹 ∖ {(𝐹𝑦)}) ↔ (𝑥 ∈ ran 𝐹𝑥 ≠ (𝐹𝑦)))
11 funfn 6387 . . . . . . . . . . . . . 14 (Fun 𝐹𝐹 Fn dom 𝐹)
12 fvelrnb 6728 . . . . . . . . . . . . . 14 (𝐹 Fn dom 𝐹 → (𝑥 ∈ ran 𝐹 ↔ ∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥))
1311, 12sylbi 219 . . . . . . . . . . . . 13 (Fun 𝐹 → (𝑥 ∈ ran 𝐹 ↔ ∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥))
1413adantr 483 . . . . . . . . . . . 12 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (𝑥 ∈ ran 𝐹 ↔ ∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥))
15 difss 4110 . . . . . . . . . . . . . . . . . 18 (dom 𝐹 ∖ {𝑦}) ⊆ dom 𝐹
1615jctr 527 . . . . . . . . . . . . . . . . 17 (Fun 𝐹 → (Fun 𝐹 ∧ (dom 𝐹 ∖ {𝑦}) ⊆ dom 𝐹))
1716ad2antrr 724 . . . . . . . . . . . . . . . 16 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦))) → (Fun 𝐹 ∧ (dom 𝐹 ∖ {𝑦}) ⊆ dom 𝐹))
18 simpl 485 . . . . . . . . . . . . . . . . . 18 ((𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦)) → 𝑘 ∈ dom 𝐹)
19 fveq2 6672 . . . . . . . . . . . . . . . . . . . 20 (𝑘 = 𝑦 → (𝐹𝑘) = (𝐹𝑦))
2019necon3i 3050 . . . . . . . . . . . . . . . . . . 19 ((𝐹𝑘) ≠ (𝐹𝑦) → 𝑘𝑦)
2120adantl 484 . . . . . . . . . . . . . . . . . 18 ((𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦)) → 𝑘𝑦)
22 eldifsn 4721 . . . . . . . . . . . . . . . . . 18 (𝑘 ∈ (dom 𝐹 ∖ {𝑦}) ↔ (𝑘 ∈ dom 𝐹𝑘𝑦))
2318, 21, 22sylanbrc 585 . . . . . . . . . . . . . . . . 17 ((𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦)) → 𝑘 ∈ (dom 𝐹 ∖ {𝑦}))
2423adantl 484 . . . . . . . . . . . . . . . 16 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦))) → 𝑘 ∈ (dom 𝐹 ∖ {𝑦}))
25 funfvima2 6995 . . . . . . . . . . . . . . . 16 ((Fun 𝐹 ∧ (dom 𝐹 ∖ {𝑦}) ⊆ dom 𝐹) → (𝑘 ∈ (dom 𝐹 ∖ {𝑦}) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
2617, 24, 25sylc 65 . . . . . . . . . . . . . . 15 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦))) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))
2726expr 459 . . . . . . . . . . . . . 14 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ 𝑘 ∈ dom 𝐹) → ((𝐹𝑘) ≠ (𝐹𝑦) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
28 neeq1 3080 . . . . . . . . . . . . . . 15 ((𝐹𝑘) = 𝑥 → ((𝐹𝑘) ≠ (𝐹𝑦) ↔ 𝑥 ≠ (𝐹𝑦)))
29 eleq1 2902 . . . . . . . . . . . . . . 15 ((𝐹𝑘) = 𝑥 → ((𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})) ↔ 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
3028, 29imbi12d 347 . . . . . . . . . . . . . 14 ((𝐹𝑘) = 𝑥 → (((𝐹𝑘) ≠ (𝐹𝑦) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))) ↔ (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3127, 30syl5ibcom 247 . . . . . . . . . . . . 13 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ 𝑘 ∈ dom 𝐹) → ((𝐹𝑘) = 𝑥 → (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3231rexlimdva 3286 . . . . . . . . . . . 12 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥 → (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3314, 32sylbid 242 . . . . . . . . . . 11 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (𝑥 ∈ ran 𝐹 → (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3433impd 413 . . . . . . . . . 10 ((Fun 𝐹𝑦 ∈ dom 𝐹) → ((𝑥 ∈ ran 𝐹𝑥 ≠ (𝐹𝑦)) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
3510, 34syl5bi 244 . . . . . . . . 9 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (𝑥 ∈ (ran 𝐹 ∖ {(𝐹𝑦)}) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
3635ssrdv 3975 . . . . . . . 8 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (ran 𝐹 ∖ {(𝐹𝑦)}) ⊆ (𝐹 “ (dom 𝐹 ∖ {𝑦})))
379, 36sylan 582 . . . . . . 7 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → (ran 𝐹 ∖ {(𝐹𝑦)}) ⊆ (𝐹 “ (dom 𝐹 ∖ {𝑦})))
38 eqid 2823 . . . . . . . 8 (LSpan‘𝑊) = (LSpan‘𝑊)
391, 38lspss 19758 . . . . . . 7 ((𝑊 ∈ LMod ∧ (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ (Base‘𝑊) ∧ (ran 𝐹 ∖ {(𝐹𝑦)}) ⊆ (𝐹 “ (dom 𝐹 ∖ {𝑦}))) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})) ⊆ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
405, 8, 37, 39syl3anc 1367 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})) ⊆ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
4140adantrr 715 . . . . 5 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})) ⊆ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
42 simplr 767 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝐹 LIndF 𝑊)
43 simprl 769 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝑦 ∈ dom 𝐹)
44 eldifi 4105 . . . . . . 7 (𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) → 𝑘 ∈ (Base‘(Scalar‘𝑊)))
4544ad2antll 727 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝑘 ∈ (Base‘(Scalar‘𝑊)))
46 eldifsni 4724 . . . . . . 7 (𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) → 𝑘 ≠ (0g‘(Scalar‘𝑊)))
4746ad2antll 727 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝑘 ≠ (0g‘(Scalar‘𝑊)))
48 eqid 2823 . . . . . . 7 ( ·𝑠𝑊) = ( ·𝑠𝑊)
49 eqid 2823 . . . . . . 7 (Scalar‘𝑊) = (Scalar‘𝑊)
50 eqid 2823 . . . . . . 7 (0g‘(Scalar‘𝑊)) = (0g‘(Scalar‘𝑊))
51 eqid 2823 . . . . . . 7 (Base‘(Scalar‘𝑊)) = (Base‘(Scalar‘𝑊))
5248, 38, 49, 50, 51lindfind 20962 . . . . . 6 (((𝐹 LIndF 𝑊𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ (Base‘(Scalar‘𝑊)) ∧ 𝑘 ≠ (0g‘(Scalar‘𝑊)))) → ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
5342, 43, 45, 47, 52syl22anc 836 . . . . 5 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
5441, 53ssneldd 3972 . . . 4 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})))
5554ralrimivva 3193 . . 3 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ∀𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})))
569funfnd 6388 . . . 4 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → 𝐹 Fn dom 𝐹)
57 oveq2 7166 . . . . . . . 8 (𝑥 = (𝐹𝑦) → (𝑘( ·𝑠𝑊)𝑥) = (𝑘( ·𝑠𝑊)(𝐹𝑦)))
58 sneq 4579 . . . . . . . . . 10 (𝑥 = (𝐹𝑦) → {𝑥} = {(𝐹𝑦)})
5958difeq2d 4101 . . . . . . . . 9 (𝑥 = (𝐹𝑦) → (ran 𝐹 ∖ {𝑥}) = (ran 𝐹 ∖ {(𝐹𝑦)}))
6059fveq2d 6676 . . . . . . . 8 (𝑥 = (𝐹𝑦) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) = ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})))
6157, 60eleq12d 2909 . . . . . . 7 (𝑥 = (𝐹𝑦) → ((𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6261notbid 320 . . . . . 6 (𝑥 = (𝐹𝑦) → (¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6362ralbidv 3199 . . . . 5 (𝑥 = (𝐹𝑦) → (∀𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ ∀𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6463ralrn 6856 . . . 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 259 . 2 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ∀𝑥 ∈ ran 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})))
671, 48, 38, 49, 51, 50islinds2 20959 . . 3 (𝑊 ∈ LMod → (ran 𝐹 ∈ (LIndS‘𝑊) ↔ (ran 𝐹 ⊆ (Base‘𝑊) ∧ ∀𝑥 ∈ ran 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})))))
6867adantr 483 . 2 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → (ran 𝐹 ∈ (LIndS‘𝑊) ↔ (ran 𝐹 ⊆ (Base‘𝑊) ∧ ∀𝑥 ∈ ran 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})))))
694, 66, 68mpbir2and 711 1 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ran 𝐹 ∈ (LIndS‘𝑊))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 208  wa 398   = wceq 1537  wcel 2114  wne 3018  wral 3140  wrex 3141  cdif 3935  wss 3938  {csn 4569   class class class wbr 5068  dom cdm 5557  ran crn 5558  cima 5560  Fun wfun 6351   Fn wfn 6352  wf 6353  cfv 6357  (class class class)co 7158  Basecbs 16485  Scalarcsca 16570   ·𝑠 cvsca 16571  0gc0g 16715  LModclmod 19636  LSpanclspn 19745   LIndF clindf 20950  LIndSclinds 20951
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2795  ax-rep 5192  ax-sep 5205  ax-nul 5212  ax-pow 5268  ax-pr 5332  ax-un 7463
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3an 1085  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2654  df-clab 2802  df-cleq 2816  df-clel 2895  df-nfc 2965  df-ne 3019  df-ral 3145  df-rex 3146  df-reu 3147  df-rmo 3148  df-rab 3149  df-v 3498  df-sbc 3775  df-csb 3886  df-dif 3941  df-un 3943  df-in 3945  df-ss 3954  df-nul 4294  df-if 4470  df-pw 4543  df-sn 4570  df-pr 4572  df-op 4576  df-uni 4841  df-int 4879  df-iun 4923  df-br 5069  df-opab 5131  df-mpt 5149  df-id 5462  df-xp 5563  df-rel 5564  df-cnv 5565  df-co 5566  df-dm 5567  df-rn 5568  df-res 5569  df-ima 5570  df-iota 6316  df-fun 6359  df-fn 6360  df-f 6361  df-f1 6362  df-fo 6363  df-f1o 6364  df-fv 6365  df-riota 7116  df-ov 7161  df-slot 16489  df-base 16491  df-0g 16717  df-mgm 17854  df-sgrp 17903  df-mnd 17914  df-grp 18108  df-lmod 19638  df-lss 19706  df-lsp 19746  df-lindf 20952  df-linds 20953
This theorem is referenced by:  islindf3  20972  lindsmm  20974  matunitlindflem2  34891
  Copyright terms: Public domain W3C validator