I can show that this is true for your "simple" case. ---------- *If g(x,y) ∈ C<sup>∞</sup>(ℝ<sup>2</sup>) vanishes on x ≤ 0 then it decomposes as g(x,y) = a(x)G(x,y) where a(x) ∈ C<sup>∞</sup>(ℝ) vanishes on x ≤ 0 and G(x,y) ∈ C<sup>∞</sup>(ℝ<sup>2</sup>).* ---------- This can be shown by proving the statements below. They could possibly be standard results, but I've never seen them before. The proofs are a bit sketchy at the moment, but I think they're good. First, I'll refer to the following sets of functions. - Let *U* be thet set of functions f(x)∈C<sup>∞</sup>(ℝ) which vanish on x≤0 and are positive on x>0. - Let *V* be the set of functions f:ℝ<sup>+</sup>→ℝ such that x<sup>-n</sup>f(x)→0 as x→0, for each positive integer n. The statements I need to show the main result are as follows. **Lemma 1**: *For any f∈V, there is a g∈U such that f(x)/g(x)→0 as x→0.* *Sketch proof*: Choose any smooth function r:ℝ<sup>+</sup>→ℝ<sup>+</sup> with r(x)≥1 for small x, and r(x)=0 for x≥1. For example, we can use r(x) = exp(2-1/(1-x)) for x≤1. Then, the idea is to choose a sequence of positive reals α<sub>k</sub>→0, |α|≤1 and set $$ g(x)=x^{\sum_kr_k(x/\alpha_k)}={\rm exp}\left({\rm log}(x)\sum_kr_k(x/\alpha_k)\right)$$ for x>0 and g(x)=0 for x≤0. Only finitely many terms in the summation will be nonzero outside any neighborhood of 0, so it is a well defined expression, and smooth on x>0. The n<sup>th</sup> derivative is bounded by K<sub>n</sub>x<sup>-n</sup>g(x)Σ<sub>k</sub>1<sub>{x<α<sub>k</sub>}</sub>α<sub>k</sub><sup>-n</sup>, for positive constants K<sub>n</sub>. As long as α<sub>k</sub> go to zero fast enough, this goes to zero as x→0, so g∈C<sup>∞</sup>(ℝ). By definition of f∈V, there is a decreasing sequence of positive reals ε<sub>k</sub> such that f(x)≤x<sup>n</sup> for x≤ε<sub>n</sub>. We just need to make sure that α<sub>k</sub>≤ε<sub>n+1</sub> for k≥n to ensure that f(x)/g(x) goes to zero at rate x as x→0. **Lemma 2**: For any sequence f<sub>1</sub>,f<sub>2</sub>,...∈V there is a g∈U such that f<sub>k</sub>(x)/g(x)→0 as x→0 for all k. *Sketch Proof*: The idea is to apply Lemma 1 to f(x)=Σ<sub>k</sub>λ<sub>k</sub>|f<sub>k</sub>(x)| for positive reals λ<sub>k</sub>. This works as long as f∈V, which is the case if Σ<sub>k</sub>λ<sub>k</sub>min(x,1)<sup>-k</sup>sup<sub>x≤k</sub>|f<sub>k</sub>(x)| is finite, and this condition is easy to ensure. **Lemma 3**: For any sequence f<sub>1</sub>,f<sub>2</sub>,...∈V there is a g∈U such that f<sub>k</sub>(x)/g(x)<sup>n</sup>→0 as x→0 for all positive integers k,n. *Proof*: Apply Lemma 2 to the doubly indexed sequence f<sub>k,n</sub>=|f<sub>k</sub>|<sup>1/n</sup>. The result follows from applying lemma 3 to the triply indexed sequence f<sub>i,j,k</sub>(x)=max{|(d<sup>i+j</sup>/dx<sup>i</sup>dy<sup>j</sup>)g(x,y)|:|y|≤k}∈V. Then, there is an a∈U such that f<sub>ijk</sub>(x)/a(x)<sup>n</sup>→0 as x→0. Set G(x,y) = f(x,y)/a(x) for x>0 and G(x,y) = 0 for x ≤ 0. On any bounded region for x>0, the derivatives of G(x,y) to any order is a sum of terms, each of which is a product of f<sub>ijk</sub>(x,y)/a(x)<sup>n</sup> with derivatives of a(x), so this vanishes as x→0. Therefore, G∈C<sup>∞</sup>(ℝ<sup>2</sup>).