@sripo

L1 = ab and L2 = a^{n}b^{n} n>0 , both are DCFL, what will be there union? a^{n}b^{n} n>0 which is again DCFL. This proves that union of 2 DCFL's can be a DCFL. I agree DCFL's are not closed under union, this implies that that their result may or may not be a DCFL. I don't think for a given language we can directly say as the union is not closed and hence the language is not closed. We need some analysis.

Now L1 intersection L2 gives all strings with equal no. of p,q,r,s. calculating union is pretty complicated though, according to union resultant language should accept equal no. of ps and qr or equal no. of pq and rs. So lets say I first started with equal no. of p's and s's and found out they are not equal, now I have to check again if there are equal no.of p's and q's. This can't be done by DCFL as stack will be used in first case(counting of p is gone) but I think it is quite possible by NPDA. Hence I can say that it is not a DCFL but a NCFL is possible, hence we can say DCFL is not possible but language is cfl.

If they would not have subtracted L1 intersection L2 then we could have had problem as we can't design a pda with equal no. of pqrs.