Principio di induzione

Il principio di induzione è una tecnica per provare che una proprietà è valida per tutti i numeri di .

La tecnica per dimostrare la proprietà consiste nel:

  • Caso base, per cui si dimostra che è vero
  • Passo induttivo, per cui si dimostra che , cioè che se è dato per vero (ipotesi induttiva), anche deve esserlo

Per esempio, si ha da dimostrare che con , :

  • Caso base:

  • Passo induttivo:

    Sia l'ipotesi induttiva scontata, con .

    E quindi è verificato che

Principio di induzione completo

Tramite il principio di induzione completo (o forte) è possibile semplificare il processo di dimostrazione visto che si considerano veri tutti i numeri dal caso base fino a nel passo induttivo.

Quindi, per dimostrare la proprietà va dimostato:

  • Caso base, per cui si dimostra se è vero
  • Passo induttivo, per cui si dimostra che se la proprietà vale per i primi numeri allora vale anche per , quindi .

Per esempio, si ha da dimostrare che vale :

  • Caso base: vale perchè che è primo.

  • Passo induttivo:

    Si suppone che quando , tutti i numeri tra ed siano scomponibili: che è quindi l'ipotesi induttiva.

    Si vuole quindi dimostrare che la proprietà vale per , ed esistono due casi per cui dovrebbe valere:

    • è primo, allora vale perchè è già scomposto
    • non è primo, allora per cui .
      Per ipotesi induttiva e sono scomponibili in fattori primi e quindi lo è anche .

Funzioni ricorsive

Oltre a dimostrare la proprietà definita dalle funzioni ricorsive, va anche dimostrato che terminano.

Per esempio, la funzione , con , può essere espressa come: e si vuole dimostrare che è ben definita (cioè che trova veramente ):

  • Caso base:

  • Passo induttivo:

    Sia con , si assume per vero e che sia quindi l'ipotesi induttiva.

    Va verificato che quindi,

Inoltre si vuole dimostrare che la funzione corrispondente ,

int fact(int n) {
	if (n == 0) {
		return 1;
	}
	return fact(n-1) * n;
}

termina e restituisce :

  • Caso base: Con , fact(n) restituisce

  • Passo induttivo:

    Sia con e si suppone che fact(n-1) termina e restituisce .

    Allora,