Proof with auto with real.
induction t.
intros.
rewrite expec_Leaf...
simpl.
rewrite expec_Node_one...
rewrite expec_Node_cons.
intros.
rewrite IHt...
rewrite IHt0.
rewrite S_INR.
field...
intros.
apply H.
inversion_clear H0...
Qed.
Section bind_expecs.
Variables (T U: Set) (f: T -> nat).

(* Specifications: *)
Lemma expec_bind_leaf (g: U -> T) (m: ne_tree_monad.M U):
expec f (m >>= (ne_tree_monad.ret ∘ g)) = expec (f ∘ g) m.