Definition of a Stochastic Integral for Simple/Elementary Stochastic Processes being well defined Often authors in stochastic calculus books define the set of all "simple" or elementary stochastic processes to be the set of all functions $H:\Omega\times[0,1]\longrightarrow \mathbb{R}$ such that:
\begin{equation*}
H(t,\omega):= \sum_{i=0}^N h_i(\omega) \chi_{(t_i,t_{i+1}]}(t) \qquad \forall (t,\omega) \in \Omega\times[0,1]
\end{equation*}
where:
1) $\chi$ is the indicator function of the interval $(t_i, t_{i+1}]$
2) $0 = t_0 < t_1 <...< t_{N+1} = 1$ is a partition of the interval $[0,1]$ 
3) $h_i$ is a $\mathscr{F}_{t_i}$-measurable function.
Let us define $\mathscr{H}$ to be the set of all such "simple/elementary stochastic processes". Now let $M:\Omega\times [0,1]\longrightarrow \mathbb{R}$ be a martingale such that $M_0 = 0$. Then they define the "stochastic integral with respect to the martingale $M$" to be:
\begin{equation*}
H\bullet M(\omega):= \sum_{i=0}^N h_i(\omega) \left( M_{t_{i+1}}(\omega) - M_{t_i}(\omega)\right)
\end{equation*}
My serious concern is, how do I know that this definition is well defined?!?! 
That is, if I have two representations of the function $H$, i.e.
\begin{equation*}
H(t,\omega)= \sum_{i=0}^N h_i(\omega) \chi_{(t_i,t_{i+1}]}(t) \qquad \forall (t,\omega) \in \Omega\times[0,1]
\end{equation*}
and also:
\begin{equation*}
H(t,\omega)= \sum_{j=0}^N h_j(\omega) \chi_{(s_j,s_{j+1}]}(t) \qquad \forall (t,\omega) \in \Omega\times[0,1]
\end{equation*}
Then how can I be sure that:
\begin{equation*}
\sum_{i=0}^N h_i(\omega) \left( M_{t_{i+1}}(\omega) - M_{t_i}(\omega)\right) = \sum_{j=0}^N h_j(\omega) \left( M_{s_{j+1}}(\omega) - M_{s_j}(\omega)\right)
\end{equation*}
This just does not seem obvious to me that this stochastic integral is well defined! In fact I have tried to painstakingly prove this carefully, but I can't prove it! Could someone please provide a careful proof of this?
Many thanks!
PS: Bonus question....
It also seems to be obvious to most authors that the set of elementary stochastic processes is stable under pairwise products. That is, if $H, G\in \mathscr{H}$ then $HG$ is also a simple stochastic process. To me this statement is intuitively correct, but once again I tried to write out HG but I get really stuck on the notation trying to write out/characterise HG as a simple function. Any help on this would be greatly appreciated as well!!!
 A: Good question! You assumed btw that the second representation of $H$ depends on the same $\mathcal{F}_{t_i}$ measurable functions $h_i$ as before… but that's not clear at all also (but it will be later).
So you have:
\begin{equation*}
H(t,\omega)= \sum_{i=0}^N h_i(\omega) \chi_{(t_i,t_{i+1}]}(t) \qquad \forall (t,\omega) \in \Omega\times[0,1]
\end{equation*}
and
\begin{equation*}
H(t,\omega)= \sum_{j=0}^N g_j(\omega) \chi_{(s_j,s_{j+1}]}(t) \qquad \forall (t,\omega) \in \Omega\times[0,1]
\end{equation*}
First consider that the integral doesn't change for a refinement of the original partition (adding additional points to the partition and keep the old ones) because the additional summands cancel out.
So let's call this refinement points $\tilde{t}_j$ and you have:
\begin{equation*}
H(t,\omega)= \sum_{j=0}^L \tilde{h}_j(\omega) \chi_{(\tilde{t}_j,\tilde{t}_{j+1}]}(t)
\end{equation*}
With $\tilde{h}_j = h_i$ iff $(\tilde{t}_j,\tilde{t}_{j+1}] \subseteq (t_i,t_{i+1}]$
And $$H\bullet M = \left(\sum_{i=0}^N h_i \chi_{(t_i,t_{i+1}]}\right) \bullet M = \left(\sum_{j=0}^L \tilde{h}_j \chi_{(\tilde{t}_j,\tilde{t}_{j+1}]}\right) \bullet M$$ holds.
Then take a third partition which is a refinement of both partitions given at the beginning so e.g. $$0=c_0 < c_1 < \ldots < c_{L+1} = 1$$ what is a refinement of $$0 = t_0 < t_1 <...< t_{N+1} = 1$$ and $$0 = s_0 < s_1 <...< s_{N+1} = 1$$.
Then it holds on the one hand:
$$H\bullet M = \left(\sum_{i=0}^N h_i \chi_{(t_i,t_{i+1}]}\right) \bullet M = \left(\sum_{j=0}^L \tilde{h}_j \chi_{(c_j,c_{j+1}]}\right) \bullet M$$
one the other hand:
$$H\bullet M = \left(\sum_{i=0}^N g_i \chi_{(s_i,s_{i+1}]}\right) \bullet M = \left(\sum_{j=0}^L \tilde{g}_j \chi_{(c_j,c_{j+1}]}\right) \bullet M$$
But comparing both refined representations of $H$ we also have:
\begin{equation*}
H(t,\omega)= \sum_{j=0}^L \tilde{h}_j(\omega) \chi_{(c_j,c_{j+1}]}(t) = \sum_{j=0}^L \tilde{g}_j(\omega) \chi_{(c_j,c_{j+1}]}(t)
\end{equation*} what implies $$\tilde{h}_j(\omega) = \tilde{g}_j(\omega)$$
and we are done.
Because stuff didn't change under refinements you can always assume that you work on the SAME partition for different functions. If not, just use the refinement that contains all your given partitions.
And if you assume $H$ and $G$ have representations with the same partition it should be easy to calculate $HG$ directly
