Supponiamo di avere un linguaggio semplice costituito dai termini:
- se sono termini, allora lo è anchei f
Ora supponi le seguenti regole di valutazione logica:
Supponiamo di aggiungere anche la seguente regola funky:
Per questo linguaggio semplice con le regole di valutazione fornite desidero dimostrare quanto segue:
Teorema: Se e allora c'è un termine tale che e .r → t u s → u t → u
Lo sto dimostrando per induzione sulla struttura di . Ecco la mia prova finora, tutto ha funzionato bene, ma sono bloccato all'ultimo caso. Sembra che l'induzione sulla struttura di non sia sufficiente, qualcuno può aiutarmi?r
Prova. Per induzione su , separeremo tutte le forme che può assumere:r
- è una costante, nulla da dimostrare poiché una forma normale non valuta nulla.
- se vero allora altrimenti . (a) entrambe le derivazioni sono state fatte con la regola E-IfTrue. In questo caso , quindi non c'è nulla da dimostrare. (b) una derivazione è stata fatta con la regola E-IfTrue, l'altra con la regola E-Funny. Supponiamo che stato eseguito con E-IfTrue, l'altro caso è dimostrato in modo equivalente. Ora sappiamo che . Sappiamo anche che se vero allora altrimenti e che esiste una derivazione (la premessa). Se ora scegliamo , concludiamo il caso.r 3 s = t r → s s = r 2 t = r ′ 2 r 3 r 2 → r ′ 2
- se falso allora altrimenti . Equivalentemente dimostrato come sopra.r 3
- if allora altrimenti con vero o falso. (a) entrambe le derivazioni sono state effettuate con la regola E-If. Ora sappiamo che if then else et if then else . Sappiamo anche che esistono derivazioni e (i locali). Ora possiamo usare l'ipotesi di induzione per dire che esiste un termine tale chee . Concludiamo ora il caso dicendo if quindi altrimenti e notando che et secondo la regola E-If. (b) una derivazione è stata fatta dalla regola E-If e una dalla regola E-Funny.
Quest'ultimo caso, in cui una derivazione è stata fatta da E-If e uno da E-Funny è il caso che mi manca ... Non riesco a riuscire a usare le ipotesi.
L'aiuto sarà molto apprezzato.