40주차 — 함수의 엄밀한 정의#
이 주의 길잡이
핵심 문장: 함수는 규칙이 아니라 순서쌍의 집합이다 — “모든 입력에 정확히 하나의 출력”이라는 조건을 만족하는 관계.
이 주의 위치: 50주 과정의 40주차. 9부(함수)의 첫 주다. 36~39주차에서 쌓은 관계 위에 조건 하나(\(\exists!\))를 얹어 함수를 정의하고, 중2~고1에서 배운 ‘함수’를 다시 세운다. 26주차의 \(\exists!\)와 38주차의 잘 정의됨이 여기서 다시 일한다.
원서 대응: BoP(Book of Proof) 12.1 (Functions), 12.2 도입부 — 병행자 참고용이고, 이 교재는 원서 없이 읽을 수 있다.
이번 주 목표#
함수의 집합론적 정의(\(f \subseteq A \times B\) + \(\exists!\) 조건)를 백지에 쓰고, 각 조각이 무엇을 막는지 설명할 수 있다.
정의역\(\cdot\)공역\(\cdot\)치역을 구분하고, 치역을 집합 상등 증명(양방향 포함)으로 계산할 수 있다.
함수 상등의 세 기준을 쓰고, “같은 식이라도 정의역이 다르면 다른 함수”를 판정할 수 있다.
전체성\(\cdot\)유일성 위반을 순서쌍 수준에서 지목하고, \(\mathbb{Z}_n\) 위의 규칙에 잘 정의됨 검문을 적용할 수 있다.
본문 곳곳의 확인 상자는 연필로 먼저 답하는 자리다. 바로 아래의 답 상자는 (웹에서는 접혀 있다) 스스로 답한 뒤에 열어 대조한다.
준비 운동 (39주차 복습)#
관계의 정의를 쓰시오 — \(A\)에서 \(B\)로의 관계 \(R\)은 무엇의 부분집합인가.
\(\exists!\, x,\ P(x)\)가 요구하는 두 의무를 각각 쓰시오 (26주차 정의 26.4).
39주차 문제 19에서 \(h([a]) = [2^a]\)가 잘 정의되지 않았음을 보이는 반례를 하나 제시하시오 (39주차와 다른 이름 쌍이어도 좋다). (거듭제곱이 정수가 되도록, 이 규칙에서 대표원은 음이 아닌 정수로 잡는다.)
답
1. \(R \subseteq A \times B\) — 곱집합의 부분집합이다(6주차의 \(A \times B\), 36주차의 관계). 관계는 그림이나 화살표가 아니라 순서쌍들의 집합이다.
2. 존재(”\(P(x)\)인 \(x\)가 적어도 하나 있다”)와 유일(“그런 \(x\)가 둘이면 사실은 같다”). 두 의무는 서로 독립이므로 각각 따로 증명해야 한다.
3. \(\mathbb{Z}_4\)에서 \([0] = [4]\)이다(같은 방의 두 이름). 그런데 \(2^0 = 1\)이므로 \([2^0] = [1]\)이고, \(2^4 = 16 = 4 \cdot 4\)이므로 \([2^4] = [0]\)이다. \([1] \neq [0]\)이므로 같은 입력에 두 출력이 나온다. (39주차 해설은 \([1] = [5]\) 쌍을 썼다 — \(h([1]) = [2]\)이고 \(h([5]) = [32] = [0]\)이다. 반례는 이름 쌍을 어떻게 잡아도 된다.)
자주 나오는 세 가지 답 — 3번 문항#
방금 쓴 답은 대개 다음 세 유형 중 하나다. 셋 다 옳은 부분이 있고, 셋 다 이번 주에 메울 정확한 간격이 있다.
유형 1 — 값 하나만 계산. \(h([0]) = [1]\)까지 적고 멈춘다. 계산은 옳다. 빠진 것은
두 번째 이름이다 — 한 값만으로는 “같은 입력에 두 출력”이라는 문장 자체가 만들어지지 않으므로, 잘 정의되지 않음을 보이려면 이름 두 벌이 반드시 필요하다.
유형 2 — 크기로 설명. “\(2^a\)는 \(a\)가 커지면 무한히 커지니까 안 된다”고 적는다.
지수가 빠르게 커진다는 관찰은 사실이지만 크기는 판정 기준이 아니다 — 무대가 \(\mathbb{Z}_4\)이므로 아무리 큰 수도 방 네 개 중 하나에 들어간다. 실제로 문제 16에서 같은 지수 꼴인데 잘 정의되는 규칙을 만난다.
유형 3 — 정수 세계에서 비교. \(2^0 = 1 \neq 16 = 2^4\)이라고 적고 끝낸다. 두 이름을
잡은 것까지는 정확하다. 빠진 것은 마지막 한 걸음이다 — 비교할 것은 정수 \(1\)과 \(16\)이 아니라 방 \([1]\)과 \([16]\)이고, 그 둘이 다른 방임을 확인해야 반례가 닫힌다.
개념 — 관계 위에 조건 하나#
1 “대응 규칙”만으로 판정하려다 막히는 자리#
중2에서 배운 함수는 “\(x\)가 정해지면 \(y\)가 하나 정해지는 대응 규칙”이었다. 이 말만으로 다음 두 규칙을 판정해 보자.
시도 — 규칙의 생김새로 판정하기
\(\mathbb{Z}_4\) 위의 두 규칙:
“둘 다 \([a]\)를 넣으면 값이 하나 나온다. 그러므로 둘 다 함수이다.”
(거듭제곱이 정수가 되도록, \(h\)에서는 대표원을 음이 아닌 정수로 잡는다. \(g\)는
임의의 정수 대표원에 대해 뜻을 가진다.)
여기서 멈춰야 한다. 준비 운동 3번에서 확인한 대로 \(h\)는 함수가 아니고 \(g\)는 함수인데(39주차 문제 19(a)), 두 규칙은 생김새가 똑같다 — 대괄호 안에 \(a\)의 식이 들어간 꼴이다. 문제는 “규칙”이라는 말이 집합이 아니라는 데 있다. 집합이 아니면 원소를 셀 수도, 두 개가 같은지 비교할 수도, 조건을 검사할 수도 없다.
확인 1. 위의 \(h\)를 순서쌍의 집합으로 적으면 어떤 순서쌍들이 들어가는가.
\([0]\)이라는 입력에서 나오는 순서쌍을 두 개 적어 보자:
\(([0], \underline{\quad})\)와 \(([0], \underline{\quad})\).
답
\(([0], [1])\)과 \(([0], [0])\). 앞의 것은 대표원 \(0\)으로, 뒤의 것은 대표원 \(4\)로
계산한 결과다(\([0] = [4]\)이므로 입력은 같다). 순서쌍으로 적는 순간 두 순서쌍이
나란히 놓이고, 규칙이라는 말로는 보이지 않던 “한 입력에 출력 둘”이 **눈에 보이는
조건**이 된다.
이 주 전체의 기준
함수의 자격은 규칙의 생김새가 아니라, 그 규칙이 만드는 순서쌍 집합이
조건을 만족하는지로 판정한다. 그러므로 함수는 관계의 일종으로 정의한다.
2 순서쌍을 세어 보기 — 정의를 만들어 보기#
\(A = \{1, 2, 3\}\), \(B = \{5, 7\}\)로 두고, \(A\)에서 \(B\)로의 관계 네 개를 놓는다. 각 관계에서 입력마다 순서쌍이 몇 개씩 있는지 세어 표를 채워 보자.
관계 |
입력 1의 개수 |
입력 2의 개수 |
입력 3의 개수 |
중2 기준 함수인가 |
|---|---|---|---|---|
\(S_1 = \{(1,5), (2,5), (3,7)\}\) |
\(1\) |
\(1\) |
\(1\) |
예 |
\(S_2 = \{(1,5), (2,7)\}\) |
\(1\) |
\(1\) |
\(\underline{\quad(1)\quad}\) |
\(\underline{\quad}\) |
\(S_3 = \{(1,5), (1,7), (2,5), (3,7)\}\) |
\(\underline{\quad(2)\quad}\) |
\(1\) |
\(1\) |
\(\underline{\quad}\) |
\(S_4 = \{(1,7), (2,7), (3,7)\}\) |
\(1\) |
\(1\) |
\(\underline{\quad(3)\quad}\) |
\(\underline{\quad}\) |
확인 2. 빈칸 (1)(2)(3)을 채우고, 함수인 행과 아닌 행을 가르는 조건을
개수의 언어로 한 문장으로 적어 보자.
답
(1) \(0\) — 아니오. (2) \(2\) — 아니오. (3) \(1\) — 예.
가르는 조건: 모든 입력에서 개수가 정확히 1일 때에만 함수다. \(0\)이면 출력이
없어서 탈락하고, \(2\)이면 어느 것이 값인지 정해지지 않아 탈락한다. \(S_4\)처럼
출력이 겹쳐도 개수는 각각 1이므로 통과한다 — 조건은 입력 쪽에만 걸려 있다.
“개수가 정확히 하나”는 26주차에서 이미 이름을 붙여 둔 조건이다: \(\exists!\). 이 관찰에 정식 이름과 형식을 붙인다. 식 자체에 새로운 것은 없다 — 방금 표에서 센 것을 문장으로 굳혔을 뿐이다.
정의 40.1 — 함수 (function) [백지 암기 대상]#
집합 \(A\)에서 \(B\)로의 함수 \(f\)란, 다음 조건을 만족하는 관계 \(f \subseteq A \times B\)이다:
이때 \(f : A \to B\)로 쓰고, \((a, b) \in f\)인 유일한 \(b\)를 \(f(a)\)로 표기한다.
\(A\)를 정의역(domain), \(B\)를 공역(codomain)이라 한다.
기호 \(f : A \to B\)는 “에프는 에이에서 비로 가는 함수”로 읽고, \(f(a)\)는 “에프 에이” 로 읽는다. 화살표 \(\to\)는 정의역에서 공역으로 가는 방향을 가리킨다. 읽는 법까지가 정의다. \(f(a)\)라는 표기가 성립하는 근거도 정의 안에 들어 있다 — “유일하게”가 없으면 \(f(a)\)는 여러 값 중 어느 것인지 정해지지 않아 표기 자체가 무의미해진다.
함수의 선언은 세 정보로 이루어진다 — 정의역 \(A\), 공역 \(B\), 그리고 순서쌍 집합 \(f \subseteq A \times B\). 정의 40.1의 \(f\)는 그중 셋째이고, 앞의 둘은 \(f : A \to B\)라는 표기가 함께 싣고 있다. 그러므로 두 함수의 상등은 이 세 정보의 상등이며, 그 기준을 §1.6에서 정리한다.
3 정의 해부 — 조각마다 하는 일#
이 한 문장은 네 조각으로 되어 있고, 조각마다 판정에서 맡는 역할이 다르다.
조각 |
하는 일 |
판정에서의 역할 |
|---|---|---|
“관계 \(f \subseteq A \times B\)이다” |
무대의 선언 |
함수는 집합이다 — 원소를 세고, 순서쌍의 목록을 집합 상등으로 비교한다 |
“모든 \(a \in A\)에 대해” |
요구를 입력 전체에 건다 |
입력이 하나라도 빠지면 탈락(전체성) |
“\(b \in B\)가 존재한다” |
출력의 존재와 소속 |
출력은 반드시 공역 안에 있어야 한다 |
“유일하게” |
출력의 단일성 |
한 입력에 출력이 둘이면 탈락(유일성). \(f(a)\) 표기의 근거 |
조각 삭제 실험 1. 넷째 조각의 “유일하게”를 지워 보자. 그러면 위 표의 \(S_3\)도 함수가 되고, \(f(1)\)이 \(5\)인지 \(7\)인지 정해지지 않는다.
확인 3. “유일하게”를 지우는 순간 정확히 무엇이 무너지는가?
(\(S_3\)만의 문제인지, \(f(1)\)이라는 표기는 어떻게 되는지 함께 생각해 보자.)
답
\(f(a)\)라는 표기 전체가 무너진다. \(f(1)\)이 두 값 중 어느 것을 가리키는지
정해지지 않으므로 “\(f(1) + f(2)\)” 같은 식은 값을 갖지 못하고, 이후의 모든 계산이
성립하지 않는다. 그 확정을 주는 조각이 정확히 “유일하게”다.
조각 삭제 실험 2. 둘째 조각의 “모든”을 “어떤”으로 바꿔 보자.
확인 4. “모든”을 “어떤”으로 바꾸면 \(S_2\)의 판정과 정의역이라는 말은
각각 어떻게 되는가?
답
\(S_2\)도 함수가 되고, \(f(3)\)이 없는데도 \(f : A \to B\)라고 선언할 수 있게 된다.
그러면 정의역이라는 말이 아무것도 가리키지 못한다 — \(A\)를 정의역이라 부르는
이유가 \(A\)의 원소 전부가 입력으로 쓰인다는 데 있기 때문이다. 실제로는 그럴 때
정의역을 “출력이 있는 부분”으로 줄여 잡는다(문제 12의 수리법).
4 두 조건에 이름 붙이기 — 전체성과 유일성#
\(\exists!\)는 26주차에서 두 의무로 쪼갠 기호다. 함수 정의에서도 그대로 쪼갠다.
이름 |
조건 |
위반의 모습 |
|---|---|---|
전체성(totality) |
모든 \(a \in A\)에 대해 \((a, b) \in f\)인 \(b\)가 적어도 하나 |
입력 \(a\)의 순서쌍이 하나도 없다 |
유일성(single-valued) |
그런 \(b\)가 많아야 하나 |
\((a, b)\)와 \((a, b')\)이 공존하고 \(b \neq b'\) |
확인 5. 위 표의 \(S_2\)와 \(S_3\)은 각각 어느 조건을 어겼는가. 그리고 그 조건은
\(\exists!\)의 두 의무 중 어느 쪽에 해당하는가.
답
\(S_2\)는 전체성 위반(입력 3의 순서쌍 부재) — \(\exists!\)의 존재 의무 쪽이다.
\(S_3\)은 유일성 위반(\((1,5)\)와 \((1,7)\) 공존) — \(\exists!\)의 유일 의무 쪽이다.
두 의무가 독립이므로 위반도 각각 따로 일어나고, 둘 다 어기는 관계도 있다.
수직선 테스트의 정체. 고1에서 “세로선이 그래프와 두 번 만나면 함수가 아니다”라고 배운 규칙은 위 두 조건의 기하 번역이다. 세로선 \(x = c\)와의 교점 개수가 곧 입력 \(c\)의 순서쌍 개수이므로, 교점이 둘 이상이면 유일성 위반이고 하나도 없으면 전체성 위반이다. 새 규칙이 아니라 §1.2에서 센 개수를 눈으로 세는 방법이다.
확인 6. \(\mathbb{R}\)에서 \(\mathbb{R}\)로의 관계 \(\{(x, y) : y = x^3\}\)을 세로선의
언어로 판정해 보자. 임의의 실수 \(c\)에 대해 세로선 \(x = c\)와의 교점은 몇 개인가.
답
정확히 한 개 — 점 \((c, c^3)\)뿐이다. 실수 \(c\)마다 \(c^3\)은 하나로 확정되므로
개수가 \(1\)이고, 모든 \(c\)에서 그러하므로 두 조건을 모두 통과한다. 함수다.
5 정의역·공역·치역 — 선언된 범위와 실제 출력#
정의 40.1은 \(A\)와 \(B\)의 이름만 정했다. 실제로 출력되는 값들의 집합에는 따로 이름이 필요하다.
정의 40.2 — 치역 (range) [백지 암기 대상]#
함수 \(f : A \to B\)에 대해, \(f\)의 치역은
— 실제로 출력되는 값 전부의 집합이다. 언제나 치역 \(\subseteq\) 공역이며,
일반적으로 둘은 같지 않다.
기호 \(f(A)\)는 “에프 오브 에이”로 읽는다. 괄호 안에 원소가 들어간 \(f(a)\)와 집합이 들어간 \(f(A)\)는 다른 대상이다 — 앞의 것은 공역의 원소이고, 뒤의 것은 공역의 부분집합이다. 공역은 함수를 선언할 때 “출력이 이 집합 안에 있다”고 미리 정해 둔 범위이고, 치역은 실제로 출력되는 값 전부의 집합이다. 선언은 넉넉하게 해도 되므로 둘이 갈릴 수 있다.
확인 7. \(f : \mathbb{Z} \to \mathbb{Z}\), \(f(n) = 2n\)의 치역을 조건제시법으로
적어 보자: \(f(\mathbb{Z}) = \{\underline{\qquad}\}\). 공역과 같은가?
답
\(f(\mathbb{Z}) = \{2k : k \in \mathbb{Z}\}\) — 짝수 전체다(정의 1.1의 꼴 그대로).
공역은 \(\mathbb{Z}\)이므로 같지 않다. 홀수는 공역에는 있지만 치역에는 없다.
치역과 공역이 언제 일치하는가는 41주차의 전사가 다루는 주제다.
6 함수의 상등 — 기준이 세 개인 이유#
정의 40.1 뒤에서 확인한 대로 함수의 선언은 세 정보(정의역, 공역, 순서쌍 집합)로 이루어지므로, 두 함수의 상등도 이 세 정보의 상등이다. 셋째 정보인 순서쌍 집합의 상등은 집합 상등(3주차)이고, 정의역이 같을 때 그것은 “모든 입력에서 값이 일치한다”와 같은 말이다 — 곧 아래 기준의 셋째에 해당한다. 공역은 순서쌍만 봐서는 복원되지 않는다 — 정의역이 \(\mathbb{Z}\)이고 \(f(n) = 2n\)인 함수는 공역을 \(\mathbb{Z}\)로 선언하든 짝수 전체의 집합 \(E\)로 선언하든 순서쌍 집합이 똑같다. 공역이 기준에 따로 들어가는 것은 조건을 하나 더 얹기 때문이 아니라 애초에 선언의 일부이기 때문이다.
백지 암기 대상
함수의 상등
\(f = g\) \(\iff\) 정의역이 같고, 공역이 같고, 정의역의 모든 \(a\)에 대해 \(f(a) = g(a)\)이다.
따름. 식이 같아도 정의역이 다르면 다른 함수다 — 정의역이 달라지면 순서쌍의 목록 자체가 달라진다. 거꾸로 식이 달라 보여도 같은 함수일 수 있다 — 식의 생김새는 기준 세 개에 들어 있지 않기 때문이다(문제 9).
확인 8. \(f : \mathbb{R} \to \mathbb{R}\), \(f(x) = x^2\)과 \(g : \mathbb{N} \to \mathbb{R}\),
\(g(x) = x^2\)은 같은 함수인가. 세 기준 중 어느 것부터 검사하는가.
답
다른 함수다. 첫째 기준(정의역)에서 이미 갈린다 — \(\mathbb{R} \neq \mathbb{N}\)이다.
순서쌍으로 확인해도 같은 결론이 나온다: \((-1, 1) \in f\)이지만 \(-1 \notin \mathbb{N}\)이므로
\((-1, 1) \notin g\)이다. 값 비교(\(f(x) = g(x)\))는 정의역이 같은 뒤에나 할 일이므로,
검사는 언제나 정의역 \(\to\) 공역 \(\to\) 값의 순서로 한다.
7 \(\mathbb{Z}_n\) 위의 함수 — 잘 정의됨 검문이 다시 필요한 자리#
정의역의 원소가 동치류일 때는 사정이 하나 더 있다. 입력 하나에 이름이 여러 개 붙어 있기 때문이다(\([0] = [4] = [8] = \cdots\)). “대표원을 골라 계산한다”는 규칙은 고른 대표원에 따라 답이 갈릴 수 있고, 갈리는 순간 한 입력에 두 출력이 된다. 따라서 \(\mathbb{Z}_n\) 위의 규칙은 잘 정의됨 검문(38주차 정의 38.2)을 통과해야 비로소 함수 자격을 얻는다. 절차는 38주차의 왕복 서식 그대로다: ① 이름 두 벌을 잡는다 \(\to\) ② 합동으로 번역한다 \(\to\) ③ (C4)/(C5) 등으로 보존을 확인한다 \(\to\) ④ 방의 언어로 역번역한다.
확인 9. 준비 운동 3번의 \(h([a]) = [2^a]\)가 함수가 아니라는 결론을,
정의 40.1의 어느 조각을 어겼다고 말해야 하는가.
답
“유일하게”를 어겼다 — 유일성 위반이다. \([0]\)과 \([4]\)는 표기만 다른 같은 입력이므로,
\(([0], [1])\)과 \(([0], [0])\)이 둘 다 \(h\)에 들어가는 것이 되어 한 입력에 출력이 둘이다.
잘 정의됨 검문은 새 조건이 아니라 이름이 여러 개인 세계에서 유일성 조건을 확인하는
절차다(문제 20(b)가 이 문장을 직접 쓰는 자리다).
8 근거 목록 갱신 — 칸은 그대로 네 개#
증명에서 쓸 수 있는 것은 여전히 네 칸이다. 늘어나는 것은 칸이 아니라 내용물이다.
근거 |
내용 |
이번 주에는 이렇게 쓴다 |
|---|---|---|
① 정의 |
1~39주차의 정의 전부 + 정의 40.1(함수), 40.2(치역), 함수 상등의 세 기준 |
“\(y \in f(A)\)”를 “\(y = f(a)\)인 \(a \in A\)가 존재”로 푼다 |
② 닫힘성 |
정수의 합\(\cdot\)차\(\cdot\)곱은 정수 |
“\(2k+1\)의 \(k\)는 정수이므로”를 별도 설명 없이 쓴다 |
③ 등식의 성질 |
대입 / 전개 / 묶기 / 양변에 같은 것을 연산 |
\(y = \frac{x+1}{x-2}\)의 양변에 \(x - 2\)를 곱해 \(x\)에 관해 푼다 |
④ 이미 증명한 명제 |
27주차의 집합 상등 서식, 37주차 문제 8(분할 정리), 37주차 핵심 정리, 20주차 (C1)~(C5), 38주차 정의 38.2(잘 정의됨), 31주차 문제 13(거듭제곱 보존), 25주차 문제 17(합동 mod 2와 홀짝), 17주차 나눗셈 정리, 16주차 §1.2 인정 사실(제곱근의 존재와 유일), 16주차 (W1)(모든 실수 \(x\)에 대해 \(x^2 \ge 0\)), 12주차 곱셈 원리 + 이번 주의 예제와 문제 |
“분할 정리에 의해 \(n\)이 속하는 동치류는 하나뿐이다”가 문제 13의 표준 문구다 |
목록 밖의 것은 이번 주에도 근거가 되지 않는다. 특히 그래프의 모양은 목록에 없다 — “그려 보니 세로선과 한 번 만난다”는 관찰은 “\((c, b)\)와 \((c, b')\)이 둘 다 관계에 속하면 \(b = b'\)이다”라는 순서쌍 문장으로 바꿔 적어야 근거가 된다.
확인 10. 어떤 답안에 다음 세 문장이 나왔다. 각각 허용되는가.
허용된다면 몇 번 근거인가.
(가) “\(y \in f(\mathbb{Z})\)이므로 \(y = f(n)\)인 정수 \(n\)이 존재한다.”
(나) “그래프를 그려 보니 예쁜 곡선이므로 함수이다.”
(다) “\([a] = [a']\)이므로 37주차 핵심 정리에 의해 \(a \equiv a' \pmod n\)이다.”
답
(가) 허용 — 근거 ① 정의. 정의 40.2를 그대로 푼 것이다.
(나) 불허 — 그림의 인상은 목록 밖이다. 같은 내용을 세로선의 교점 개수로,
다시 순서쌍의 개수로 바꿔 적으면 근거 ①이 되어 허용된다.
(다) 허용 — 근거 ④. 37주차에서 증명이 끝난 정리이므로 이름으로 인용한다.
정의는 외운다 — [백지 암기 대상] 표시가 그 대상이다. 문장만 외우지 말고 §1.3의 조각별 이유와 함께 외운다. 조각을 잊어도 이유에서 재구성할 수 있다.