Comment prouver $ c = a + b $ en utilisant des techniques de vérification du programme

cs.stackexchange https://cs.stackexchange.com/questions/92485

  •  05-11-2019
  •  | 
  •  

Question

J'essaie de prouver une chose élémentaire, mais il semble à un moment donné que vous vous rendez atomes où vous ne pouvez rien prouver d'autre. C'est pourquoi je me demande de prouver $ c = a + b $, cela semble être un atome.

begin {aligner} {a, b } c = a + b {a, b, c = a + b } end {align}

Ceci est ma tentative d'affirmation Hoare. Il dit "étant donné $ a $ et $ b $, si j'attribue $ c $ à $ a + b $, alors je me retrouve avec $ a et $ b $ inchangé, et $ c $ attribué à $ a + b $ . " Autrement dit, il dit "si je fais $ c = a + b $, alors je me retrouve avec $ c = a + b $", qui semble redontant. De plus, cela semble difficile à formaliser dans la programmation. Si le formulaire est $ {p_1 } q {p_2 } $, alors $ q $ et la partie $ c $ de $ p_2 $ est le même code, à savoir $ c = a + b $. Je ne vois donc pas qu'il y ait besoin d'écrire une affirmation pour l'ajout, nous pouvons simplement énoncer ses propriétés (qu'elle renvoie un nombre) et elle est prouvée par définition. C'est-à-dire que c'est un axiome.

Je me demande si c'est vrai, ou où il me manque quelque chose. Parce que lorsque j'ai essayé d'écrire ceci dans un logiciel, je me retrouve à ce à quoi il ressemble dans cette définition de l'affirmation Hoare ci-dessus, $ c = a + b $ deux fois.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top