coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: roux cody <cody.roux AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs
- Date: Thu, 9 Jun 2022 14:45:04 -0400
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=cody.roux AT gmail.com; spf=Pass smtp.mailfrom=cody.roux AT gmail.com; spf=None smtp.helo=postmaster AT mail-vk1-f182.google.com
- Ironport-data: A9a23:niR1Vave7E1FlLPSkL2tO2IgaefnVGtYMUV32f8akzHdYApBsoF/q tZmKWmOPq3bM2P1ctxyPIXn90oOupbSyodhTAZl/Ck0FiNDgMeUXt7xwmXYb3rDdJWbJK5Ex 5xDMYeYdJhcolv0/ErF3m3J9CEkvU2wbuOgTraCYEidfCc8IMsboUsLd9UR38g52LBVPyvX4 Ymo+5OHaAf+s9JJGjt8B5yr+EsHUMva42twUmwWPZina3eD/5W9JMt3yZCZdxMUcKEMdgKJb 7qrIIWCw4/s10xF5uVJPVrMWhZirrb6ZWBig5fNMkSoqkAqSicais7XOBeAAKtao23hojx/9 DlCncDgaUQgIr/DotkyTUBSCj5GJJZto5aSdBBTseTLp6HHW37lwvErEkJveINBqrwxDmZJ+ vgVbjsKa3hvhcrsmOP9GrQq3J56apC7ZuvzuVk4pd3dJf0hTYGFWaLX9fdX2T4xgoZFGvO2i 88xMGQ0Mk2YP0Un1lE/DbQvu77wp2fFUn5IqgiTrqoF2Wj59VkkuFTqGIONJobiqd9utk2fv yfN+3nzKgoLMcSWjzuD6HOlwOHV9R4XQ6oXHby8s+Bp2RidnzxJThIRUlS/rL+yjUvWt89jx 1I8pnoO7qEu5kORc/bjBhehv0adhTVHco8FewEl0z2lxq3R6gefI2ELSD9dddAr3PPaoxR6h jdlePu5VVRSXK2ppWG1rejL8GvjUcQBBSpTOn9eFFptD8zL+dlr1nryosBf/LlZZ+AZ9Bn1y jGO6TY93vAd1J5Rkaq8+l/DjnSnoZ2hou8JCuf/AzLNAuBRPtbNi2mUBb7zsKcowGGxEAHpg ZT8s5LChN3i9LnU/MB3fM0DHauy+9GOOyDGjFhkEvEJrmrwpyH6JtgLvm4lfC+F1/ronxe5M Cc/XisBtPdu0IeCMMebnqrqV5hwkvC+fTgbfqmENoofCnSOSON31Hg2ORT4M5HFn08rnqUyU ap3gu79ZUv2/Z9PlWLsL89EieFD7nlnmQv7GM6mpzz6juL2TCPEEd8tbQrVBshkvfPsiFuPr 753aZDRoz0BC72WX8Ui2dRMRbz8BSNrW86eRg0+XrLrHzeK70lwUKaLnOl8K9MNcmY8vr6gw 0xRk3RwkDLX7UAr4y3TApy6QL+wD5t5s1whOikgYQSh13Q5MNSg6a4ec908erx+rL5vyvt9T v8kfcScA6QXGm6XpWhFNZSt/pZ/cBmLhB6VO3X3bTU6ealmTVOb99LheDzp6yRTXDG8stEzo uH72w6CGcgDSg1uAdz4cvWqy1/t73ERlPgjDUTNK9hXPk7r9dEyeSD2i/Y2JeAKKAnClmPKj VbIXU9AqLCU8YEv8dTPiaSVlKuTErNzThhAAm3WzbeqLi2FrGeuxIl3VuzXLz3QUWXD/rr7O bdYwvT6B/0wnFhQtr16Hbs2n7k14MHipuMDwwlpQCfLYlCsBu8yK3WKx5MT5KhEx7scpwjvH 0zWqoMcNrKON8foVlUWIVN9POiE0PgVnBjU7Og0cBqmvn4ppOLfXBUAJQSIhQxcMKBxbNEvz 9AntZNE8Ae4kBcrbouLg3wG7WiKNXBcAawruotAXN3ugwsvj09BONnSU3+spp6IbNpIPw8hJ TrN3PjOgLFVx0zjdXsvFCiSgbAM28xW4B0ankUfI1mpm8begqNl1hNm9zlqHB9eyQ9K0r4uN 2VmX6GvyX5iI9u1aAl/s2GQ98VpARSY/gnvyAJMmjSJFQ+nUWvCKGB7MuGIlKzcH6SwYRADl Ix0Ck68OdopQC019iQ3UE9h7ffkSLSdMyXczdu/EZ3t84YSOFLYb2zHWYbMgxTiCMI1wkbAo IGGOQq2hbLTbUYtnkHwN2VWOXn8hvxJyKyujMyNJJ80IFw=
- Ironport-hdrordr: A9a23:fsAP36BusG5BjablHemV55DYdb4zR+YMi2TDtnoBMCC9F/bzqy nApoV/6faZskdyZJhko6HiBEDiexLhHPxOkO0s1N6ZNWGMhILrFuFfBODZslrd8kPFh4hgPG RbH5SWyuecMbG3t6nHCcCDfeod/A==
- Ironport-phdr: A9a23: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 d/KxvubwNJq/Nfd/M9aDM/ReprvDQ==
- Ironport-sdr: DAxlBtszujecDAVSXxdw112tCLEwVxzxtLCJMqXqSEtkptWhY+u38U0qcTstQKkBbABSR+PVXZ lBHh4b9dkSvCt9EaR1wpUlP6p75GntHY2bsz9e3/Qvfs322Av9hbrQ1Qnu7y2dMnEl0K4ntyNa eKbtK/pcXkF8FNansGKSCNMR24UmJM6s1H3wExJWR1obfypgZqQ8qch9slsu1gGccfdmFuK58h KbKZlXpa1QD1Y3fjuMntpZRNa7bhmZ3wRnDATPKFF5I/Pwg11AWf9jcuHtxWDABhuqGaeBeQbk DO5NzE5mPvOCP7h9cC13RH8H
Here's a classic example, involving the proof of normalization of a typed lambda calculus from https://softwarefoundations.cis.upenn.edu/plf-current/Norm.html
Fixpoint R (T:ty) (t:tm) : Prop :=
empty ⊢ t \in T ∧ halts t ∧
(match T with
| <{ Bool }> ⇒ True
| <{ T1 → T2 }> ⇒ (∀ s, R T1 s → R T2 <{t s}> )
end).
empty ⊢ t \in T ∧ halts t ∧
(match T with
| <{ Bool }> ⇒ True
| <{ T1 → T2 }> ⇒ (∀ s, R T1 s → R T2 <{t s}> )
end).
Obviously this doesn't *quantify* on a relation, though any similar proof for System F must crucially use it, see e.g. here: https://github.com/coq-community/autosubst/blob/master/examples/ssr/SystemF_CBV.v
You'll find many variations on this theme under the name of "Logical Relations", e.g. in CertiKOS here: https://github.com/CertiKOS/coqrel
Hope this helps,
Cody
On Thu, Jun 9, 2022 at 2:22 AM kirang <kirang AT comp.nus.edu.sg> wrote:
Hi Coq Club,
For various reasons, I'm currently doing a light survey of examples of
interesting uses of second order properties/lemmas in Coq proof scripts.
Currently, the main examples I've found in the wild have mostly been
using various induction principles for custom datatypes and the such
(found through searching Github/using Coq's search mechanism).
I've seemingly exhausted searching through Github for now and so I
thought I might reach out to the magnanimous wisdom and experience of
the Coq club community in this search.
Do you have any interesting examples of other classes of second order
properties (i.e other than induction principles) you have seen/used in
your own proofs?
Thanks,
Kiran.
- [Coq-Club] Interesting uses of Second order theorems in Coq proofs, kirang, 06/09/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Qinshi Wang, 06/09/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, kirang, 06/10/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, roux cody, 06/09/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Lawrence Dunn, 06/09/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Castéran Pierre, 06/09/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, kirang, 06/10/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Ralf Jung, 06/11/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Qinshi Wang, 06/11/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Ralf Jung, 06/11/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, kirang, 06/10/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Castéran Pierre, 06/09/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Lawrence Dunn, 06/09/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, kirang, 06/10/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Steve Zdancewic, 06/10/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Sylvain Boulmé, 06/10/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Steve Zdancewic, 06/10/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Ken Kubota, 06/10/2022
- Re: [Coq-Club] Interesting uses of Second order theorems in Coq proofs, Qinshi Wang, 06/09/2022
Archive powered by MHonArc 2.6.19+.