[Con correzioni di S.Veneziano.]
Dobbiamo dimostrare
{a >= 0 ^ b > 0} q := 0; r := a; {r >= 0 ^ b > 0 ^ (a = b * q + r)}
Sia A' = r >= 0 ^ b > 0 ^ (a = b * q + r)[a/r][0/q] ( = a >= 0 ^ b > 0 ^ (a = b * 0 + a) )
e sia B = r >= 0 ^ b > 0 ^ (a = b * q + r)[a/r]
Abbiamo che il seguente e' un assioma
------------------
{A'} q := 0 {B}
Inoltre, indicando
B' = r >= 0 ^ b > 0 ^ (a = b * q + r)
il seguente e' un assioma
------------------
{B} r := a {B'}
A questo punto, poiche'
si puo' dimostrare che A -> A',
dove A = a >= 0 ^ b > 0
una dimostrazione per
{a >= 0 ^ b > 0} q := 0; r := a; {r >= 0 ^ b > 0 ^ (a = b * q + r)}
si ottiene nel modo seguente
------------------
A -> A' {A'} q := 0 {B}
------------------------------------ --------------------
{A} q := 0 {B} {B} r := a {B'}
---------------------------------------------------------------------
{a >= 0 ^ b > 0} q := 0; r := a; {r >= 0 ^ b > 0 ^ (a = b * q + r)}
Tale derivazione, descritta in dettaglio, e' quindi QUESTA (by S.Veneziano, file pdf).