01. 첫 번째 수업: 집합과 대응 관계 (Domain and Codomain)
아무 자판기 기계나 만들었다고 무조건 합격 도장을 받고 ‘완벽한 함수(Function)’ 라고 불릴 수 있는 것은 아닙니다. 수학 세계 품질 검사 통과 규칙은 아주 엄격합니다. 애매모호함이나 버그(Bug)가 발생하는 기계를 불량품 함수로 즉각 폐기 처분합니다.
도대체 어떤 규칙을 지켜야 진정한 함수 $f(x)$ 로 인정받을 수 있을까요?
1. 정의역(Domain)과 공역(Codomain) 시스템
함수 기계를 작동시키기 전, 우리는 사용 가능한 동전 종류(입력 데이터 풀)와, 튀어나올 캔 음료 종류(출력 타깃 풀)의 명세서를 작성해야 합니다.
- 정의역(Domain): 자판기에 집어넣기를 ‘허락된(정의된)’ 원인 데이터, 즉 입력 $X$ 들의 대기실(집합) 입니다.
- “이 자판기는 100원, 500원 단 2종류의 동전 $X$ 만 들어갈 수 있습니다.”
- 공역(Codomain): 자판기가 취급하는 제품 창고의 종류 리스트 표, 즉 타깃이 될 잠재적 결과 $Y$ 들의 메뉴판(집합) 입니다.
- “이 자판기는 사이다, 콜라, 환타 라는 3종류 메뉴 $Y$ 만 가지고 있습니다.”
- 치역(Range): 헷갈리면 안 됩니다! 치역은 공역(메뉴판) 중에서, 오늘 손님들에 의해 “실제로 버튼이 눌려 팔려나간 화살표를 맞은 진짜 $Y$ 결과물들만의 핵심 모임” 입니다.
- “오늘 100원, 500원을 넣었더니 자판기 로직에 의해 사이다와 환타만 나왔다! (콜라는 아무도 못 고름). 치역은 {사이다, 환타} 야!”
2. 함수 품질 검사 통과 로직 (The 2 Rules)
입력그룹 $X$ 와 출력그룹 $Y$ 가 화살표를 주고받는 미팅(대응, Mapping) 을 시작할 때, 함수가 되기 위한 엄격한 2가지 로깅(Logging) 규칙이 있습니다.
🚨 규칙 A: 입력 데이터는 반드시 1개의 결괏값만 뱉어야 한다 (One Input, One Output)
내가 $100$원 하나(원인 $X$) 를 버튼에 딱 집어넣었는데 자판기가 미쳐서 “콜라” 가 나왔다가 “환타”도 나왔다가 랜덤박스처럼 2~3개의 상품 $Y$ 를 마구잡이로 토해낸다면? 이것은 예측 불가능한 도박 버그 머신입니다! 수학의 함수는 1개의 $X$ 데이터 원인은 반드시 무조건 알트리 투명한 “단 1개의 결과 $Y$ 값” 만 정확하게 확정지어 뱉어내야 합니다. ($X$ 화살표 하나가 두 갈래로 나뉘어 배신하면, 함수 탈락 파문!)
🚨 규칙 B: 입력실($X$) 에 대기 중인 모든 놈은 반드시 출발해야 한다 (No Exeptions)
정의역 $X$ 그룹에 ${1, 2, 3}$ 이라는 대기자가 있다면, 이 세 마리는 가만히 있으면 안 됩니다. 반드시 한 번씩 기계에 갈려 들어가 화살표 빔을 뿜으며 $Y$ 결과로 연결 대응해야 무결성 함수로 인정받습니다. ($X$ 중 하나라도 “난 결과 안 뱉을래 미정숙이야” 라고 입력을 거부하면 셧다운 함수 탈락!)
💡 허용되는 규칙: 다대일 대응 (Many-to-One) 여러 명의 입력자 $X_1, X_2$ 가 단 하나의 똑같은 결과물(예: 둘 다 콜라만 버튼 누름) $Y_1$ 로 화살표를 몰빵해서 보내는 것은 “아주 정상적인 함수” 로 인정합니다! ($100$원을 넣든 $200$원을 넣든 결과가 무조건 사이다가 나오는 자판기 로직은 합법적 로직이니까요.)
이처럼 철저한 “1원인 확정 1결과” 인과율 규칙을 통과한 수학식만이 영광스러운 $f(x)$ 라는 황금 타이틀을 부여받게 됩니다. 이제 품질 검사를 넘은 이 함수 기계들이, 본격적으로 그래프 공간에 점을 찍으며 그림을 그려내는 공장 작업 현장을 다음 장에서 투어해봅시다.