Riemann-Roch for vector bundles The Riemann-Roch theorem is one of the most essential theorems on Riemann Surfaces, or so I am told. I have encountered two formulations for vector bundles (and clearly there are many more), and I am trying to understand why it is that they are equivalent. I would greately appreciate some explanation of this issue.
In either case, we are given a compact Riemann surface $\Sigma$, and and a holomorphic line bundle $E$ over $\Sigma$. The genus of $\Sigma$ is $g$, and degree of $E$ is $d$. We consider the space of holomorphic functions by $H^0(E)$, and take $h^0(E) = \dim H^0(E)$.
Now, the first formulation says that:
$$
h^0(E) - h^0(E^{-1} \otimes K) = d + 1 - g
$$
where $K$ is the canonical bundle, and (I think) in this context the symbol $E^{-1}$ can be taken to mean just $E^*$ (the dual bundle) for reasons having to do with divisors.
Now, for the second formulation, we take $H^1(E)$ to be the quotient space of (the closed $1$-forms with coefficients in $E$) divided by (the exact $1$-forms with coefficients in $E$). We define $h^1(E) = \dim H^1(E)$ and the second version of the theorem says:
$$
h^0(E) - h^1(E) = d + 1 - g
$$
Now, it is far from clear for me why it is that these two formulations are equivalent. Unless I'm getting something seriously wrong here (rather plausible), it should hold that $ h^0(E^{-1} \otimes K) = h^1(E) $, but I would very much appreciate an explanation why it should be so. I would be also grateful for ideas, references and examples concerning computation of the quantities occurring in the Riemann-Roch formula (i.e. starting from a given Riemann surface and ending with (all but one of) $h^0(E), h^1(E), d, g$) [Note: this last question is realted to a homework I have].
Also, remarks on any blunders that I have written above are more than welcome (the only way to get rid of one's misconceptions, I guess).
 A: 1) For a line bundle $E$ the notation $E^{-1}$ is used for the dual $E^*$ because of the canonical isomorphism  of line bundles $$ E\otimes E^*\stackrel {\cong }{\to } X\times \mathbb C: x\otimes \phi \mapsto \phi(x)           $$ 
This says that in the Picard group $Pic(X)$ of $X$ , which is the group of equivalence classes of holomorphic line bundles on $X$, (the class of) $E^*$ is the inverse $E^{-1}$ of $E$ in the group-theoretic sense.  
2) As Adam wrote in the comment, the equality of integers $h^1(E)=h^0(E^*\otimes K)$ comes from Serre duality.
Serre duality more precisely says that there is a non-degenerate pairing 
$$   \Gamma(X,E^*\otimes K)\otimes H^1(X,E)\to \mathbb C                $$
from which follows that each of the two finite dimensional $\mathbb C$-vector spaces $\Gamma(X,E^*\otimes K)$ and $ H^1(X,E)$ can be considered the dual of the other and this of course implies $h^1(E)=h^0(E^*\otimes K)$ 
3) Here are a few  example of use of Riemann-Roch coupled with  Serre duality.
a)  If $E=\mathcal O$, you get $h^1(\mathcal O)=h^0( K)$: these are the two possible definitions of the genus $g$ of $X$ .    
b) From $h^0( K)-h^1( K)=1-g+deg (K)$ you get $g-h^0( K^*\otimes K)=g-1=1-g+deg (K)$ so that $deg(K)=2g-2$.
This is a very concrete result: it says that if you take any non-zero meromorphic one-form $\omega$ its divisor (of zeros and poles) $div(\omega)$ will have degree $2g-2$  .
c) The best thing a cohomolgy group can do to please us mathematicians is to vanish!
Serre duality implies that a line bundle $E$ of degree $deg(E)\geq 2g-1$ will have $h^1(E)=h^0(E^*\otimes K)=0$ . Indeed  the line bundle $E^*\otimes K$ only has  zero as holomorphic section since its degree is negative: $-deg (E)+2g-2\lt 0$.
Riemann-Roch then gives the completely explicit formula involving no cohomology: $$h^0(E)=1-g+deg (E)$$
A: Here is a quite original proof without using Serre's duality. It's left to prove that the dualizing sheaf is the differentials if we work on smooth curves:
Given an algebraic curve $(C,O_C)$ (complete, over $k$) , the idea is to consider the functor $H^1(C, \_)^*$ over the category of quasi-coherent $O_C$-modules. This functor is left exact (because $H^i(C,M)=0$ for $i>1$) and transforms inductive limits in projective limits, so it is representable by a pair $(\omega_C, res)$ where we call $\omega_C$ the dualizing sheaf and $res\in H^1(X, \_)^*$ will be the classical residue when working over $\mathbb{C}$ (and considering the differentials). In other words, for all  quasi-coherent module $M$ we have: $$H^1(X,M)=Hom_{O_X}(M,\omega_X)$$ (where $Hom_{O_X}(\_,\_)$ is the global sections of the homomorphism sheaf).
Then we can prove Riemann-Roch theorem (for singular curves):
Let $C$ be as before, $D=\sum_{i=1}^{k} n_i x_i$ a divisor of non-singular points and $L_D$ the associated line bundle. Then:
$$h^0(L_D)-h^0(\omega_C\otimes_{O_C}L_{-D})= \chi(C,O_C)+ deg(D)$$
where $h^i$ stands for the dimension of the $i$-th cohomology group.
Proof:
By definition we have $$H^1(C, L_D)^*=Hom_{O_C}(L_D,\omega_{C})=Hom_{O_C}(O_C, L_{-D}\otimes_{O_C}\omega_{C})=H^0(X,L_D\otimes_{O_C}\omega_{C})$$ so $h^1(L_D)=h^0(\omega_C\otimes_{O_C}L_{-D})$ and we conclude by weak Riemann-Roch.
Weak Rieman-Roch:(see Hartshorne for instance)
With same notations as in the preceding theorem:
$$  \chi(C,L_D)=\chi(C,O_C)+ deg(D)$$
