Si considerino programmi consistenti di una dichiarazione di ambiente
globale di dati e di una lista di procedure, tutte allo stesso
livello, di cui l'ultima è il programma principale. Il corpo
delle procedure è una sequenza di istruzioni etichettate:
assegnamenti di espressioni e di chiamate di procedura. Le procedure
possono avere dati locali e le modalita' di passaggio dei parametri
sono per riferimento e per valore. Una procedura può invocare
solo se stessa o procedure già dichiarate passando costanti,
variabili, ed espressioni aritmetiche. Dati globali, dati locali e
parametri sono tutti di tipo intero. I parametri possono essere
passati per valore e per riferimento. Si vuole uno schema
deterministico discendente che calcoli come attributo del programma la
lista delle etichette delle istruzioni di chiamata di procedura che
passano un numero di attuali diverso da quello atteso o attuali
inappropriati alla modalità di passaggio.