Как бы я посчитал промежуточную сумму в последовательности? - VDM-SL

Я только начинаю с VDM-SL и мне нужно выяснить, как рассчитать общую стоимость последовательности предметов.

У меня есть следующие типы:

types  
Item :: id   : token
        cost : nat;

Box = seq of Item;

И мне нужно выполнить следующую функцию, которая вычислит общую стоимость всех предметов в коробке. Пока что у меня есть:

TotalCost: Box -> nat
TotalCost(box) == forall i in seq inds box & x:nat => x := x + i.cost;

Я вполне уверен, что это нарушает правила VDM-SL, но я не могу найти большую помощь по этому вопросу.

Любая помощь по этому вопросу будет высоко ценится.

0 ответов

Другие вопросы по тегам