해석학과 위상수학에서 **상반연속 함수**(上半連續函數, 영어: upper semicontinuous function)와 **하반연속 함수**(下半連續函數, 영어: lower semicontinuous function)는 연속 함수의 성질을 약화한 개념이다. 대략, 상반연속 함수에서, 정의역의 점이 x에 가까울 때 함수의 값은 f(x)에 가깝거나 보다 작다. 반대로, 하반연속 함수의 정의역의 점이 x에 가까우면 함수 값은 f(x)에 가깝거나 크다.

정의
--

위상 공간 X에서 전순서 집합 {\displaystyle (Y,\leq )}로 가는 함수 f\colon X\to Y가 다음 조건을 만족시키면, **상반연속 함수**라고 한다.

* Y에 하위상을 가했을 때, f는 연속 함수이다. 즉, 임의의 y\in Y에 대하여, {\displaystyle \{x\in X\colon f(x)<y\}}는 열린집합이다.

마찬가지로, f가 다음 조건을 만족시키면, **하반연속 함수**라고 한다.

* Y에 상위상을 가했을 때, f는 연속 함수이다. 즉, 임의의 y\in Y에 대하여, {\displaystyle \{x\in X\colon f(x)>y\}}는 열린집합이다.

### 실수 값 함수

실수 값의 함수의 경우 상·하반연속 함수의 개념은 상극한과 하극한을 통해 정의할 수 있다. 즉, 위상 공간 X에서 실수선으로 가는 함수 f\colon X\to {\mathbb R}가 주어졌을 때, 다음 두 조건이 서로 동치이다.

* 상반연속 함수이다.
* 임의의 x\in X에 대하여, {\displaystyle \limsup \_{y\to x}f(y)\leq f(x)}

마찬가지로, 다음 두 조건이 서로 동치이다.

* 하반연속 함수이다.
* 임의의 x\in X에 대하여, {\displaystyle \liminf \_{y\to x}f(y)\geq f(x)}

성질
--

위상 공간 X에서 전순서 집합 {\displaystyle (Y,\leq )}로 가는 함수 f\colon X\to Y에 대하여, 다음 두 조건이 서로 동치이다.

* f는 상반연속 함수이다.
* f를 반대 전순서 집합 {\displaystyle (Y,\leq )^{\operatorname {op} }=(Y,\geq )}를 공역으로 하는 함수로 여겼을 때, 하반연속 함수이다.

특히, x\mapsto-x가 실수의 전순서 집합과 그 반대 전순서 집합 사이의 순서 동형이므로, 위상 공간 X에서 실수선으로 가는 함수 f\colon X\to {\mathbb R}에 대하여, 다음 두 조건이 서로 동치이다.

* f는 상반연속 함수이다.
* {\displaystyle -f}는 하반연속 함수이다.

### 연속 함수와의 관계

위상 공간 X에서 전순서 집합 {\displaystyle (Y,\leq )}로 가는 함수 f\colon X\to Y에 대하여, 다음 두 조건이 서로 동치이다.

* 공역에 순서 위상을 가했을 때, 연속 함수이다.
* 상반연속 함수이자 하반연속 함수이다.

실수 값의 경우, 상반연속 또는 하반연속 함수 X\to {\mathbb R}의 불연속점의 집합은 제1 범주 집합을 이룬다.

### 정규성과의 관계

위상 공간 X에 대하여, 다음 두 조건이 서로 동치이다.

* 정규 공간이다.
* 임의의 상반연속 함수 f\colon X\to {\mathbb R} 및 하반연속 함수 {\displaystyle g\colon X\to \mathbb {R} }에 대하여, 만약 {\displaystyle \forall x\in X\colon f(x)\leq g(x)}라면, {\displaystyle \forall x\in X\colon f(x)\leq h(x)\leq g(x)}인 연속 함수 {\displaystyle h\colon X\to \mathbb {R} }가 존재한다.

위상 공간 X에 대하여, 다음 두 조건이 서로 동치이다.

* 완전 정규 공간이다.
* 임의의 상반연속 함수 f\colon X\to {\mathbb R} 및 하반연속 함수 {\displaystyle g\colon X\to \mathbb {R} }에 대하여, 만약 {\displaystyle \forall x\in X\colon f(x)\leq g(x)}라면, {\displaystyle \forall x\in X\colon f(x)\leq h(x)\leq g(x)}이며, {\displaystyle f(x)<g(x)}일 때 {\displaystyle f(x)<h(x)<g(x)}인 연속 함수 {\displaystyle h\colon X\to \mathbb {R} }가 존재한다.

### 연산에 대한 닫힘

임의의 상(하)반연속 함수 f,g\colon X\to Y에 대하여,

{\displaystyle x\mapsto \min\{f(x),g(x)\}}
{\displaystyle x\mapsto \max\{f(x),g(x)\}}
는 둘 다 상(하)반연속 함수이다.

임의의 상(하)반연속 함수 f,g\colon X\to {\mathbb R}에 대하여, 두 함수의 합

{\displaystyle f+g\colon X\to \mathbb {R} }
는 상(하)반연속 함수이다.

임의의 상(하)반연속 함수 {\displaystyle f,g\colon X\to [0,\infty )}에 대하여, 곱

{\displaystyle f\cdot g\colon X\to [0,\infty )}
는 상(하)반연속 함수이다.

예
-

위에서 반연속인 함수. 진한 푸른 점은 f(c)를 의미한다.
다음과 같이 조각적으로 정의된 함수 f = −1 (x < 0 에 대해) and f = 1 (x ≥ 0 에 대해)를 생각해보자. 이 함수는 c = 0에서 위에서 반연속이다. 하지만 아래서 반연속은 아니다.

아래서 반연속인 함수. 진한 푸른 점은 f(c)를 의미한다.
x보다 같거나 작은 정수 중 가장 큰 값을 주는 내림함수 f(x)=⌊x⌋는 전구간에서 위에서 반연속이다. 비슷하게, 올림함수 f(x)=⌈x⌉는 아래로 반연속이다.

또한, 굳이 좌연속 또는 우연속일 필요 없이 함수는 반연속성을 가질 수 있다. 예를 들어, 함수

f(x)={\begin{cases}x^{2}&{\text{if }}0\leq x<1,\\2&{\text{if }}x=1,\\1/2+(1-x)&{\text{if }}x>1,\end{cases}}
는 x = 1에서 좌연속 또는 우연속도 아니지만 위에서 반연속이다. 우극한의 값은 1/2, 좌극한의 값은 1이지만, 둘 다 2보다는 작다. 비슷하게 함수

f(x)={\begin{cases}\sin(1/x)&{\text{if }}x\neq 0,\\1&{\text{if }}x=0,\end{cases}}
는 x = 0에서 좌극한과 우극한이 존재하진 않지만, 위에서 반연속이다.