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: Michael Soegtrop <MSoegtrop AT yahoo.de>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] meaning of formal specifications
  • Date: Mon, 25 Jan 2021 19:03:49 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=MSoegtrop AT yahoo.de; spf=Pass smtp.mailfrom=msoegtrop AT yahoo.de; spf=None smtp.helo=postmaster AT sonic304-21.consmr.mail.ne1.yahoo.com
  • Ironport-phdr: 9a23:nXRToxRCCHXlNJjom/yUw1jHT9psv+yvbD5Q0YIujvd0So/mwa6yYhKN2/xhgRfzUJnB7Loc0qyK6vGmAzdLvcrJ8ChbNsAVCFld0YRetjdjKfbNMVf8Iv/uYn5yN+V5f3ghwUuGN1NIEt31fVzYry76xzcTHhLiKVg9fbytScbdgMutyu+95YDYbRlWizqhe7NyKwi9oRnMusUMjoZuN6I8xgHXrnZGdOhbymxlLk+Xkxrg+8u85pFu/zlStv4768JMTaD2dLkkQLJFCzgrL3o779DxuxnZSguP6HocUmEInRdNHgPI8hL0UIrvvyXjruZy1zWUMsPwTbAvRDSt9LxrRwPyiCcGLDE27mfagdFtga1BoRKhoxt/w5PIYIyQKfFzcL/Rcc8cSGFcWMtaSi5PDZ6mb4YXEuQPI+hYoYn+qVUAoxSxCgujC//gxDFPnXL2wa833v49HQzc0gEtHdQDu2nUotXvM6cSVPi4wq7JzTrfb/NZwyny6IzVeR48pvGDQ71wcdbLyUkoDwPOk1Kdp4v4MTOSyOsNvHSb7/BnVeK3kGMmqxt+ojioxscrkIXGm5wax0nC+C5kz4k7Oce2R1RnYd64DpRQrSeaOpNqT84+X2xltzs3xLIbtZOncyUHx5spywLCZvCbfYWF4AzuWumMLTtkhX9rd7ayihi8/EW+1+DxVca53lhIoydFlNTHq3MD1wTL58WGS/Zx5Fqt1DeB2gzJ9+1JJV04mbDGJ5MuwLM9kIcYv17ZES/sgkr2ibebdkU69eis7OTqeq7mppiaN491lg7zPLgil8OmDegmLwQCRXSU+eO61L34+E35Wq9GjvgsnanYtJDWP8IbqbCkDwNP0ocs8Ra/DzCh0NgCgXYHK1dFdAqGj4jvJV7OPOj1APa+jli2jTtmxv7LMqf8DpjJM3TPiqrtcLl/5kJEzQo819Ff55ZaCrEbJ/LzX1f8tNnDDh8+LQO0zPrnCM961oMGQm+OArWWMKPVsV+P/O4gPveDaJcPuDnhM/gl++LujXghlFABeqmpxIIbZ2y8HvR7OEqUemHsg9cEEWcSpAUyVu3qiFuYUT5SfXm+Raw85itoQL6hWIzEX8WmhKGL9Ca9BJxfIG5cWX6WFnK9UoSPW/4BbGqpJcJujiYDTfD1brQm2B6yrgji46tuLu3TvCEV48GwnONp7vHewElhvQd/CN6QhjnUEzNE21gQTjpz55hR5FRnww7bg7lxg/tfU9BetasQA1UKcKXExuk/MOjcHwfIf9OHUlGjG430EDgxSdV3z9JcOh8gSeXntQjK2m+RO5FQl7GPA8dloLnb2Xn6fJ4hjiyfkqImiUIjWI1KPGyiwKhyrk7CDo7OlAOSkKP4Lak=

Hi Adam,

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.

I don't agree with this view. The specifications are supposed to define desirable properties of a system, not how these are achieved. These specified properties are those which a larger system requires from a subsystem.

An arbitrary example:

A specification of a C function doing minimization states that there is a tuple of input parameters which may be varied and a goal function which maps this tuple to a real number. One can then abstractly define the minimum (or infimum) of the goal function over all possible parameter tuple values. Then one can specify that the goal function applied to the set of parameters the C function returns shall not be worse than a well defined increase over this abstract minimum. Such a specification has nothing to do with refinement, simplified systems or possible implementations. It simply states what it means to minimize something and what deviation from perfection is tolerable. In a larger context such a specification is more interesting than stating that the optimization function behaves approximately like some simplified prototype algorithm. To the reader of the specification it tells exactly what (s)he can expect from the C code. A comparison with a simplified reference implementation wouldn't tell that, unless one analyzes this simplified algorithm in detail.

Every reasonable system has a purpose and a specification should describe this purpose, not a simplified system which serves this purpose. At least in the area I work in (RF), there is always a purpose which is much easier to write down than even the most simplistic system which could achieve this purpose. The exception is if the purpose is "compliance to standard XYZ" and standard XYZ describes a simplified system.

Maybe my view is subjective to my work area, but if you say it is frequent that for a systems it is harder to describe its purpose than to describe a possible implementation, I would like to discuss a few examples.

Best regards,

Michael



Archive powered by MHonArc 2.6.19+.

Top of Page