coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Andrew Appel <appel AT cs.princeton.edu>
- To: coq-club <coq-club AT inria.fr>
- Subject: [Coq-Club] VST version 2.11.1, and (new!) Iris in VST
- Date: Fri, 27 Jan 2023 14:21:37 -0500 (EST)
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=appel AT cs.princeton.edu; spf=Pass smtp.mailfrom=appel AT cs.princeton.edu; spf=Pass smtp.helo=postmaster AT orangecrush.cs.princeton.edu
- Ironport-data: A9a23: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
- Ironport-hdrordr: A9a23:IA/ToKhqMkMNIWPBMFJqQn/wynBQXvMji2hC6mlwRA09TyXBrb HLoB1p726StN9xYgBapTnuAtjifZqxz/JICOoqTM2ftWvdyQmVxehZhOOIqVDd8m/Fh4tgPM 9bAtVD4bbLY2SS+Pyb3ODOKbcdKbe8n5xAzt2uqUuFBTsaEp2IwT0JcjqmLg==
- Ironport-phdr: A9a23:zAolAxBDGOrbN+1jbO6gUyQU4EkY04WdBeb1wqQuh78GSKm/5ZOqZ BWZua8wygaTA86CsagMotGVmp6jcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yN s1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffQVFiCCgbb9sL Ri6ohjdutcIjYB/Nqs/1xzFr2dHdOhR2W5mP0+YkQzm5se38p5j8iBQtOwk+sVdT6j0fLk2Q KJBAjg+PG87+MPktR/YTQuS/XQcSXkZkgBJAwfe8h73WIr6vzbguep83CmaOtD2TawxVD+/4 apnVAPkhSEaPDM/7WrZiNF/jLhDrRyvpxJ/2ZDaboKIOvVxYqzdfNQURXZaU8lLSyBOHpmxY pETA+cDO+tTsonzp0EJrRu7HQShGOXvxSJShnDo06wxzvgsERne3AM+G9IFrXPZo8/tNKcKT ++1yLLFwinYb/9MwTf98onIchY9rv6SQbJwdszRxVMxGAzYk1WdsIroNC6a2eoRqWaU9fZgV f6xhG49rQF8uiWiy8gxhoXVho8YyU7I+yVkzIsrJdC1Skp2bcKrHpZSqi2XKoR4T8IhTmx2p is0yrIItJC4cSQUx5oqwwDTZviBfoOV7BzjU+ORLi15hHJjYL+/iBey8VSgyu3hTca4ykpFr i1AktXUt3ANzR3T6tOeRvtl5Eeh3jSP2B7P5eFYO0w0krDbK5E5zr4ojJoTsELDETPol0Xqi 6+WcF8o9fa15OT6ZLjtu5ySN5dshw3jLKgjmdazDfklPgQQRWSX5Oqx2bz58UD5T7hGluA6n rfavZzAOMgXu7C1DxVR34sj8RqyDSqq3MwFkXUZL19JYg+Lg5X3N13UPfz1A/ayj06snTppw f3NI6fvDY/XLnfZlbfsZbZ95FBYyAo01d1f4IhUBasHIPL8RED+qMbYDgIiMwy02eroFM592 pkGWWKVA6+ZNr/dvkGU5uIoJemAfpEatyvgK/Q95v7ui2E2mUMFcKW0w5caa2q0Eul7L0mHe 3bgn9kMHGYQsgc+Q+HmkFiCXiRSZ3a2UaI8/DY7CIe+AIjZXoCtmKKO3COgE5JKfWBKEEiME W3pd4WCR/gDdj6SIshnkjAeS7euVpIh2QmotADh07VnNPbb+jUEtZL/09h4//DfmQko9TNoF 8Sdz32NT2Zsk2wUQD82xblzrlB5yleeyqd1mOdYFNxW5/NRSAg2L5/cz+pgC9DzQA3NZNmJS Ez1CumhVDo2V5c6x8IEKxJ2HMznhRTe1QKrBaUUnvqFHspnyK/E22nNIJNUzXrc2bZppkE+T 88HYWS+nqN73xDJBojCnlmekeCneblKjwDX82LW5GyCpkxHGCdoSajBFSQWflPbqfzy/QXaV b6oArk7NQ0HxMKffPgZIub1hElLEa+wcO/VZHi8zj/Y7Xegw7qNaNCvYGABxGDHD0NClQkP/ HGAPAx4ByG7omuYAiY9XUn3bRbK9u9z4Gi+Uldy1xuDOkR5z7ex0hUOw+SGSvUY064DvmEsp ygnVE2l0YfuAsGb7xFkYL0aZNo85Fld0meMvhRlM5iIJLsknkQfdQ96o0TokRh7F9YIitAk+ Usj1xE6MqeEyBVBejefiIj3IaHSI3Lu8QqHbLTf3F7T28yL4adJ4+9+s0/iugqkCk0ktXhrz rG5ylO64ZPHREoXWJP1CAMs8gRi4qvdaW877p/V0ntlNe+1tCXD0pQnHrltzBHoZNpZPK6ec W26W8QHG8ijLvArkFm1f1oFOu5V7qs9I8KhcbOPxqeqOO9qmD/ug35A5chx1UeF9iw0TeCtv d5NyumA0w+vXCy6lE2gtMv6hYdCIzweAyv3yCTpApJQerwnZZwCWgLMa4W8wtRzgYKoWmYNr QTzQQpfgonwIkTUMgCuuG8YnV4aqnGmhyaimjl9kjVz67GawDSL2ePpMhwOJm9MQmBmy1bqO 4m9yd4ADy3KJ0AkkgWo4UHiyu1VvqN6eiPaWV9FewD9NCd6SKq2vbeeZMgJ5Z81+3YyMqz0c RWBR7jxrgFPmSr7B2Za7DsgMSmwu5PykgB9jiSQIGs5/x+7MYlggBzY4tLbX/tY2DELETJ5h TfgDV+5J9C1/N+Qmv8vq8iGXnm6Ht1WeCjvl8absTejoHdtClu5luyyndvuFU471zX63p9kT 3eAoBH5a4jtn6O0VIAvNkBwHFL4w8FhXJlkk407iY0X3z4Xiojd8XcckGj1OMlWwuqnNipLH GdRhYeOvk64hAVqNTqRypj8V2mBz8cEBZHyeW4Q1i8nrohLBKqS8L1YjH5wq1u8oxjWZKs1l TMcxP0yrX8C1rhT6Ex0l3/bW+tMWxQEbkmO31yS4tuzrbtafjOqeLm0jg9lmMy5SauFqUdaU Wr4fZErGWlx6N9+ORTCyi6WiMmsdd/OYNYUrhDRnQ3Hir0fIYopm/4ijjEhIXj8u3Yo1+k9y xFiwNvp2erPY3Uo56+/DhNCY3f8f9se/hnmluBGhMeQ1I2zGZMnFzkWFsiNL7rgAHcZsvLpM ByLGTs3pyKAGLbRKgSY7V9vs3PFF534f2HSPnQSys9uAQWMPEEKyh5BRy00x9Rqc2LijNyka kpy4Sodo0L1ugcZgPw9LAHxCy/atE+pcmtmEcLPakMPtEcbvBmTaYvEtYcRV2lZ+JalsQCAe HSBZgJDAH0OXAqJC02rKLCq4ZOoH/GwPuOlNLOOZLyPrbYbTPKU3de11YAg+T+QN8KJN30kD vsh20MFU2orU8jenjwOTWQQmUevJ4aDowyg/yRsss2l2PPxUQTg6ICVFqBSd950vQisgKGIO vKXgmB0JSsQ2p4XxHDOwaQSxztww2k3LWnrSO1a83eWEuSNxudeFFYDZjl2NddU4q50xQRLN cPBy5v02rN+kv8pGgJFWFjmyaTLLYQBJ2CwMk+CBV7ebe7WY2SSmYeuOv36FOED6Ycc/we9s juaDUL5azGKlj2zEguqLfkJliaQehpXpIC6dB9pT2nlVtPvLBOhY7oVxXU7x6M5gnTSOCsSK z95JglEtqWd6QtTmbNnAW1H5Xd5Ku/CliqEpbq9SN5eob5wDyJ4mvgPqmw90KdQ5TpYSeZdn zHbqNFjqEu7ienJwSEhSABPrD1GmIWN+0huJO+Kk/sIEWaB9xUL42KKDh0MrNYwEdzjtZdbz d3Xnb7yIjNPoJrEuNERDM/OJIebIWIsZFD3TSXMAlJPHlvJfSnPwlZQm/aI+jiJo4gm/9Lyz YEWROYTXRRwH/ceQCyN/fQFOp5xUT4vi6OAjIgD/jymthjXT8hGuZaBW/6PU6yHwNmxhqICf wEJx7j1MYMVcID3xh47ArGftI/RXVLKXNZGrzFmaEk5rFgfqBBD
- Ironport-sdr: 63d42443_D+ZD4+0aoLbjSJ5pZHFP3mjfoFDITRMVs/Gwq8VxzUBZe8B d9YNMEG8LE2Rm78q2CN/xoedKVCu+2nWqKx9/nA==
I hereby announce the release of:
- VST 2.10 (July 2022)
- VST 2.11 (August 2022)
- VST 2.11.1 (December 2022). As usual since 2020, the best way to install VST is through the Coq Platform. That ensures your versions of VST, CompCert, and Coq are all compatible.
- Iris-in-VST, a new library by William Mansky allowing Iris-style concurrency and invariant reasoning (and Iris Proof Mode) in VST. See description below. Iris-in-VST is not yet part of the Coq Platform, you can install it as the opam package coq-vst-iris.
For a list of what's new in VST 2.10 / 2.11 / 2.11.1, see the CHANGES file.
Iris in VST (by William Mansky)
Iris is a Higher-Order Concurrent Separation Logic Framework, implemented and verified in Coq, based on a step-indexed model abstracted via modal operators.
VST is a Higher-Order Concurrent Separation Logic for C, implemented and verified in Coq, based on a step-indexed model abstracted via modal operators.
Iris has many attractive features: an elegant and well-designed internal model, a powerful logical system for reasoning about ghost state of concurrent programs, Iris Proof Mode (IPM) for convenient tactical reasoning in the modal logic.
VST has many attractive features: a proved-sound program logic for almost the whole C language; a powerful proof automation system (Verifiable C) for applying the program logic to C programs via symbolic execution; Verified Software Units for modular verification of modular programs.
Why not have the best of both worlds, and use Iris's ghost-state reasoning system (with Iris Proof Mode) for reasoning about concurrent C programs! One obstacle might be: the underlying semantic models, while based on similar principles, are quite different. But logic steps in to save us: Iris abstracts its model into a logic with operators and inference rules; VST abstracts its model into a logic with operators and inference rules; and the two logics are compatible enough to be able to use IPM and Iris's ghost-state features on top of VST.
The new release of Iris-in-VST includes a significant expansion of the Iris and Iris-inspired features available in VST, intended especially for verifying fine-grained concurrent programs. Available features include:
- MoSeL (Iris Proof Mode) integration – use the iIntros tactic on any entailment to switch into Iris mode, and then use any Iris tactics to prove the goal.
- Custom ghost state – any separation algebra can be used as ghost state in a program. In this version, ghost state is affine, and can be freely dropped at any point in a proof.
- Invariants and fancy updates – resources can be put into global invariants at any point in a program; resources in invariants can be accessed between steps and by atomic operations.
- Persistent assertions – invariants, snapshots, and other “information”-type ghost state can be declared persistent, and persistent resources are automatically duplicated as needed when using Iris tactics.
- Logically atomic specifications – functions can be verified against logically atomic specifications, proving that they appear to take effect at a single point in time. Our lock implementation is now verified against a TaDA-style atomic specification.
Ghost state, invariants, fancy updates, and atomic operations are foundational extensions to VST and are available without installing Iris. To use the features that directly integrate Iris infrastructure and tactics, you will need to install Iris. If installing VST through OPAM, you can install the package coq-vst-iris (which depends on both coq-vst and coq-iris) to enable all features. The tutorial in doc/concurrency.pdf walks through most of the new features; for more information, see the Iris documentation or contact William Mansky <mansky1 AT uic.edu>.
- [Coq-Club] VST version 2.11.1, and (new!) Iris in VST, Andrew Appel, 01/27/2023
Archive powered by MHonArc 2.6.19+.