Répondre

0

L'obstacle fondamental dans votre approche pour augmenter toutes les valeurs est que l'utilisation de la commande relationnelle dans la promotion (dernière ligne) précise que toutes les valeurs de data' carte à la même valeur que dans data sauf à la position index?.

Une approche est explicitement « itérer » sur la relation pour tous les éléments:

--- ArrayIncrement --- 
| ΔArray 
--- 
| dom data = dom data' 
| ∀ i:dom data; ΔData · 
|  θData = data i ∧ θData' = data' i ∧ Increment 
------ 

Dans la première ligne du corps, nous affirmons que le domaine reste le même, sans qu'il y aurait une infinité de solutions avec éléments supplémentaires.

Dans la ligne suivante, nous configurons les variables pour représenter l'état avant et après à l'index spécifique de façon analogue à la deuxième ligne dans Promote de votre solution.