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

Theorem bwth 20926
Description: The glorious Bolzano-Weierstrass theorem. The first general topology theorem ever proved. The first mention of this theorem can be found in a course by Weierstrass from 1865. In his course Weierstrass called it a lemma. He didn't know how famous this theorem would be. He used a Euclidean space instead of a general compact space. And he was not aware of the Heine-Borel property. But the concepts of neighborhood and limit point were already there although not precisely defined. Cantor was one of his students. He published and used the theorem in an article from 1872. The rest of the general topology followed from that. (Contributed by FL, 2-Aug-2009.) (Revised by Mario Carneiro, 15-Dec-2013.) Revised by BL to significantly shorten the proof and avoid infinity, regularity, and choice. (Revised by Brendan Leahy, 26-Dec-2018.)
Hypothesis
Ref Expression
bwt2.1 𝑋 = 𝐽
Assertion
Ref Expression
bwth ((𝐽 ∈ Comp ∧ 𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) → ∃𝑥𝑋 𝑥 ∈ ((limPt‘𝐽)‘𝐴))
Distinct variable groups:   𝑥,𝐴   𝑥,𝐽   𝑥,𝑋

Proof of Theorem bwth
Dummy variables 𝑜 𝑏 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 pm3.24 921 . . . . . . 7 ¬ ((𝐴𝑏) ∈ Fin ∧ ¬ (𝐴𝑏) ∈ Fin)
21a1i 11 . . . . . 6 (𝑏𝑧 → ¬ ((𝐴𝑏) ∈ Fin ∧ ¬ (𝐴𝑏) ∈ Fin))
32nrex 2887 . . . . 5 ¬ ∃𝑏𝑧 ((𝐴𝑏) ∈ Fin ∧ ¬ (𝐴𝑏) ∈ Fin)
4 r19.29 2958 . . . . 5 ((∀𝑏𝑧 (𝐴𝑏) ∈ Fin ∧ ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin) → ∃𝑏𝑧 ((𝐴𝑏) ∈ Fin ∧ ¬ (𝐴𝑏) ∈ Fin))
53, 4mto 186 . . . 4 ¬ (∀𝑏𝑧 (𝐴𝑏) ∈ Fin ∧ ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)
65a1i 11 . . 3 (𝑧 ∈ (𝒫 𝐽 ∩ Fin) → ¬ (∀𝑏𝑧 (𝐴𝑏) ∈ Fin ∧ ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin))
76nrex 2887 . 2 ¬ ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(∀𝑏𝑧 (𝐴𝑏) ∈ Fin ∧ ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)
8 ralnex 2879 . . . . . 6 (∀𝑥𝑋 ¬ 𝑥 ∈ ((limPt‘𝐽)‘𝐴) ↔ ¬ ∃𝑥𝑋 𝑥 ∈ ((limPt‘𝐽)‘𝐴))
9 cmptop 20911 . . . . . . 7 (𝐽 ∈ Comp → 𝐽 ∈ Top)
10 bwt2.1 . . . . . . . . . . 11 𝑋 = 𝐽
1110islp3 20663 . . . . . . . . . 10 ((𝐽 ∈ Top ∧ 𝐴𝑋𝑥𝑋) → (𝑥 ∈ ((limPt‘𝐽)‘𝐴) ↔ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅)))
12113expa 1256 . . . . . . . . 9 (((𝐽 ∈ Top ∧ 𝐴𝑋) ∧ 𝑥𝑋) → (𝑥 ∈ ((limPt‘𝐽)‘𝐴) ↔ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅)))
1312notbid 306 . . . . . . . 8 (((𝐽 ∈ Top ∧ 𝐴𝑋) ∧ 𝑥𝑋) → (¬ 𝑥 ∈ ((limPt‘𝐽)‘𝐴) ↔ ¬ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅)))
1413ralbidva 2872 . . . . . . 7 ((𝐽 ∈ Top ∧ 𝐴𝑋) → (∀𝑥𝑋 ¬ 𝑥 ∈ ((limPt‘𝐽)‘𝐴) ↔ ∀𝑥𝑋 ¬ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅)))
159, 14sylan 486 . . . . . 6 ((𝐽 ∈ Comp ∧ 𝐴𝑋) → (∀𝑥𝑋 ¬ 𝑥 ∈ ((limPt‘𝐽)‘𝐴) ↔ ∀𝑥𝑋 ¬ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅)))
168, 15syl5bbr 272 . . . . 5 ((𝐽 ∈ Comp ∧ 𝐴𝑋) → (¬ ∃𝑥𝑋 𝑥 ∈ ((limPt‘𝐽)‘𝐴) ↔ ∀𝑥𝑋 ¬ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅)))
17 rexanali 2885 . . . . . . . . 9 (∃𝑏𝐽 (𝑥𝑏 ∧ ¬ (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅) ↔ ¬ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅))
18 nne 2690 . . . . . . . . . . . 12 (¬ (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅ ↔ (𝑏 ∩ (𝐴 ∖ {𝑥})) = ∅)
19 vex 3080 . . . . . . . . . . . . 13 𝑥 ∈ V
20 sneq 4038 . . . . . . . . . . . . . . . 16 (𝑜 = 𝑥 → {𝑜} = {𝑥})
2120difeq2d 3594 . . . . . . . . . . . . . . 15 (𝑜 = 𝑥 → (𝐴 ∖ {𝑜}) = (𝐴 ∖ {𝑥}))
2221ineq2d 3679 . . . . . . . . . . . . . 14 (𝑜 = 𝑥 → (𝑏 ∩ (𝐴 ∖ {𝑜})) = (𝑏 ∩ (𝐴 ∖ {𝑥})))
2322eqeq1d 2516 . . . . . . . . . . . . 13 (𝑜 = 𝑥 → ((𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅ ↔ (𝑏 ∩ (𝐴 ∖ {𝑥})) = ∅))
2419, 23spcev 3177 . . . . . . . . . . . 12 ((𝑏 ∩ (𝐴 ∖ {𝑥})) = ∅ → ∃𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅)
2518, 24sylbi 205 . . . . . . . . . . 11 (¬ (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅ → ∃𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅)
2625anim2i 590 . . . . . . . . . 10 ((𝑥𝑏 ∧ ¬ (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅) → (𝑥𝑏 ∧ ∃𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅))
2726reximi 2898 . . . . . . . . 9 (∃𝑏𝐽 (𝑥𝑏 ∧ ¬ (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅) → ∃𝑏𝐽 (𝑥𝑏 ∧ ∃𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅))
2817, 27sylbir 223 . . . . . . . 8 (¬ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅) → ∃𝑏𝐽 (𝑥𝑏 ∧ ∃𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅))
2928ralimi 2840 . . . . . . 7 (∀𝑥𝑋 ¬ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅) → ∀𝑥𝑋𝑏𝐽 (𝑥𝑏 ∧ ∃𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅))
3010cmpcov2 20906 . . . . . . . 8 ((𝐽 ∈ Comp ∧ ∀𝑥𝑋𝑏𝐽 (𝑥𝑏 ∧ ∃𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅)) → ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(𝑋 = 𝑧 ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅))
3130ex 448 . . . . . . 7 (𝐽 ∈ Comp → (∀𝑥𝑋𝑏𝐽 (𝑥𝑏 ∧ ∃𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅) → ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(𝑋 = 𝑧 ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅)))
3229, 31syl5 33 . . . . . 6 (𝐽 ∈ Comp → (∀𝑥𝑋 ¬ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅) → ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(𝑋 = 𝑧 ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅)))
3332adantr 479 . . . . 5 ((𝐽 ∈ Comp ∧ 𝐴𝑋) → (∀𝑥𝑋 ¬ ∀𝑏𝐽 (𝑥𝑏 → (𝑏 ∩ (𝐴 ∖ {𝑥})) ≠ ∅) → ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(𝑋 = 𝑧 ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅)))
3416, 33sylbid 228 . . . 4 ((𝐽 ∈ Comp ∧ 𝐴𝑋) → (¬ ∃𝑥𝑋 𝑥 ∈ ((limPt‘𝐽)‘𝐴) → ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(𝑋 = 𝑧 ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅)))
35343adant3 1073 . . 3 ((𝐽 ∈ Comp ∧ 𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) → (¬ ∃𝑥𝑋 𝑥 ∈ ((limPt‘𝐽)‘𝐴) → ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(𝑋 = 𝑧 ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅)))
36 inss2 3699 . . . . . . . . 9 (𝒫 𝐽 ∩ Fin) ⊆ Fin
3736sseli 3468 . . . . . . . 8 (𝑧 ∈ (𝒫 𝐽 ∩ Fin) → 𝑧 ∈ Fin)
38 sseq2 3494 . . . . . . . . . . . 12 (𝑋 = 𝑧 → (𝐴𝑋𝐴 𝑧))
3938biimpac 501 . . . . . . . . . . 11 ((𝐴𝑋𝑋 = 𝑧) → 𝐴 𝑧)
40 infssuni 8016 . . . . . . . . . . . . 13 ((¬ 𝐴 ∈ Fin ∧ 𝑧 ∈ Fin ∧ 𝐴 𝑧) → ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)
41403expa 1256 . . . . . . . . . . . 12 (((¬ 𝐴 ∈ Fin ∧ 𝑧 ∈ Fin) ∧ 𝐴 𝑧) → ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)
4241ancoms 467 . . . . . . . . . . 11 ((𝐴 𝑧 ∧ (¬ 𝐴 ∈ Fin ∧ 𝑧 ∈ Fin)) → ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)
4339, 42sylan 486 . . . . . . . . . 10 (((𝐴𝑋𝑋 = 𝑧) ∧ (¬ 𝐴 ∈ Fin ∧ 𝑧 ∈ Fin)) → ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)
4443an42s 865 . . . . . . . . 9 (((𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) ∧ (𝑧 ∈ Fin ∧ 𝑋 = 𝑧)) → ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)
4544anassrs 677 . . . . . . . 8 ((((𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) ∧ 𝑧 ∈ Fin) ∧ 𝑋 = 𝑧) → ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)
4637, 45sylanl2 680 . . . . . . 7 ((((𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) ∧ 𝑧 ∈ (𝒫 𝐽 ∩ Fin)) ∧ 𝑋 = 𝑧) → ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)
47 0fin 7949 . . . . . . . . . . . 12 ∅ ∈ Fin
48 eleq1 2580 . . . . . . . . . . . 12 ((𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅ → ((𝑏 ∩ (𝐴 ∖ {𝑜})) ∈ Fin ↔ ∅ ∈ Fin))
4947, 48mpbiri 246 . . . . . . . . . . 11 ((𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅ → (𝑏 ∩ (𝐴 ∖ {𝑜})) ∈ Fin)
50 snfi 7799 . . . . . . . . . . 11 {𝑜} ∈ Fin
51 unfi 7988 . . . . . . . . . . 11 (((𝑏 ∩ (𝐴 ∖ {𝑜})) ∈ Fin ∧ {𝑜} ∈ Fin) → ((𝑏 ∩ (𝐴 ∖ {𝑜})) ∪ {𝑜}) ∈ Fin)
5249, 50, 51sylancl 692 . . . . . . . . . 10 ((𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅ → ((𝑏 ∩ (𝐴 ∖ {𝑜})) ∪ {𝑜}) ∈ Fin)
53 ssun1 3642 . . . . . . . . . . . 12 𝑏 ⊆ (𝑏 ∪ {𝑜})
54 ssun1 3642 . . . . . . . . . . . . 13 𝐴 ⊆ (𝐴 ∪ {𝑜})
55 undif1 3898 . . . . . . . . . . . . 13 ((𝐴 ∖ {𝑜}) ∪ {𝑜}) = (𝐴 ∪ {𝑜})
5654, 55sseqtr4i 3505 . . . . . . . . . . . 12 𝐴 ⊆ ((𝐴 ∖ {𝑜}) ∪ {𝑜})
57 ss2in 3705 . . . . . . . . . . . 12 ((𝑏 ⊆ (𝑏 ∪ {𝑜}) ∧ 𝐴 ⊆ ((𝐴 ∖ {𝑜}) ∪ {𝑜})) → (𝑏𝐴) ⊆ ((𝑏 ∪ {𝑜}) ∩ ((𝐴 ∖ {𝑜}) ∪ {𝑜})))
5853, 56, 57mp2an 703 . . . . . . . . . . 11 (𝑏𝐴) ⊆ ((𝑏 ∪ {𝑜}) ∩ ((𝐴 ∖ {𝑜}) ∪ {𝑜}))
59 incom 3670 . . . . . . . . . . 11 (𝐴𝑏) = (𝑏𝐴)
60 undir 3738 . . . . . . . . . . 11 ((𝑏 ∩ (𝐴 ∖ {𝑜})) ∪ {𝑜}) = ((𝑏 ∪ {𝑜}) ∩ ((𝐴 ∖ {𝑜}) ∪ {𝑜}))
6158, 59, 603sstr4i 3511 . . . . . . . . . 10 (𝐴𝑏) ⊆ ((𝑏 ∩ (𝐴 ∖ {𝑜})) ∪ {𝑜})
62 ssfi 7941 . . . . . . . . . 10 ((((𝑏 ∩ (𝐴 ∖ {𝑜})) ∪ {𝑜}) ∈ Fin ∧ (𝐴𝑏) ⊆ ((𝑏 ∩ (𝐴 ∖ {𝑜})) ∪ {𝑜})) → (𝐴𝑏) ∈ Fin)
6352, 61, 62sylancl 692 . . . . . . . . 9 ((𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅ → (𝐴𝑏) ∈ Fin)
6463exlimiv 1811 . . . . . . . 8 (∃𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅ → (𝐴𝑏) ∈ Fin)
6564ralimi 2840 . . . . . . 7 (∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅ → ∀𝑏𝑧 (𝐴𝑏) ∈ Fin)
6646, 65anim12ci 588 . . . . . 6 (((((𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) ∧ 𝑧 ∈ (𝒫 𝐽 ∩ Fin)) ∧ 𝑋 = 𝑧) ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅) → (∀𝑏𝑧 (𝐴𝑏) ∈ Fin ∧ ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin))
6766expl 645 . . . . 5 (((𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) ∧ 𝑧 ∈ (𝒫 𝐽 ∩ Fin)) → ((𝑋 = 𝑧 ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅) → (∀𝑏𝑧 (𝐴𝑏) ∈ Fin ∧ ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)))
6867reximdva 2904 . . . 4 ((𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) → (∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(𝑋 = 𝑧 ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅) → ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(∀𝑏𝑧 (𝐴𝑏) ∈ Fin ∧ ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)))
69683adant1 1071 . . 3 ((𝐽 ∈ Comp ∧ 𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) → (∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(𝑋 = 𝑧 ∧ ∀𝑏𝑧𝑜(𝑏 ∩ (𝐴 ∖ {𝑜})) = ∅) → ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(∀𝑏𝑧 (𝐴𝑏) ∈ Fin ∧ ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)))
7035, 69syld 45 . 2 ((𝐽 ∈ Comp ∧ 𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) → (¬ ∃𝑥𝑋 𝑥 ∈ ((limPt‘𝐽)‘𝐴) → ∃𝑧 ∈ (𝒫 𝐽 ∩ Fin)(∀𝑏𝑧 (𝐴𝑏) ∈ Fin ∧ ∃𝑏𝑧 ¬ (𝐴𝑏) ∈ Fin)))
717, 70mt3i 139 1 ((𝐽 ∈ Comp ∧ 𝐴𝑋 ∧ ¬ 𝐴 ∈ Fin) → ∃𝑥𝑋 𝑥 ∈ ((limPt‘𝐽)‘𝐴))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 194  wa 382  w3a 1030   = wceq 1474  wex 1694  wcel 1938  wne 2684  wral 2800  wrex 2801  cdif 3441  cun 3442  cin 3443  wss 3444  c0 3777  𝒫 cpw 4011  {csn 4028   cuni 4270  cfv 5689  Fincfn 7717  Topctop 20420  limPtclp 20651  Compccmp 20902
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1700  ax-4 1713  ax-5 1793  ax-6 1838  ax-7 1885  ax-8 1940  ax-9 1947  ax-10 1966  ax-11 1971  ax-12 1983  ax-13 2137  ax-ext 2494  ax-rep 4597  ax-sep 4607  ax-nul 4616  ax-pow 4668  ax-pr 4732  ax-un 6723
This theorem depends on definitions:  df-bi 195  df-or 383  df-an 384  df-3or 1031  df-3an 1032  df-tru 1477  df-ex 1695  df-nf 1699  df-sb 1831  df-eu 2366  df-mo 2367  df-clab 2501  df-cleq 2507  df-clel 2510  df-nfc 2644  df-ne 2686  df-ral 2805  df-rex 2806  df-reu 2807  df-rab 2809  df-v 3079  df-sbc 3307  df-csb 3404  df-dif 3447  df-un 3449  df-in 3451  df-ss 3458  df-pss 3460  df-nul 3778  df-if 3940  df-pw 4013  df-sn 4029  df-pr 4031  df-tp 4033  df-op 4035  df-uni 4271  df-int 4309  df-iun 4355  df-iin 4356  df-br 4482  df-opab 4542  df-mpt 4543  df-tr 4579  df-eprel 4843  df-id 4847  df-po 4853  df-so 4854  df-fr 4891  df-we 4893  df-xp 4938  df-rel 4939  df-cnv 4940  df-co 4941  df-dm 4942  df-rn 4943  df-res 4944  df-ima 4945  df-pred 5487  df-ord 5533  df-on 5534  df-lim 5535  df-suc 5536  df-iota 5653  df-fun 5691  df-fn 5692  df-f 5693  df-f1 5694  df-fo 5695  df-f1o 5696  df-fv 5697  df-ov 6429  df-oprab 6430  df-mpt2 6431  df-om 6834  df-wrecs 7169  df-recs 7231  df-rdg 7269  df-1o 7323  df-oadd 7327  df-er 7505  df-en 7718  df-fin 7721  df-top 20424  df-cld 20536  df-ntr 20537  df-cls 20538  df-lp 20653  df-cmp 20903
This theorem is referenced by:  poimirlem30  32499  fourierdlem42  38946  fourierdlem42OLD  38947
  Copyright terms: Public domain W3C validator