Let M,N be real smooth manifolds and p:M-->N a smooth map. Then smooth functions on M form a module over the ring of smooth functions on N (via pullback). Is it know whether this module is flat when p is a submersion?

Recall that flatness is equivalent to the following: whenever h<sub>1</sub> ... h<sub>k</sub> are smooth functions on N and g<sub>1</sub> ... g<sub>k</sub> are smooth functions on M such that:

h<sub>1</sub>g<sub>1</sub> + ... + h<sub>k</sub>g<sub>k</sub> = 0 (as function on M)

then there are functions G<sub>1</sub> ... G<sub>r</sub> on M and a<sub>i,j</sub> on N such that:

g<sub>i</sub>= &Sigma;<sub>j</sub> a<sub>i,j</sub>G<sub>j</sub>  for all i

and &Sigma;<sub>i</sub> h<sub>i</sub> a<sub>i,j</sub>= 0  for all j.


Some remarks:

- This condition of flatness is equivalent to the usual one (see the comments below).

- It is known that the inclusion of an open subset into N is flat since smooth functions on an open U are obtained from the smooth functions on N by localizing w.r.t. functions vanishing nowhere on U.

- It is also known that a smooth flat map has to be open. Proofs of both of these facts can be found for example in the book: Gonzales, Salas, C^\infty
differentiable spaces, Lecture notes in Mathematics, Springer 2000.

- The equational condition of flatness I gave above seems to be the most reasonable thing to use trying to come up with a proof. But considering already the simplest situation here's what gets me stuck: suppose you want to check flatness of the standard projection of R^2 to R (by R I mean the reals), and consider the case of just one h(x) and g(x,y) such that hg=0. If you take h(x) to be a smooth function strictly positive for x<0 and 0 for x\geq 0, then the flatness condition translates into: 

Any smooth function g(x,y) vanishing the half plane x\leq 0 admits a "factorization":

g(x,y)=&Sigma;<sub>j</sub> a<sub>j</sub>(x)G<sub>j</sub>(x,y)

where the a<sub>j</sub>(x) are smooth functions vanishing on x\leq 0. (No restrictions on the G<sub>j</sub> except smoothness).

Anyone has an idea how to prove this, or knows how to come up with a counter example?