intuition.
eapply leRat_impl_eqRat.
eapply comp_spec_impl_le.
eapply comp_spec_consequence.
eauto.
intuition.
subst.
intuition.
eapply comp_spec_impl_le.
eapply comp_spec_symm.
eapply comp_spec_consequence.
eauto.
intuition.
subst.
intuition.
Qed.

(* Specifications: *)
(* facts about basic language constructs *)
Theorem comp_spec_ret :
forall (A B : Set){eqda1 : EqDec A}{eqdb1 : EqDec B}(eqda2 : eq_dec A)(eqdb2 : eq_dec B)(P : A -> B -> Prop) a b,
P a b ->
@comp_spec _ _ eqda1 eqdb1 P (Ret eqda2 a) (Ret eqdb2 b).