Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Computation and proofs over proof objects | How to prove that two proofs objects are equal?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Computation and proofs over proof objects | How to prove that two proofs objects are equal?


Chronological Thread 
  • From: Siddharth Bhat <siddu.druid AT gmail.com>
  • To: Coq-Club Club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Computation and proofs over proof objects | How to prove that two proofs objects are equal?
  • Date: Wed, 24 Apr 2019 20:45:07 +0530
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=siddu.druid AT gmail.com; spf=Pass smtp.mailfrom=siddu.druid AT gmail.com; spf=None smtp.helo=postmaster AT mail-oi1-f172.google.com
  • Ironport-phdr: 9a23:gGyYOxZhQ2ike5K/C2OCFCz/LSx+4OfEezUN459isYplN5qZoMu8bnLW6fgltlLVR4KTs6sC17OP9f25EjZbqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba5vIBmsrQjdq8YajZVsJ60s1hbHv3xEdvhMy2h1P1yThRH85smx/J5n7Stdvu8q+tBDX6vnYak2VKRUAzs6PW874s3rrgTDQhCU5nQASGUWkwFHDBbD4RrnQ5r+qCr6tu562CmHIc37SK0/VDq+46t3ThLjlTwKPCAl/m7JlsNwjbpboBO/qBx5347Ue5yeOP5ncq/AYd8WWW9NU8BMXCJDH4y8dZMCAOUPPelar4fzqVgAowagCwawH+7g0CNEi2Xs0KEmz+gsEwfL1xEgEdIUt3TUqc34OroTUe+o0abIzS/Mb+lK2Tf99YPFbxAhruuQXbltdsfR0kgvGB7YgVWNs4DqIimV1vkMs2eG9OdgWuevhHQmqwF1uDSg2sAsiozQi48T11vK9j15zZ4rKdGkTEN3e92pHZtKuy2HNoZ7QNkuT3xqtSokzLANpIS1czIQyJs9wh7Sc/yHfJaM4hLkTOuRJC13hHNheL6mgBay8FWsxvTyVsWp0ltGsDBJktbLtnAK2BzT7taIRuFh8Uem3DaDzwHT6udaLkAojafXNYItz7oqmpcQsUnPBDL6lUT0gaOMa0kp+Pak5/ziYrr8p5+cM4F0ihv5MqQrgsG/GuU4PRUTUGiG4+izyafj/VD4QLpXlfA2nazZv4rbJcQfvKK2HwhV0oM75xalEzimyMgYnWUALF9dZB2HiJHpN0jSL/D8EPewmE+hkCxrxvDDJr3uGI/BLnnFkLf7fLZy8VRQyAQpzYMX25UBIbYYZdn3R0W5n9jFBFdtOAuthu3jFd9V14UEWGvJDLXPY43Itlrd3eMjL+mFfpMV8Bz9IuRts+XvgXMk31MHYKil9ZQSYXG8WP9hJhPKMjLXnt4dHDJS7UIFR+vwhQjHCGYLPivgb+cH/jg+TbmeI8LDS4Sq2uLT2S66GthRZzkDBAnTSzHncIKLX/pKYyWXcJc4w240EIO5Qopk7imA8Qrzyr5pNO3Ro3RKupfq1dwz7OrWx0hrqW5ESv+F2mTIdFla23sSTmZvjq96qE15jFyE1Pogjg==

Does that not assume UIP? Is that standard in Coq? 

Thanks 
Siddharth

sent from my phone, please excuse any typos!

On Wed, 24 Apr, 2019, 20:37 Gaëtan Gilbert, <gaetan.gilbert AT skyskimmer.net> wrote:

 > proof_of p = another_proof_of p

You should be able to prove that by applying Eqdep_dec.eq_proofs_unicity


Gaëtan Gilbert

On 24/04/2019 16:27, Benoît Viguier wrote:
> Dear all,
>
> I have a type defined in the following kind:
>
>    Definition oncurve (p : point K) := (     match p with     |
> EC_Inf    => true     | EC_In x y => M#b * y^+2 == x^+3 + M#a * x^+2 + x
>      end).   Inductive mc : Type := MC p of oncurve p.   Coercion
> point_of_mc p := let: MC p _ := p in p.
>
> and at some point I am trying to prove that :
>
> MC p (proof_of p) = MC p (another_proof_of p).
>
> Reflexivity do not work in this case because : (proof_of_p p) and
> (another_proof_of p) while being the same in some senses are not the
> same object.
>
> However by doing f_equal, the goal becomes:
>
> proof_of p = another_proof_of p
>
> I can unfold both of them and the subsequent definitions, applying a
> compute leads me to the following state:
>
> match   match     introTF (c:=true) idP       (equivPif idP (fun
> _view_subject_ : true = true => _view_subject_)          (fun
> _view_subject_ : true = true => _view_subject_)) in     (_ = y) return
> (y = true)   with   | Logic.eq_refl => Logic.eq_refl   end in (_ = y)
> return (y = true) with | Logic.eq_refl =>     match       introTF
> (c:=true) idP         (equivPif idP (fun _view_subject_ : true = true =>
> _view_subject_)            (fun _view_subject_ : true = true =>
> _view_subject_)) in       (_ = y) return (y = true)     with     |
> Logic.eq_refl => Logic.eq_refl     end end = is_true_true
>
> Thus my question would be is there anyway to un-opaque those last part ?
> It says that introTF is defined as Opaque, thus Transparent does not go
> through either. How can I proceed forward?
>
>  From which I cannot work further as introTF etc are opaque. Is there
> any other way I can prove my equality?
>
> Thanks a lot for any help or insight you can provide me with.
>
> Kind Regards,
>
> Benoit Viguier.
>



Archive powered by MHonArc 2.6.18.

Top of Page