Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Equivalence for propositional functions

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Equivalence for propositional functions


Chronological Thread 
  • From: Richard Dapoigny <richard.dapoigny AT univ-smb.fr>
  • To: coq-club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Equivalence for propositional functions
  • Date: Wed, 25 Dec 2024 11:20:28 +0100 (CET)
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=richard.dapoigny AT univ-smb.fr; spf=Pass smtp.mailfrom=richard.dapoigny AT univ-smb.fr; spf=None smtp.helo=postmaster AT smtpout01-ext2.partage.renater.fr
  • Dkim-filter: OpenDKIM Filter v2.10.3 zmtaout05.partage.renater.fr B0995A00E7
  • Ironport-sdr: 676bdc6e_BHmSAUjRL6fIPbszL/BIIrGXvUyy6jLipo/MY59sIyIejwV mKQXK50v4vgUSgrylkgL3ly6rQTwGfMJWmxnSxA==

Ok., thank you for your prompt answer.
Bests.
Richard


From: "mukesh tiwari" <mukeshtiwari.iiitm AT gmail.com>
To: "coq-club" <coq-club AT inria.fr>
Sent: Wednesday, December 25, 2024 11:08:51 AM
Subject: Re: [Coq-Club] Equivalence for propositional functions

Hi Richard, 
You don’t need classical logic for eq_fprop, but if you are willing to assume propositional extensionality [1] rewriting will be easier. 



Theorem eq_fprop: forall {X:Type} (f: X->Prop) (x y :X), x = y -> f x <-> f y.
Proof.
  intros * Ha. split; intro Hb; subst;
    exact Hb.
Qed.


Axiom prop_ext : forall (P Q : Prop), (P <-> Q) -> P = Q.

(* assuming prop_ext *)
Theorem eq_fprop_ax : forall {X:Type} (f: X->Prop) (x y : X), (f x <-> f y) -> f x = f y.
Proof.
  intros * Ha.
  eapply prop_ext.
  exact Ha.
Qed.


Best, 
Mukesh 





On 24 Dec 2024, at 23:09, richard <richard.dapoigny AT univ-smb.fr> wrote:

Dear coq users,

In Coq it is possible to prove image equality for functions :

Theorem eq_img: forall {X:Type} (f: X->X) (x y :X), x = y -> f x = f y.

However, is it possible to prove similarly an equivalence for propositional functions (assuming classical logic)? :

Theorem eq_fprop: forall {X:Type} (f: X->Prop) (x y :X), x = y -> f x <-> f y.

Thanks for your help.
Richard





Archive powered by MHonArc 2.6.19+.

Top of Page