dafny ошибка нарушения утверждения, не знаю, в чем причина

Я новичок в Дафни. Здесь жалуется, что есть ошибка утверждения:

method Fred () returns (result : int) {
  var number : int;
  result := number * number;
  
  assert result > 0;

}

Я пытаюсь написать утверждение, выражающее следующее утверждение: квадрат любого целого числа неотрицательен.


person henry_1920    schedule 29.08.2020    source источник


Ответы (1)


Утверждение проходит, если вы измените его на result >= 0. Это то, что вы имели в виду? Если number равно 0, то result тоже будет 0.

person James Wilcox    schedule 30.08.2020