Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] meaning of formal specifications

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] meaning of formal specifications


Chronological Thread 
  • From: Adam Chlipala <adamc AT csail.mit.edu>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] meaning of formal specifications
  • Date: Mon, 25 Jan 2021 11:24:54 -0500
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=adamc AT csail.mit.edu; spf=Pass smtp.mailfrom=adamc AT csail.mit.edu; spf=None smtp.helo=postmaster AT outgoing-stata.csail.mit.edu
  • Ironport-phdr: 9a23:ioi5dBeVfC/tEG2bkJBNa7HIlGMj4u6mDksu8pMizoh2WeGdxcS8Zh7h7PlgxGXEQZ/co6odzbaP4ua6Aidcvd7B6ClELMUTEUddyI0/pE8JOIa9E0r1LfrnPWQRPf9pcxtbxUy9KlVfA83kZlff8TWY5D8WHQjjZ0IufrymUoHdgN6q2O+s5pbdfxtHhCanYbN1MR66sRjdutMZjId/Lqs90AXFr3VHd+lZym5jOFafkwrh6suq85Nv7iZdt+g9+8JcVKnxYrg1Q6FfADk6KW4++dfltQPETQuB53scVnsZnx9VCAXb7x/0Q4n8vDLiuuVyxCeVM8v2TaspWTu59KdkVAXoiCYcODEn9mzcl9F9g7haoBKloBx/3pLUbYSIP/dwYq/RYdUXTndHU81MVSJOH5m8YpMSAeQfM+ZWr4rzqVUAohSxBwajGOzhxyRUhnL1x6A2z/gtHA/E0QEmAtkAsG7UrNLwNKoKTe260bPHzTDeZP5I2Tf97InIcgg7rvGIR717bM3cxlMyGAzfi1WftZfoMC+O1usXsmib6/BsVeeui247sQ1+vCWgxto1h4TPm4kaxUzK+z9jz4YpOd23VlR7Ydi8HZZMqy2XKol7T8AiTWxqpio3zqELtYOncCULx5oqxADTZuCJfYaI4R/tW/ucLDN2iX9rdryygxa8/FS9x+D8S8W51ktBoCldktTUq3wByR/e5tKJR/dh5EutxyyD2x7O5u1YOUw5l6TWJ4Q/zrItkpcfq0XOEy/slEnrkqOaakMp8fWy5ev9eLXpvJqcOpd0ig7gNqQundSyAeMlMggSUGib/uW81Lvs/UHgW7VKkuc5krXDv5zAOcsbvbS2Aw5R0oo57ha/Dium3M4GknYaMVJJYBOHj473NFHSOP30EOmzjle2nDpl2/zKJKPtDo/TInTejLvtZbN95FRdyAo3w9Bf/ZVUCrQZLf3pR0D+rtnYAQMiPgOo2OboEtR91ocEVWKKA6+ZLLnevkGV6eIyO+WMfpMauC7hK/g54P7jlWM2mVgEfaWwwZQXbG24Ee99LkWCYXvsh88BHn0Qsgo/SuzqklyCXiRJa3a8RaJvrg08XYmhFMLIQp2nqL2HxiayWJNMNU5cDVXZOHvhcs2vW/MNcCuWK4c1mzANULOJQJQo1BXosQ7mjbdrM7yHqWUjqZv/2Y0ttKXonhYo+GksVpnP4yS2V2hx21gwaXo20aR4+hQvzUqf3q95hfMdDsBa+/oPWRwzNJqayu1mTd3+R1CZJ4vbeBOdWtyjRAoJYJcp2dZXPhR2ANyjilbG3jbsDrMIxeTSVc4Et5nE1n20HP5TjnPP1a0vlV4jG5YdPnavh6o58gnPQYPFjhfAmg==

My opinion is that a lot of people think they agree on what "formal specification" means, but it actually means almost nothing and is best to avoid using! Instead, formal methods is all about proving connections between systems, often where one system is markedly simpler than the other and thus easier to build confidence in.  We might then call the simpler system "the specification"... but then often a follow-up proof shows a relation between that system and an even simpler one, so it really doesn't make sense to draw a sharp line between specifications and implementations.

Often a specific proof method or logical predicate will have a slot designated to hold "the specification," in which case it's sensible terminology, but IMO it doesn't make sense independently of that kind of context.

On 1/25/21 10:38 AM, Fritjof wrote:
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

[...]

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?





Archive powered by MHonArc 2.6.19+.

Top of Page