intros.
unfold equal in |- *.
split; try apply red_incl_h.
unfold inclusion in |- *.
intros M N.
unfold reduce in |- *.
case M; try tauto.
case N; try tauto.
intros.
unfold cond_irr in H.
unfold no_syn_cyph in H.
elim H.
intros.
elim H2.
intros.
elim H4.
intros.
split; trivial.
apply H5; trivial.
case N; try tauto.
intros.
unfold cond_irr in H.
unfold no_pairs in H.
elim H.
intros.
generalize (H1 m1 m2 m m0).
tauto.
case N; try tauto.
intros.
split; trivial.
case (op_eq_dec o0 o).
intro.
right.
rewrite e in H0.
unfold cond_irr in H.
unfold no_syn_ops in H.
elim H.
intros.
elim H2; intros.
apply (H3 o).
trivial.
tauto.
Qed.

(* Specifications: *)
(** if h satisfies cond_irr then h is included in I(h) *)
Lemma cond_irr_impl_h_incl_irr :
forall h : hedge, cond_irr h -> inclusion h (irreducible h).