Теоре́ма Ка́нтора — Бернште́йна (в англ. литературе теоре́ма Ка́нтора — Бернште́йна — Шрёдера), утверждает, что если существуют инъективные отображения

  
    
      
        f
        :
        A
        →
        B
      
    
    {\displaystyle f:A\to B}
  
 и 
  
    
      
        g
        :
        B
        →
        A
      
    
    {\displaystyle g:B\to A}
  
 между множествами

  
    
      
        A
      
    
    {\displaystyle A}
  
 и 
  
    
      
        B
      
    
    {\displaystyle B}
  
, то существует взаимооднозначное отображение

  
    
      
        h
        :
        A
        →
        B
      
    
    {\displaystyle h:A\to B}
  
. Другими словами, что мощности множеств 
  
    
      
        A
      
    
    {\displaystyle A}
  
 и 
  
    
      
        B
      
    
    {\displaystyle B}
  
 совпадают:
 Другими словами, теорема утверждает следующее:
 Из 
  
    
      
        
          
            a
          
        
        ⩽
        
          
            b
          
        
      
    
    {\displaystyle {\mathfrak {a}}\leqslant {\mathfrak {b}}}
  
 и 
  
    
      
        
          
            b
          
        
        ⩽
        
          
            a
          
        
      
    
    {\displaystyle {\mathfrak {b}}\leqslant {\mathfrak {a}}}
  
 следует, что 
  
    
      
        
          
            a
          
        
        =
        
          
            b
          
        
        ,
      
    
    {\displaystyle {\mathfrak {a}}={\mathfrak {b}},}
  
 где 
  
    
      
        
          
            a
          
        
        ,
        
          
            b
          
        
      
    
    {\displaystyle {\mathfrak {a}},{\mathfrak {b}}}
  
 — кардинальные числа.
 Теорема названа в честь Георга Кантора, Феликса Бернштейна и Эрнста Шрёдера.
 Первоначальное доказательство использовало аксиому выбора, однако эта аксиома необязательна для доказательства данной теоремы.
 Эрнст Шрёдер первым сформулировал теорему, но опубликовал неправильное доказательство.
Независимо эта теорема была сформулирована Кантором. Ученик Кантора Феликс Бернштейн опубликовал диссертацию, содержащую полностью корректное доказательство.
 Пусть
 и
 и
 Тогда для любого 
  
    
      
        x
        ∈
        A
      
    
    {\displaystyle x\in A}
  
 положим
 Если 
  
    
      
        x
      
    
    {\displaystyle x}
  
 не лежит в 
  
    
      
        C
      
    
    {\displaystyle C}
  
, тогда 
  
    
      
        x
      
    
    {\displaystyle x}
  
 должен быть в 
  
    
      
        g
        (
        B
        )
      
    
    {\displaystyle g(B)}
  
 (образе множества 
  
    
      
        B
      
    
    {\displaystyle B}
  
 под действием отображения 
  
    
      
        g
      
    
    {\displaystyle g}
  
). И тогда существует 
  
    
      
        
          g
          
            −
            1
          
        
        (
        x
        )
      
    
    {\displaystyle g^{-1}(x)}
  
, и 
  
    
      
        h
      
    
    {\displaystyle h}
  
 отображение.
 Осталось проверить, что 
  
    
      
        h
        :
        A
        →
        B
      
    
    {\displaystyle h:A\to B}
  
 — биекция.
 Нужно доказать, что 
  
    
      
        ∀
        y
        ∈
        B
        ∃
        x
        ∈
        A
        :
        h
        (
        x
        )
        =
        y
      
    
    {\displaystyle \forall y\in B\exists x\in A:h(x)=y}
  


  
    
      
        ∀
        y
        ∈
        B
      
    
    {\displaystyle \forall y\in B}
  

 
  
    
      
        
          I
        
         
         
         
      
    
    {\displaystyle \mathrm {I} \ \ \ }
  
 Если 
  
    
      
        y
        ∈
        f
        (
        C
        )
      
    
    {\displaystyle y\in f(C)}
  
, то 
  
    
      
        ∃
        x
        ∈
        C
        f
        (
        x
        )
        =
        y
      
    
    {\displaystyle \exists x\in Cf(x)=y}
  
. Тогда 
  
    
      
        h
        (
        x
        )
        =
        f
        (
        x
        )
        =
        y
      
    
    {\displaystyle h(x)=f(x)=y}
  

 
  
    
      
        
          I
          I
        
        
        y
        ∉
        f
        (
        C
        )
      
    
    {\displaystyle \mathrm {II} \;y\notin f(C)}
  

Пусть 
  
    
      
        x
        =
        g
        (
        y
        )
      
    
    {\displaystyle x=g(y)}
  
. Предположим, 
  
    
      
        x
        ∈
        C
      
    
    {\displaystyle x\in C}
  
. Тогда 
  
    
      
        x
        ∈
        
          C
          
            n
          
        
      
    
    {\displaystyle x\in C_{n}}
  
, при 
  
    
      
        n
        >
        0
      
    
    {\displaystyle n>0}
  
, значит 
  
    
      
        x
        ∈
        g
        (
        f
        (
        
          C
          
            n
            −
            1
          
        
        )
        )
      
    
    {\displaystyle x\in g(f(C_{n-1}))}
  
, 
  
    
      
        ⇒
        ∃
        c
        ∈
        
          C
          
            n
            −
            1
          
        
        
          
            
              
                x
                =
                g
                (
                f
                (
                c
                )
                )
              
            
            
              
                x
                =
                g
                (
                y
                )
              
            
          
        
        
          
            }
          
        
        ⇒
      
    
    {\displaystyle \Rightarrow \exists c\in C_{n-1}{\begin{matrix}x=g(f(c))\\x=g(y)\end{matrix}}{\Bigg \}}\Rightarrow }
  
, так как 
  
    
      
        g
      
    
    {\displaystyle g}
  
 — инъекция, то 
  
    
      
        y
        =
        f
        (
        c
        )
        ∈
        f
        (
        C
        )
      
    
    {\displaystyle y=f(c)\in f(C)}
  
, что противоречит предположению.
Значит 
  
    
      
        x
        ∉
        C
      
    
    {\displaystyle x\notin C}
  
. Тогда 
  
    
      
        h
        (
        x
        )
        =
        
          g
          
            −
            1
          
        
        (
        x
        )
        =
        
          g
          
            −
            1
          
        
        (
        g
        (
        y
        )
        )
        =
        y
      
    
    {\displaystyle h(x)=g^{-1}(x)=g^{-1}(g(y))=y}
  

 Нужно доказать, что 
  
    
      
        h
        (
        
          x
          
            1
          
        
        )
        =
        h
        (
        
          x
          
            2
          
        
        )
        ⇒
        
          x
          
            1
          
        
        =
        
          x
          
            2
          
        
      
    
    {\displaystyle h(x_{1})=h(x_{2})\Rightarrow x_{1}=x_{2}}
  

 
  
    
      
        
          I
        
        
        
          x
          
            1
          
        
        ,
        
          x
          
            2
          
        
        ∈
        C
      
    
    {\displaystyle \mathrm {I} \;x_{1},x_{2}\in C}
  


  
    
      
        f
        (
        
          x
          
            1
          
        
        )
        =
        f
        (
        
          x
          
            2
          
        
        )
        ⇒
        
          x
          
            1
          
        
        =
        
          x
          
            2
          
        
      
    
    {\displaystyle f(x_{1})=f(x_{2})\Rightarrow x_{1}=x_{2}}
  
 (
  
    
      
        f
      
    
    {\displaystyle f}
  
 — инъекция)
 
  
    
      
        
          I
          I
        
        
        
          x
          
            1
          
        
        ,
        
          x
          
            2
          
        
        ∉
        C
      
    
    {\displaystyle \mathrm {II} \;x_{1},x_{2}\notin C}
  


  
    
      
        
          g
          
            −
            1
          
        
        (
        
          x
          
            1
          
        
        )
        =
        
          g
          
            −
            1
          
        
        (
        
          x
          
            2
          
        
        )
        ⇒
        
          x
          
            1
          
        
        =
        g
        (
        
          g
          
            −
            1
          
        
        (
        
          x
          
            1
          
        
        )
        )
        =
        g
        (
        
          g
          
            −
            1
          
        
        (
        
          x
          
            2
          
        
        )
        )
        =
        
          x
          
            2
          
        
      
    
    {\displaystyle g^{-1}(x_{1})=g^{-1}(x_{2})\Rightarrow x_{1}=g(g^{-1}(x_{1}))=g(g^{-1}(x_{2}))=x_{2}}
  

 
  
    
      
        
          I
          I
          I
        
        
        
          x
          
            1
          
        
        ∈
        C
        ,
        
          x
          
            2
          
        
        ∉
        C
      
    
    {\displaystyle \mathrm {III} \;x_{1}\in C,x_{2}\notin C}
  


  
    
      
        h
        (
        
          x
          
            1
          
        
        )
        =
        f
        (
        
          x
          
            1
          
        
        )
        ,
        h
        (
        
          x
          
            2
          
        
        )
        =
        
          g
          
            −
            1
          
        
        (
        
          x
          
            2
          
        
        )
      
    
    {\displaystyle h(x_{1})=f(x_{1}),h(x_{2})=g^{-1}(x_{2})}
  


  
    
      
        h
        (
        
          x
          
            1
          
        
        )
        =
        h
        (
        
          x
          
            2
          
        
        )
      
    
    {\displaystyle h(x_{1})=h(x_{2})}
  


  
    
      
        
          x
          
            2
          
        
        =
        g
        (
        h
        (
        
          x
          
            2
          
        
        )
        )
        =
        g
        (
        h
        (
        
          x
          
            1
          
        
        )
        )
        =
        g
        (
        f
        (
        
          x
          
            1
          
        
        )
        )
        ∈
        C
      
    
    {\displaystyle x_{2}=g(h(x_{2}))=g(h(x_{1}))=g(f(x_{1}))\in C}
  
. Значит, этот случай невозможен.
 Определение отображения 
  
    
      
        h
      
    
    {\displaystyle h}
  
 выше неконструктивно, то есть не существует алгоритма определения за конечное число шагов, лежит ли некоторый элемент 
  
    
      
        x
      
    
    {\displaystyle x}
  
 множества 
  
    
      
        A
      
    
    {\displaystyle A}
  
 в множестве 
  
    
      
        C
      
    
    {\displaystyle C}
  
 или нет. Хотя для некоторых частных случаев такой алгоритм существует.