Rotschild&Stiglitz (RS) Equilibrium In their pathbreaking paper, Rothschild and Stiglitz define the RS Equilibrium as a set of contracts such that,
i) each firm breaks even
ii) there exists no other contracts making non-negative profits when offered.

And they show that no pooling equilibrium exists and there may only be a separating equilibrium.

In this separating equilibrium, high risks get full coverage but low risks only partial coverage with premia equal to loss probabilities respectively.

What would you think about another separating contract bundle, in which high risks are cross-subsidised by low risks, as shown in the graph with red insurance lines and green indifference curves (G, H)?

When the new bundle is offered, high risks would prefer it to E and low risks to F (see the indifference curves). And high risks are indifferent between G and H, as in the usual separating equilibrium. Of course, this new bundle wouldn’t make an equilibrium as the yellow shaded area attracts low risks only and it might be the case similar to pooling. 

However, wouldn’t the possibility of such bundles lead the usual separating contract to an instability? The new bundle making a non-negative profit seems to violate the second condition of Rothschild-Stiglitz equilibrium.



Numerical Example


Utility function: natural log 
Initial wealth=100
Loss in case of accident=90
Loss probability of low risks=0.1
Loss probability of high risks=0.9


1) Incentive Compatibility Constraint for Original RS Eq.

log(100-0.9*90)=0.9*log(100-0.1*x-90+x)+0.1*log(100-0.1*x)

where x is the partial coverage amount that low risks receive in original RS eq.
Matlab calculates;


x=6.455383900159773
Utility(Low risks)= 4.424718438632044


2) Low risks subsidising high risks

Add 0.08 to the premium of low risks and subtract the same amount from high risks. (P.S: This is just an example, I also have the number maximising the utility)


new coverage=15.424194558495868
new utility(low risks)=4.452073664660258
utility of high risks=3.265759410767051 (same for full coverage at higher premium and partial coverage at lower premium)


P.S: There is no need for computing the utility of high risks because they obviously reach to a higher utility level by still receiving a full coverage with a cheaper premium.

Finally, we see that new bundle beats the original RS bundle, doesn't it?

Below are the Matlab codes I made use of:

y=0.08 %subsidy amount
ICC = @(x) log(100-(0.9-y)*90) - 0.9*log(100-90-(0.1+y)*x+x) - 0.1*log(100-(0.1+y)*x); %Incentive Compatibility Constraint
z = fzero(ICC,50); %coverage amount of low risks WRT ICC
z
u=0.1*log(100-90-z*y+z)+0.9*log(100-z*y) %utility of low risks

Edit: I also might have a general algebraic proof, but I need to verify it and will share it here afterwards.
It is important to remember that figures are not proofs. Minor mistakes in the figure are hard to detect but can change the outcome. Algebra is much more reliable. 

Right now in your figure the low risk type consumers have indifference curves that are upward sloping somewhere. It seems though that is not critical here. 

The visualisation of subsidies seems to be the bigger issue.  You need G and H to be the same distance away from their respective original zero profit lines. Thus the 'new' isoprofit lines should run parallel to the old ones, and at the exact same distance.

It seems to me that it is impossible to place GH on these lines while preserving incentive compatibility because of the relative slopes. However, this is also not proof. If you outline an exact GH pair and type up the equations that you think show that they constitute an improvement while being incentive compatible, you may get better answers (as well as a better understanding of the model).

EDIT

It seems to me, that in your numerical example the subsidies do not cancel each other out. It is not enough to change the rates by the same percentage, because the different types do not buy the same amount of insurance.

It costs $8\% \cdot 90 = 7.2$ to subsidize the high risk types, but only $8\% \cdot 15.4242 \approx 2.78$ is collected from additional fees on the low risk types. If there are the same number of people in both types, this will not work. But it seems to work if there are for example three times as many low risk people. I actually find this very surprising. I checked both IC constraints and all the utilities, and everything seems to check out. 

Your new offers will definitely not be an equilibrium though. As long as one insurer offers the high risk insurance, other insurers can offer just the low risk one. With no high risk customers to subsidize, they will make a profit. By moving the high risk offer a bit more to the right they can siphon off all the low risk consumers from the cross-subsidizing insurance company, who will then suffer losses. So I guess the RS equilibrium is a kind of long run equilibrium.