I know very little about the Pfaffian or how it works, and I'm new at Riemannian geometry in general. But I was wondering if there is some way to make this "intuitive" argument for the fact that a fiber bundle satisfies $\chi(\text{bundle}) = \chi(\text{fiber})\chi(\text{base})$ rigorous.

- Say you've got a surjective smooth submersion $\widetilde{M} \rightarrow M$ that's also a (smooth?) fiber bundle. (Assume all the manifolds are compact... though I wish there were some weaker condition than that for the Gauss-Bonnet theorem to apply. It'd be nice if one could make sense of it whenever the manifold had finitely generated cohomology).
- EDIT: See update below.
~~Slap Riemannian metrics on $\widetilde{M}$ and $M$ so that the submersion is a Riemannian submersion. (I just feel like one would need this in step 4. The other thing that would make sense is if we could somehow put a Riemannian metric on $\widetilde{M}$ that would be the 'twisted product' of Riemannian metrics on $F$ and $M$- whatever that means).~~ - By the Generalized Gauss-Bonnet Theorem, $\int_{\widetilde{M}}Pf(\Omega_{\widetilde{M}}) = (2\pi)^n \chi(\widetilde{M})$.
- And here's the thing that seems the hardest to make rigorous (though who knows, I may have already been wrong at step 2): I want to say that $\int_{\widetilde{M}}Pf(\Omega_{\widetilde{M}}) = \int_M\int_F Pf(\Omega_F)Pf(\Omega_M) = (2\pi)^k(2\pi^{n-k})\chi(F)\chi(M)$.

In order for this to even start making sense there would have to be some sense in which an analog of Fubini's theorem works for twisted products. I'd also need the Pfaffian to satisfy the identity that I want it to satisfy in this case (which I think follows from the fact that if we have a direct sum of matrices, $A \oplus B$, then $Pf(A \oplus B) = Pf(A)Pf(B)$.) So: is there any way to actually make this argument stand? (I think that it would work for a trivial fibration, but that's no fun.)

So far I only know how to prove this product formula using a spectral sequence, so it'd be cool if this were a legitimate way of visualizing it in this special case.

Updates: First of all, it turns out that there is a Fubini's theorem for local products (see Generlized Curvature by Jean-Marie Morvan). Instead of Step 2 I think what we want is to put a metric on $M$, and then put metrics $h_x$ on $F_x$ (the fiber over $x$) that somehow 'varies smoothly with $x$' (hopefully that's possible) and then define a metric on $\widetilde{M}$ by breaking every vector into its horizontal and vertical pieces and applying the metric on $M$ and $F$ separately. Pretty much by definition this should make $\Omega_{\widetilde{M}}$ be the matrix $\Omega_M \oplus \Omega_F$ (I think?) and then the result should follow.

So I still have details to work out- and I'll keep thinking about it, but in the meantime if any of you have seen this before, then a reference would be really helpful! I'm afraid I've done something silly, or I'm assuming something I can't...