Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] I don't believe Coinduction; Please help me grok it :)

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] I don't believe Coinduction; Please help me grok it :)


Chronological Thread 
  • From: José Manuel Rodriguez Caballero <josephcmac AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] I don't believe Coinduction; Please help me grok it :)
  • Date: Fri, 11 May 2018 20:21:52 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=josephcmac AT gmail.com; spf=Pass smtp.mailfrom=josephcmac AT gmail.com; spf=None smtp.helo=postmaster AT mail-io0-f169.google.com
  • Ironport-phdr: 9a23:GPPTVBaJh1meUK2EMgl+l1X/LSx+4OfEezUN459isYplN5qZr8m6bnLW6fgltlLVR4KTs6sC17KN9fi4EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCazbL9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPCTQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjmk8qxlSgLniD0fOjE7/mHZisJ+gqFGrhy/uxNy2JTbbJ2POfdkYq/RYdEXSGxcVchRTSxBBYa8YpMLAeoGJuZftZHyqVwUohu4GAmjGufvxSdUiH/xwKI6yeUhEQ7b3AM+HtMBqGrZo8/uO6gIVeC1yLfHzS/Eb/hL3jr96o/Icgs/rvGUXbJ/bc/RxlMzGA7egVWQrJbqPzKR1ugXr2eb6O9gWPuphmU6pQ9xpT2vyd0tionPno8a1lfE9T9/wIkrId24TFR3bsC5H5tNry2VK5F5QsY5TGFyuSY117IGtoChcCgN0pQnyAbTa+Sdc4iJ5BLsSPieISt/hHJjYr6wmQu98VWmx+bhVce0yE5HojRZntTIrHwA1Bze5tKZRvdj8EqtwyuD2gHX5+xCPEs6j7DUK4Q7zb41jpcTsVrMHivxmEjuia+ZbEQk+uyx5+TmZbXquoaQN4Fphgz/NqkigMO/AeM/MggBW2iU5/6w26Hk/U38WLlKj/s2nbfFsJ3CO8gXuqq0DxVW34sj8RqzESmq3doCkXUaLV9IfAqLj43zNFHPJPD4A+2/g1OpkDpzxfDGOabhDYvVLnjDjLjheKxy5FJHxQo8yNBQ/ZNUCrUbLP3vXU/xscTUDgUlPAys3+bnFNJ925sCVmKIG6+VKb/dsVuV5u00OOSMf48UuDPlK/c//fLujHk5mUUcfaazx5cXZmq4TbxaJBCSZmOpidMcG08LuBA/Rarkkg6sSzlWMlS1RCMLwzg9FY+iOr3ESpqsj6GMzhCQF5dfYmRLEFfERXXvbIicW/wJYSm6LcpokzhCXr+kHdxynSqyvRP3nuI0ZtHf/TcV4Mq6hYpFotbLnBR3zgRaSsGU0mWDVWZxxzpaSDo/3aQ5qkt4mA7ajfpIxsdAHNkW3MtnFx8gPMeFneN/AtH2HAnGe4XREQv0cpCdGTg0C+kJ7ZoObkJ6QYvwixnC22+rBOdQmeXVVdo79aXT23W3LMF4mS7L

Dear Siddharth,

  The mathematics is not a religion. The question is not if you believe or not. The question is to organize a hierarchy of consistency. I quote Bishop 1967, Chapter 1, A Constructivist Manifesto, page 2:

"The primary concern of mathematics is number, and this means the positive integers. . . . In the words of Kronecker, the positive integers were created by God. Kronecker would have expressed it even better if he had said that the positive integers were created by God for the benefit of man (and other finite beings). Mathematics belongs to man, not to God. We are not interested in properties of the positive integers that have no descriptive meaning for finite man. When a man proves a positive integer to exist, he should show how to find it. If God has mathematics of his own that needs to be done, let him do it himself."

In this wonderful book there is an explanation of why even "induction" is problematic because of impredicativity : https://web.math.princeton.edu/~nelson/books/pa.pdf


Kind Regards,
José M. 



2018-05-11 19:37 GMT+02:00 Jason -Zhong Sheng- Hu <fdhzs2010 AT hotmail.com>:

Hi Siddharth,


Long story short, there is a very suitable paper for this question: https://www.cs.cornell.edu/~kozen/Papers/Structural.pdf

http://journals.cambridge.org Downloaded: 10 Feb 2016 IP address: 104.229.211.75 Practical coinduction 3 Although there is a coinductive step but no basis, any difficulty that would arise that

I personally find the two proofs on page 5 and 6 clearly illustrates the dual positions between induction and co-induction.


It's not rarely to see in lots of papers that "accuse" co-inductive proof of being "uncommon' or "not standard", while co-induction is actually as strong as induction, but proves things that cannot be reasoned by induction, and they come hand in hand. It's a common phenomenon that people are much more familiar with one thing, but not its dual.


I would prefer to think induction as a proof of "property P must hold", while co-induction as a proof of "property P cannot fail". In induction, we pretty much discuss two things: we show that P holds for all base cases, and then all other cases will eventually be reduced to those base cases, which requires the structure we look at must be finite.


In co-induction, however, for every case we look at, either the information is sufficient to conclude P, or we must look at the tail. Here is the kick: in proper co-induction, we must have some constructor appear in the head position, which allows the cases to be covered by the previous proof that we begin with.


Another way to look at them is, induction is a "sum" type of proof, which is divided by cases; while co-induction is a "product" type of proof, which is divided by fields from the same constructor.


Sincerely Yours,

Jason Hu

From: coq-club-request AT inria.fr <coq-club-request AT inria.fr> on behalf of Siddharth Bhat <siddu.druid AT gmail.com>
Sent: May 11, 2018 1:13:54 PM
To: Coq-Club Club
Subject: [Coq-Club] I don't believe Coinduction; Please help me grok it :)
 
This title is click-baity, but I believe it captures my feelings adequately.

I am able to "believe" induction on, say, the naturals, since they have a well-founded order. Hence, one can intuit what it means to "perform induction" on these kinds of objects.

On the other hand, how does a Coinduction proof "start"? Or, well, how does one intuit cofix ? I'm now able to perform the proofs in Coq, but I really don't feel like I understand them.

The rough argument that I have in my head to justify Coinduction is as follows:

1. A Coinductive proof technique is used to prove a proposition P on functions that lazily produce infinite amounts of data.
2. We can only observe a finite amount of this infinite data
3. Hence, to prove a Coinductive proposition, we can assume our proposition P holds on the "infinite tail that is unobserved", and we show that adding some new finite data does not break the invariant P.
4. So, when someone "observes" this infinite data to some length, we can assume that the proposition P holds for the "part that remains unobserved", and "work our way backwards" to add all the finite pieces that were observed, while making sure P holds.

How do the experts think about Coinduction? Is my intuition at all correct? I'd love help and feedback on this!

Thanks,
~Siddharth


--
Sending this from my phone, please excuse any typos!




Archive powered by MHonArc 2.6.18.

Top of Page