unfold is_irreducible in |- *.
unfold irreducible in |- *.
intros.
apply inclusion_trans with (reduce (analysis_def g)).
unfold equal in H0.
tauto.
apply red_equiv_impl_red_incl.
apply equiv_h_trans with g.
apply equal_impl_equiv_h.
apply equal_sym.
trivial.
trivial.
Qed.

(** if g ~ h, g is irreducible and h is irreducible then g = h *)
Theorem equiv_irr_irr_impl_equal :
forall g h : hedge,
equiv_h g h -> is_irreducible g -> is_irreducible h -> equal g h.