From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Contracts in generic formal subprogram
Date: Wed, 12 Apr 2023 09:49:35 +0300 [thread overview]
Message-ID: <k9n2jvFark6U1@mid.individual.net> (raw)
In-Reply-To: <4I=3lX6HccsqYa6JC@bongo-ra.co>
On 2023-04-12 6:37, Spiros Bousbouras wrote:
> On Wed, 12 Apr 2023 02:18:45 -0000 (UTC)
> Spiros Bousbouras <spibou@gmail.com> wrote:
>> On Tue, 11 Apr 2023 14:03:27 +0200
>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote:
>>> The formal meaning of weaker/stronger relation on predicates P and Q:
>>>
>>> weaker P => Q
>>> stronger Q => P
>>>
>>> The formal rationale is that if you have a proof
>>>
>>> P1 => P2 => P3
>>>
>>> Then weakening P1 to P1' => P1 and strengthening P3 => P3' keeps it:
>>>
>>> P1' => P2 => P3'
>>
>> You have it backwards ; if P1' implies P1 then P1' is stronger
>> than P1 .
>
> Apologies ; it was me who got it backwards.
Speaking of logic in general, rather than Ada contracts in particular, I
would say that you got it right, and Dmitry did not.
Suppose we have a theorem about geometrical figures F, and at first we
can prove the theorem only if we assume (precondition) that the figure F
is a square. Later we manage to improve the proof so that it holds also
for rectangles. I would say, and I think mathematicians would say, that
we /weakened/ the assumptions from "F is a square" to "F is a
rectangle", and indeed the former (stronger) implies the latter
(weaker), which is not as Dmitry defined "stronger".

next prev parent reply other threads:[~2023-04-12 6:49 UTC|newest]
**Thread overview: **13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-08 7:00 Contracts in generic formal subprogram mockturtle
2023-04-08 8:02 ` Dmitry A. Kazakov
2023-04-11 5:56 ` G.B.
2023-04-11 12:03 ` Dmitry A. Kazakov
2023-04-12 2:18 ` Spiros Bousbouras
2023-04-12 3:37 ` Spiros Bousbouras
**2023-04-12 6:49 ` Niklas Holsti [this message]**
2023-04-12 7:30 ` G.B.
2023-04-12 12:29 ` Ben Bacarisse
2023-04-13 6:27 ` Dmitry A. Kazakov
2023-04-08 9:09 ` Randy Brukardt
2023-04-08 16:48 ` Simon Wright
2023-04-08 17:27 ` mockturtle

replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox