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

Theorem lindfrn 20957
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 2819 . . . . 5 (Base‘𝑊) = (Base‘𝑊)
21lindff 20951 . . . 4 ((𝐹 LIndF 𝑊𝑊 ∈ LMod) → 𝐹:dom 𝐹⟶(Base‘𝑊))
32ancoms 461 . . 3 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → 𝐹:dom 𝐹⟶(Base‘𝑊))
43frnd 6514 . 2 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ran 𝐹 ⊆ (Base‘𝑊))
5 simpll 765 . . . . . . 7 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → 𝑊 ∈ LMod)
6 imassrn 5933 . . . . . . . . 9 (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ ran 𝐹
76, 4sstrid 3976 . . . . . . . 8 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ (Base‘𝑊))
87adantr 483 . . . . . . 7 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ (Base‘𝑊))
93ffund 6511 . . . . . . . 8 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → Fun 𝐹)
10 eldifsn 4711 . . . . . . . . . 10 (𝑥 ∈ (ran 𝐹 ∖ {(𝐹𝑦)}) ↔ (𝑥 ∈ ran 𝐹𝑥 ≠ (𝐹𝑦)))
11 funfn 6378 . . . . . . . . . . . . . 14 (Fun 𝐹𝐹 Fn dom 𝐹)
12 fvelrnb 6719 . . . . . . . . . . . . . 14 (𝐹 Fn dom 𝐹 → (𝑥 ∈ ran 𝐹 ↔ ∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥))
1311, 12sylbi 219 . . . . . . . . . . . . 13 (Fun 𝐹 → (𝑥 ∈ ran 𝐹 ↔ ∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥))
1413adantr 483 . . . . . . . . . . . 12 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (𝑥 ∈ ran 𝐹 ↔ ∃𝑘 ∈ dom 𝐹(𝐹𝑘) = 𝑥))
15 difss 4106 . . . . . . . . . . . . . . . . . 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 6663 . . . . . . . . . . . . . . . . . . . 20 (𝑘 = 𝑦 → (𝐹𝑘) = (𝐹𝑦))
2019necon3i 3046 . . . . . . . . . . . . . . . . . . 19 ((𝐹𝑘) ≠ (𝐹𝑦) → 𝑘𝑦)
2120adantl 484 . . . . . . . . . . . . . . . . . 18 ((𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦)) → 𝑘𝑦)
22 eldifsn 4711 . . . . . . . . . . . . . . . . . 18 (𝑘 ∈ (dom 𝐹 ∖ {𝑦}) ↔ (𝑘 ∈ dom 𝐹𝑘𝑦))
2318, 21, 22sylanbrc 585 . . . . . . . . . . . . . . . . 17 ((𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦)) → 𝑘 ∈ (dom 𝐹 ∖ {𝑦}))
2423adantl 484 . . . . . . . . . . . . . . . 16 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦))) → 𝑘 ∈ (dom 𝐹 ∖ {𝑦}))
25 funfvima2 6985 . . . . . . . . . . . . . . . 16 ((Fun 𝐹 ∧ (dom 𝐹 ∖ {𝑦}) ⊆ dom 𝐹) → (𝑘 ∈ (dom 𝐹 ∖ {𝑦}) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
2617, 24, 25sylc 65 . . . . . . . . . . . . . . 15 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ (𝑘 ∈ dom 𝐹 ∧ (𝐹𝑘) ≠ (𝐹𝑦))) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))
2726expr 459 . . . . . . . . . . . . . 14 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ 𝑘 ∈ dom 𝐹) → ((𝐹𝑘) ≠ (𝐹𝑦) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
28 neeq1 3076 . . . . . . . . . . . . . . 15 ((𝐹𝑘) = 𝑥 → ((𝐹𝑘) ≠ (𝐹𝑦) ↔ 𝑥 ≠ (𝐹𝑦)))
29 eleq1 2898 . . . . . . . . . . . . . . 15 ((𝐹𝑘) = 𝑥 → ((𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})) ↔ 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))))
3028, 29imbi12d 347 . . . . . . . . . . . . . 14 ((𝐹𝑘) = 𝑥 → (((𝐹𝑘) ≠ (𝐹𝑦) → (𝐹𝑘) ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦}))) ↔ (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3127, 30syl5ibcom 247 . . . . . . . . . . . . 13 (((Fun 𝐹𝑦 ∈ dom 𝐹) ∧ 𝑘 ∈ dom 𝐹) → ((𝐹𝑘) = 𝑥 → (𝑥 ≠ (𝐹𝑦) → 𝑥 ∈ (𝐹 “ (dom 𝐹 ∖ {𝑦})))))
3231rexlimdva 3282 . . . . . . . . . . . 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 3971 . . . . . . . 8 ((Fun 𝐹𝑦 ∈ dom 𝐹) → (ran 𝐹 ∖ {(𝐹𝑦)}) ⊆ (𝐹 “ (dom 𝐹 ∖ {𝑦})))
379, 36sylan 582 . . . . . . 7 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ 𝑦 ∈ dom 𝐹) → (ran 𝐹 ∖ {(𝐹𝑦)}) ⊆ (𝐹 “ (dom 𝐹 ∖ {𝑦})))
38 eqid 2819 . . . . . . . 8 (LSpan‘𝑊) = (LSpan‘𝑊)
391, 38lspss 19748 . . . . . . 7 ((𝑊 ∈ LMod ∧ (𝐹 “ (dom 𝐹 ∖ {𝑦})) ⊆ (Base‘𝑊) ∧ (ran 𝐹 ∖ {(𝐹𝑦)}) ⊆ (𝐹 “ (dom 𝐹 ∖ {𝑦}))) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})) ⊆ ((LSpan‘𝑊)‘(𝐹 “ (dom 𝐹 ∖ {𝑦}))))
405, 8, 37, 39syl3anc 1365 . . . . . 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 4101 . . . . . . 7 (𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) → 𝑘 ∈ (Base‘(Scalar‘𝑊)))
4544ad2antll 727 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝑘 ∈ (Base‘(Scalar‘𝑊)))
46 eldifsni 4714 . . . . . . 7 (𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) → 𝑘 ≠ (0g‘(Scalar‘𝑊)))
4746ad2antll 727 . . . . . 6 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → 𝑘 ≠ (0g‘(Scalar‘𝑊)))
48 eqid 2819 . . . . . . 7 ( ·𝑠𝑊) = ( ·𝑠𝑊)
49 eqid 2819 . . . . . . 7 (Scalar‘𝑊) = (Scalar‘𝑊)
50 eqid 2819 . . . . . . 7 (0g‘(Scalar‘𝑊)) = (0g‘(Scalar‘𝑊))
51 eqid 2819 . . . . . . 7 (Base‘(Scalar‘𝑊)) = (Base‘(Scalar‘𝑊))
5248, 38, 49, 50, 51lindfind 20952 . . . . . 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 3968 . . . 4 (((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) ∧ (𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}))) → ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})))
5554ralrimivva 3189 . . 3 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → ∀𝑦 ∈ dom 𝐹𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})))
569funfnd 6379 . . . 4 ((𝑊 ∈ LMod ∧ 𝐹 LIndF 𝑊) → 𝐹 Fn dom 𝐹)
57 oveq2 7156 . . . . . . . 8 (𝑥 = (𝐹𝑦) → (𝑘( ·𝑠𝑊)𝑥) = (𝑘( ·𝑠𝑊)(𝐹𝑦)))
58 sneq 4569 . . . . . . . . . 10 (𝑥 = (𝐹𝑦) → {𝑥} = {(𝐹𝑦)})
5958difeq2d 4097 . . . . . . . . 9 (𝑥 = (𝐹𝑦) → (ran 𝐹 ∖ {𝑥}) = (ran 𝐹 ∖ {(𝐹𝑦)}))
6059fveq2d 6667 . . . . . . . 8 (𝑥 = (𝐹𝑦) → ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) = ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)})))
6157, 60eleq12d 2905 . . . . . . 7 (𝑥 = (𝐹𝑦) → ((𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6261notbid 320 . . . . . 6 (𝑥 = (𝐹𝑦) → (¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6362ralbidv 3195 . . . . 5 (𝑥 = (𝐹𝑦) → (∀𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)𝑥) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {𝑥})) ↔ ∀𝑘 ∈ ((Base‘(Scalar‘𝑊)) ∖ {(0g‘(Scalar‘𝑊))}) ¬ (𝑘( ·𝑠𝑊)(𝐹𝑦)) ∈ ((LSpan‘𝑊)‘(ran 𝐹 ∖ {(𝐹𝑦)}))))
6463ralrn 6847 . . . 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 20949 . . 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 1530  wcel 2107  wne 3014  wral 3136  wrex 3137  cdif 3931  wss 3934  {csn 4559   class class class wbr 5057  dom cdm 5548  ran crn 5549  cima 5551  Fun wfun 6342   Fn wfn 6343  wf 6344  cfv 6348  (class class class)co 7148  Basecbs 16475  Scalarcsca 16560   ·𝑠 cvsca 16561  0gc0g 16705  LModclmod 19626  LSpanclspn 19735   LIndF clindf 20940  LIndSclinds 20941
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1904  ax-6 1963  ax-7 2008  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2153  ax-12 2169  ax-ext 2791  ax-rep 5181  ax-sep 5194  ax-nul 5201  ax-pow 5257  ax-pr 5320  ax-un 7453
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3an 1083  df-tru 1533  df-ex 1774  df-nf 1778  df-sb 2063  df-mo 2616  df-eu 2648  df-clab 2798  df-cleq 2812  df-clel 2891  df-nfc 2961  df-ne 3015  df-ral 3141  df-rex 3142  df-reu 3143  df-rmo 3144  df-rab 3145  df-v 3495  df-sbc 3771  df-csb 3882  df-dif 3937  df-un 3939  df-in 3941  df-ss 3950  df-nul 4290  df-if 4466  df-pw 4539  df-sn 4560  df-pr 4562  df-op 4566  df-uni 4831  df-int 4868  df-iun 4912  df-br 5058  df-opab 5120  df-mpt 5138  df-id 5453  df-xp 5554  df-rel 5555  df-cnv 5556  df-co 5557  df-dm 5558  df-rn 5559  df-res 5560  df-ima 5561  df-iota 6307  df-fun 6350  df-fn 6351  df-f 6352  df-f1 6353  df-fo 6354  df-f1o 6355  df-fv 6356  df-riota 7106  df-ov 7151  df-slot 16479  df-base 16481  df-0g 16707  df-mgm 17844  df-sgrp 17893  df-mnd 17904  df-grp 18098  df-lmod 19628  df-lss 19696  df-lsp 19736  df-lindf 20942  df-linds 20943
This theorem is referenced by:  islindf3  20962  lindsmm  20964  matunitlindflem2  34871
  Copyright terms: Public domain W3C validator