Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Can you name the biggest number?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Can you name the biggest number?


Chronological Thread 
  • From: Thorsten Altenkirch <Thorsten.Altenkirch AT nottingham.ac.uk>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>, roux cody <cody.roux AT gmail.com>
  • Subject: Re: [Coq-Club] Can you name the biggest number?
  • Date: Mon, 2 Dec 2019 14:44:42 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=exmail.nottingham.ac.uk; dmarc=pass action=none header.from=exmail.nottingham.ac.uk; dkim=pass header.d=exmail.nottingham.ac.uk; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4w3N4UIeWrIFJkuvT/nTaTZjx+2Wm5o5icHZHn6LE9E=; b=ClEpeLQ8QZdXpywrEtbRT8BmBNiipGdg7oDWixborAFuWjJH3ZYfJLxFSTA0YclxRgxvv0MvOLQNFCwWsKHhRw4lzXqztPoMgi7HjEk2nnIQRVSbvIOBq9RlmNbBH4ggAjchlixj/kN2meRNaBDUoDWnZcpTrIL1gh/e010GDjA02/t6h3AYRiGQBO9AQBGgl2rLJgaPtEg+C+Ff2FbXzieATcCVyCRYaQ5fd5gNs+eICQGpK5QQrO6hnl8kbDBWRJRauoDC2Rpq1q8j6InWfPCTj0puahyQD0WTwk2bmUYmfSd35GVQ0spH0AbqKcS4D4qGHsxLm7+72m6eHYhG1Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qr5DlJGBjxGnT5yo3KoNCoPhbKTXBkCgCLq6lQDRflh6uUg8ImRA6O7xgw95tJLO2sxhqdFkF/JmUL3etQ6xylaU1+Wkmhb1w3lD9j3dbcvBoBJts3XNToWpDqDB4yXDhDtU5B5oyTGrSCsxhypK/Pmfl5UL9wtqaWmdmRyQahDwruxBOerU/eP+ufrtFFPYiCenuWFps+0rVVdCfc+VqsGJj6JA1lEL8QJUndFKHz+P2kVSUlIdAqQ5G7lDYioY9yj9EMidg9msryStweD/LUbAXSJ0v3Ua3EVweI4XzuTPFH7kVmrdLzB7rtMXiy4D+Gf73l1vTQN8hLntQAjK+A==
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=Thorsten.Altenkirch AT nottingham.ac.uk; spf=Pass smtp.mailfrom=Thorsten.Altenkirch AT nottingham.ac.uk; spf=None smtp.helo=postmaster AT uidappmx01.nottingham.ac.uk
  • Ironport-phdr: 9a23:u4rEwxAMiuMDOS4bkQH7UyQJP3N1i/DPJgcQr6AfoPdwSP37oM+wAkXT6L1XgUPTWs2DsrQY0rGQ6v+9EjJQqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba58IRmssAnctMkbjYRjJ6sy1xDEvmZGd+NKyG1yOFmdhQz85sC+/J5i9yRfpfcs/NNeXKv5Yqo1U6VWACwpPG4p6sLrswLDTRaU6XsHTmoWiBtIDBPb4xz8Q5z8rzH1tut52CmdIM32UbU5Uims4qt3VBPljjoMOiUn+2/LlMN/kKNboAqgpxNhxY7UfJqVP+d6cq/EYN8WWXZNUsNXWiNPGIO8a5YEAfQHM+hWsoLxo1oDoR64CAKxBu3g1yVIi2f206MkzuohDQ/I0g8uH90MvnvUrcn6O6gJXO+v0KXIyC/OY+9M1Dr/7oXDbxAvoeuLXbJ1acff10kvFwTfjlWLtYzqITWV3fkRvmif8+pvS+Svi20mqwFrvjevxtonh47XiIIVzVDE7z55wJorKt2+UkJ2fdqkEIdOuCGcNIt2Q9kiTH1ouCshzL0GvoK7fDQLyJQhyB7fa+aIc42S7h35SOmdOyp4hHF8db+5mh28/0+gyujmWcm11lZHtjdKktvJtnwXyxPc9tCLSvR8/ke92TaPyhvc5vtYLkAzkKrWLYMqzL0olpcLrEjPACz7lF/ogKKZeEgo4Oel5ur9brn7uJOROJd4hhzgPqktgMCzH+s1PwYUU2SF4+iwybzu8VX3QLpUjfA6jqzUvZXZKMgHuqG2GQpY3Z095Bu/Dzqr1ckUkHcIIV5YfR+KjonkNl7AIP3+EPyxmU6jkC1xyPDDJrDhAovCLnzEkLr5YLZ96lNTxxArzdBH4pJVBa0NLO/pVk/3s9zYEgM5Mw2yw+boCNVyzIYeVXiVDaCFKq/SrFyI6vouI+mKeoAVpC7wJ+U76/Ptl3M1h1AQcKez0ZYYZn20BOlqL1uWbHb0h9cOC2YKvg4wTOzwj12CVCZeaWiyX6I7/DE7E56mApnFRoy3nLGB2Du7EYNQZmBFC1CMC2vnd4WfVvcKbyKSPtNhkj0CVbiuS48uzxSuuBXgxLV7NObU5y4YuYr51Ndp/+3TiQ0y9TtsAsuB1GGNVnh4kX8MRz8rx69yuld9y1eG0ahgmfNUD91T5/VTUgc7L5HQ1eJ6C8qhEj7GK52CT0/jSdG7CxkwSMgwypkAeQw1T96ll1XI2zegK74Tjb2CQpIupOaUxX/sN452zHrXnP0qiFU3BNFIKH2Oiat29gyVDInMxRa3jaGvIJgc2zTW6GqFhUOKoExeUw9qWqWNCUwfYVHNsdn/oGrGU7KoCrU9OQtpz8meNqpMZd3giBNPT7H+O4KNMCqKh26sCEPQlfu3Z43wdjBYjXmEVRo01jsL9HPDDjAQQyesp2WEXW5zFF7me1vp4bEn7nW8UlM1yQ6KZkgn3rHz5x1H3aXAGcNW5aoNvWIakxsxBEy0hoKEDd2cuwtnc6VVZJU06xFa1jCB7l0vDtmbN6lnw2UmXUFytkLq2Q9wD9wQw84tsG8rygVyIKfe2VgHajDKhJ0=

Does Coq still allow impredicativity? In any case as part of this you need to prove that the termination is terminating which seems to include that at least some fragment of CoC is terminating. I guess that you have a stronger system because you have some extra universes? Still that is a bit of work.

 

Given the condition on the proof it would be easier to obtain a fast growing function using ordinals. However, a fast growing function on its own isn’t so useful because you have to produce just one number and it is not obvious when exactly your function will do this. Hence, I am not sure whether this is so helpful given the conditions you gave.

 

Thorsten

 

From: <coq-club-request AT inria.fr> on behalf of roux cody <cody.roux AT gmail.com>
Reply to: "coq-club AT inria.fr" <coq-club AT inria.fr>
Date: Monday, 2 December 2019 at 13:26
To: roux cody <cody.roux AT gmail.com>, "coq-club AT inria.fr" <coq-club AT inria.fr>
Subject: Re: [Coq-Club] Can you name the biggest number?

 

Someone else just pointed this out to me! As I was saying, I'd be happy to declare this the winning entry, as long as it was formalized in Coq and proven to be larger than current contender :).

 

Cody

 

On Mon, Dec 2, 2019, 8:18 AM Emilio Jesús Gallego Arias <e AT x80.org> wrote:

roux cody <cody.roux AT gmail.com> writes:

>     I'd like you invite the enthusiasts of Coq and proof theory in general
> to participate in a small and fun ongoing challenge, which I have hosted on
> Github for lack of better ideas (but I'm open to suggestions):
>
> https://github.com/codyroux/name-the-biggest-number

It is worth recalling the winner of the BIGNUM BAKEOFF contest by Ralph
Loader: http://djm.cc/bignum-results.txt

,----
| The final and winning entry, {loader.c}, diagonalizes over the
| Huet-Coquand `calculus of constructions'.  This is a highly polymorphic
| lambda calculus such that every well-formed term in the calculus is
| strongly normalizing; or, to put it another way, a relatively powerful
| programming language which has the property that every well-formed
| program in the language terminates.  The program's main function is
| called D.  (D's return value depends on a global variable, so it is in
| fact not a pure function, but this will not be important.) D works
| approximately as follows: given an argument x, it iterates over all bit
| strings with binary value less than or equal to x, and, if such a bit
| string codes for a well-formed program (`term' in lambda-calculus
| language), it runs the program (`strongly normalizes the term' in
| lambda-calculus language.)  The return value of D is then obtained by
| packaging together the return values of all these programs.  The
| program's return value is D@@5(99).  It is possible to simulate the
| computation of D(99) and prove that D(99) >= E(30419).  Also, it is easy
| to prove that D(z) >= z and that D(z) is increasing with z.  Therefore,
| the value output by the program is at least D(E(30419)).  However, in
| {FLO}, Fortune et al.  explain how to code F[omega**k] and F[epsilon_0]
| in the second-order typed lambda calculus.  The second-order typed
| lambda calculus is a subset of the calculus of constructions, and the
| methods in {FLO} can easily be used to code, say, F[epsilon_0 +
| omega**3](1000000) in a relatively short program, which can be expressed
| by a bit string of length well under E(30419).  {loader.c} is therefore
| the winner.
`----

E.


This message and any attachment are intended solely for the addressee
and may contain confidential information. If you have received this
message in error, please contact the sender and delete the email and
attachment. 

Any views or opinions expressed by the author of this email do not
necessarily reflect the views of the University of Nottingham. Email
communications with the University of Nottingham may be monitored 
where permitted by law.






Archive powered by MHonArc 2.6.18.

Top of Page