Cut elimination theorem