Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] symmetric equality

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] symmetric equality


chronological Thread 
  • From: "Stefan O'Rear" <stefanor AT cox.net>
  • To: Sean Wilson <sean.wilson AT ed.ac.uk>
  • Cc: coq-club AT pauillac.inria.fr, Ethan Aubin <ethan.aubin AT gmail.com>
  • Subject: Re: [Coq-Club] symmetric equality
  • Date: Sat, 29 Sep 2007 07:54:25 -0700
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

On Sat, Sep 29, 2007 at 02:18:20PM +0100, Sean Wilson wrote:
> forall (p:Prop), p->p=True.
> 
> In Coq, none of the automated tactics do anything if you try to prove this 
> theorem and I really can't see any useful steps forward. I assume it isn't 
> true but I can't explain why. If it isn't true, does anyone have a good 
> explanation as to why it isn't true in Coq but it is in other logics?

Suppose that was true.  Then it has a proof-term; call it GP.

(GP (True -> True) (fun x:True => x)) is a form of type  True -> True =
True; call it P.

Let P' be the normal form of P.  This exists, due to strong
normalization (a prerequisite of consistency, and we hope Coq is
consistent).  By subject reduction, it also has type True -> True =
True.

In Coq, all normal forms of inductive type have the form (C a b c..),
where C is a constructor.  Thus, since the only constructor of eq is
refl_eq, P' has form (eq_refl TY) for some TY.  By the typing rules for
CIC, TY is β-convertable to both True and True -> True, and thus True
and True -> True are themselves β-convertable (transitivity).

But True and True -> True are distinct β-normal forms, so by
Church-Rosser they are not β-convertable.

QED


The story changes radically if you modify the logic by the introduction
of axioms.

Axiom prepositional_extensionality: forall (P1 P2: Prop), (P1 <-> P2) ->
P1 = P2.

Goal forall P: Prop, P -> P = True.
intros P t.
apply prepositional_extensionality.
tauto.
Qed.

Stefan

Attachment: signature.asc
Description: Digital signature




Archive powered by MhonArc 2.6.16.

Top of Page