Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] proving a lemma in a proof

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] proving a lemma in a proof


Chronological Thread 
  • From: Christian Doczkal <christian.doczkal AT ens-lyon.fr>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] proving a lemma in a proof
  • Date: Wed, 23 Jan 2019 10:37:42 +0100
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=christian.doczkal AT ens-lyon.fr; spf=Pass smtp.mailfrom=christian.doczkal AT ens-lyon.fr; spf=None smtp.helo=postmaster AT labbe.ens-lyon.fr
  • Autocrypt: addr=christian.doczkal AT ens-lyon.fr; prefer-encrypt=mutual; keydata= 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 3dGbm2ZAnj3OQRK3Sg==
  • Ironport-phdr: 9a23:J2NZnBKoJNBp/k0KKtmcpTZWNBhigK39O0sv0rFitYgeK/3xwZ3uMQTl6Ol3ixeRBMOHs6IC07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwZFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QLYpUjqg8qhrUgflhjkJNzA57W/ZicJ+g6xUrx2juxNy2IHUbJ2POfR5Yq/Qc9EXSGxcVchRTSxBBYa8YpMRAuoBJ+ZYrpL9p0cPrRSkAwmnGe3hyjhUiX733q01yeAhGhzB0QM8H9IOqnXUrM7pNKcTS++1yrPEwijEb/xK2Db965LHchQ6rP6SW7JwatPdyU0vFgPCiFWcs4LlPymM2+kLrmOV4e1gVee1hG4mrQF8ujmvxsEwiobXgoIZ0E3L+jt/zY0oJtO4UFZ2bcOrHZdMrS2XNYl7Ttk/T2xpuis20KMKtYClcCQSy5kr2QTTZ+KHfoSV+B7vSvudLDRiiH54Zr6yhBC/+lW6xOLmTMm7ylNKozJFktbSsnAN0ATe6sydRfRm5UiuxyyD2B7V6uFfOEw0karaK5knwrIqmJoTq1zPHi7wmErokK+bblgo9+e05+j9YLjrpIWQO5J1hwz8KKgihNKzDfogPggLRWeb+OC81LP5/U3+RbVHluE5kqnDsJDbPsQbuq+5DBVT0oo59hm/CCup0dUbnXYdKFJIYwyIj47yO13XJPD5DfC/g1K2nDdl3fDKJqfhDYnVLnjfjLfheq5w5FJbyAoq1NxQ+5ZUCqwaL//oQU/wtNnYDgcjPACuwubnDs991oIEVm6VDK+ZKvCajVjd7eU2ZuKIeYU9uTDnKvFj6eS9o2U+nAo2fbOoxocWYXbwMvNtMUaQZTK4idcbEHwWvwM4CuDtg0+BWDp7anCpGqYt4Td9BpjwXtSLfZyknLHUhHTzJZZRfG0TUgndQ0etTJ2NXrI3UAzXJ8ZgljIeUr34EN0s0wrrsB79zfxpNLiNo3FKhdfYzNFwotbru1Qq7zUtVJaQ1XrIS3BzmCUGXW1uhf0tkQlG0l6GlJNArblYGNhUvqIbVg4wP5OawuphTtTjXQSHcM3bEFs=
  • Openpgp: preference=signencrypt

Hi,

I don't think that's really a fair comparison. The way I understand it is
that nested Lemmas are used during interactive development for things that
should be independent preceding lemmas, and the reason to use them is mostly
that backtracking, stating the lemma, and going back to the current point may
be time consuming in the presence of slow-running automation.

For something that is intended to permanently stay inside the proof there is
assert (which is invisible from the outside and may, of course, use local
assumptions) which, as far as I understand, corresponds much more closely to
"where" clauses.

Best,
Christian


On 1/23/19 9:54 AM, James McKinna wrote:
> Dear Michael,
>
> To rephrase Gäetan's point in a slightly more piquant way, if I understand
> your proposal correctly:
>
> What would it be like to have to write haskell programs in which each use
> of a 'where' clause would have to be explicitly lambda-lifted by the
> programmer before the type-checker would accept it?
>
> I wonder if the (sub-)conscious influences of ML on Coq/Gallina, and
> haskell on Agda, lead us into unexpected affordances, or lack thereof, in
> the interaction surface to our (preferred) systems.
>
> Best,
>
> dr. James McKinna
> LFCS, School of Informatics
> University of Edinburgh
> 10 Crichton Street
> Edinburgh EH8 9AB
>
>> On 23 Jan 2019, at 07:53, "Soegtrop, Michael"
>> <michael.soegtrop AT intel.com>
>> wrote:
>>
>> Dear Maxime,
>>
>> if I remember right, we had a discussion on the topic during the Coq
>> Implementers Workshop in Nice last year. I think you said that the main
>> difficulty with nested proofs is that they may depend on the local context
>> (the context of the outer proof). I also use nested proofs frequently, but
>> I don't use nested proofs which depend on the local context, that is which
>> could not be moved in front of the outer lemma. Since Andrew said he
>> usually moves the proofs outside eventually, I guess he also doesn't use
>> nested lemmas which depend on the local context. Maybe Adam and other
>> friends of this feature can comment on their usage.
>>
>> In cases others agree to this, would it be an option to remove support for
>> nested lemmas which depend on the current context? I don't see how this
>> would be in any way more complicated than parallel proofs - essentially it
>> should be the same. Also I think removing the feature that a nested lemma
>> can depend on the outer proof's context would be even an advantage,
>> because I would think most people who use this feature use it accidentally
>> and not willingly.
>>
>> Best regards,
>>
>> Michael
>> Intel Deutschland GmbH
>> Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
>> Tel: +49 89 99 8853-0, www.intel.de
>> Managing Directors: Christin Eisenschmid
>> Chairperson of the Supervisory Board: Nicole Lau
>> Registered Office: Munich
>> Commercial Register: Amtsgericht Muenchen HRB 186928
>


Attachment: signature.asc
Description: OpenPGP digital signature




Archive powered by MHonArc 2.6.18.

Top of Page