coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Agnishom Chattopadhyay <agnishom AT cmi.ac.in>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] meaning of formal specifications
- Date: Mon, 25 Jan 2021 10:01:28 -0600
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=agnishom AT cmi.ac.in; spf=Pass smtp.mailfrom=agnishom AT cmi.ac.in; spf=None smtp.helo=postmaster AT mail.cmi.ac.in
- Ironport-phdr: 9a23:N0F31hVZ1ETidqip9Xy4uchXd4/V8LGtZVwlr6E/grcLSJyIuqrYbB2Bt8tkgFKBZ4jH8fUM07OQ7/mxHzZbqsrd+DBaKdoQDkBD0Z1X1yUbQ+e9QXXhK/DrayFoVO9jb3RCu0+BDE5OBczlbEfTqHDhpRQbGxH4KBYnbr+tQt2agMu4zf299IPOaAtUmjW9falyLBKrpgnNq8Uam4RvJrs1xxfTvHdFdetayGxnKFmOmxrw+tq88IRs/ihNuf8t7dJMXbn/c68lUbFWETMqPnwv6sb2rxfDVwyP5nUdUmUSjBVFBhXO4Q/5UJnsrCb0r/Jx1yaGM8L4S7A0Qimi4LxwSBD0kicHNiU2/3/Rh8dtka9UuhOhpxh4w47JfIGYMed1c63Bcd8GQ2dKQ8BcXDFDDIyhdYsCF+UOPehaoIf9qVUArgawCxewC+700DBEmmX70Lcm3+g9EwzL2hErEdIUsHTTqdX4LLsfUe+zzKnJ1jXDb/RW2TLg44XWchAuu+2MXa53ccrJ00YgCgPFj1WKpo3lIjiY0f4Cs2ed7+phTuKvi2knqwRqrzezw8csi5PFiZgJxVze9CV5xp84KNulQ0F0fdCqCoFftz2GN4RoWMMiRXlltig6xLAEtpC2YSYExYglyhPba/KKc4eF7BL/WOuVLzl1hHZodbO/iRqs7UWtyPHwWtS03VtOrydIncfAu24D2RHV98OJRPx9/kK71jaO0QDe8vxEIVgqmqrdLZ4t2KA/mYcOsUnFAyT4m132gbeLekk5+uWk8frrb7rlq5OGKYN4lxvyPrktl8CjGeg0LBQCUmyB9em/1LDv51D1TbRLg/EskqTUvpbXLtkBqKGjGQ9ayIMj5g6/Dzi41NQYmmEKLFdfdxKGi4jlIU3BIPX5DfulmVujjC1nx/HAPrH5A5XNKGbMkKv5cLpg9kJRyBA/wc5Q6p9XEL0NPu//VlXsuNHbEhM1Kwm0zPzmCNV52IMeQ2WPAqqBPazIvl+I4OMvI/KMZI8SvTbwMOQq5/vvjXMjg1ASYbOl3ZoRaHygBPRpP12ZYWbwgtcGCWoFog0+TPXzhFKeVT5Tem29Urkn5jA7DYKmFZ3MSpqsgLyHxie7H4dZanpIClCWQj/UcNCPXO5JYyaPKOdglCYFXP6vUdwPzxar4Sb1zbt8Lu3RsgYYvI7/08B86+3CnAB6oTV7CcWG02aIZ2pxnyUBTHk32vYs8gRG1l6f3P0g0LRjHttJ6qYRC1toBdvn1+V/TuvKdEfZZN7QEQStR9TgCDp3T9Rjm4ZTMXY4IM2ri1X45wTvA7IRkOXVVpk986aa1H3wYc92jXfAhvF43gsWB/BXPGjjvZZRsg3aBorHiUKczv/4fqEdmifGsmaFnzOD
Sometimes the specification part of a formal verification project can be intertwined with the implementation. For example, Hindley-Milner style types (e.g, Haskell/ML) are a form of promise (formal specification) that a piece of code does something (e.g, returns an Int given an Int). It is possible to extend the type system in ways that makes this sort of specification more precise. You can do this using Sigma types and so on.
In some sense, Coq works in this manner. Just to clear up a misconception, Coq proofs are not all about LTac. The LTac scripts are essentially metaprograms that generate a term in Gallina, the same language in which you'd usually write the datatypes and function definitions.
On Mon, Jan 25, 2021 at 9:39 AM Fritjof <fritjof AT uni-bremen.de> wrote:
Hi,
I have a question regarding what formal specification exactly means in the
proof assistant context.
First *formal verification* means an implementation satisfies its formal specification.
The satisfiability is shown using formal methods of mathematics, e.g., a constructed proof
in Coq.
So we have the following terms:
1) implementation
2) formal specification
3) constructed proofs
In the context of proof assistants, e.g., Coq, I would describe:
1) implementation - as the *program*, collection of function definitions and data types
2) formal specification - as the properties that argue about the program, e.g., theorems, lemmas or axioms
3) constructed proofs - statements of the LTac language
However, I have also read that the implementation part is referred to as a formal specification:
- https://www.cis.upenn.edu/~bcpierce/papers/pierce-etaps2018.pdf
or the combination of 1,2 and 3 is referred to as a formal specification, like in: a program in haskell
is extracted from this formal specification.
Am I right, that the term *formal specification* often donetes the combination of 1,2 and 3, or just 1
or am I missing something?
Kind Regards,
fritjof
- [Coq-Club] meaning of formal specifications, Fritjof, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Ian Atol, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Benoît Viguier, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Abhishek Anand, 01/26/2021
- Re: [Coq-Club] meaning of formal specifications, Benoît Viguier, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Agnishom Chattopadhyay, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Adam Chlipala, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Michael Soegtrop, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Adam Chlipala, 01/27/2021
- Re: [Coq-Club] meaning of formal specifications, Michael Soegtrop, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Xavier Leroy, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Vincent Semeria, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Adam Chlipala, 01/27/2021
- Re: [Coq-Club] meaning of formal specifications, Vincent Semeria, 01/27/2021
- Re: [Coq-Club] meaning of formal specifications, Fritjof, 01/29/2021
- Re: [Coq-Club] meaning of formal specifications, Vincent Semeria, 01/27/2021
- Re: [Coq-Club] meaning of formal specifications, Adam Chlipala, 01/27/2021
- Re: [Coq-Club] meaning of formal specifications, Vincent Semeria, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Milad Ketabii, 01/25/2021
- Re: [Coq-Club] meaning of formal specifications, Pierre Courtieu, 01/26/2021
- Re: [Coq-Club] meaning of formal specifications, Ian Atol, 01/25/2021
Archive powered by MHonArc 2.6.19+.