|
Lightbreeze |
...
Registered: Jan 2009
Posts: 24 (0.00 al dì)
Location: novara-milano
Corso: Informatica
Anno: 3°
Time Online: 23:27:57 [...]
Status: Offline
Edit | Report | IP: Logged |
Dovrebbe essere così
la prima parte è semplice:
cambio variabili -> H=[e, f, g], invers(H, K).
regola 1 -> invers([e,f,g], K).
regola 4 -> invers( [f,g], A), conc(A, [e],K).
regola 4 -> invers([g], B), conc(B, [f], A), conc(A, [e],K).
regola 4 -> invers([], D), conc(D, [g], B), conc(B, [f], A), conc(A, [e],K).
regola 3 (D=[]) -> conc([], [g], B), conc(B, [f], A), conc(A, [e],K).
regola 1 (B=[g]) -> conc([g], [f], A), conc(A, [e],K).
ora,
regola 2 X=g, L1=[], L2=[f], A=[g|L3] -> conc([],[f],L3), conc([g|L3], [e], K).
regola 1 L3=[f] -> conc([g,f], [e], K).
regola 2 X'=g, L1'=[f], L2'=[e], K=[g|L3'] -> conc([f], [e], L3').
regola 2 X"=f, L1"=[], L2"=[e], L3'=[f|L3"] -> conc([], [e], [L3"]).
regola 1 L3"=[e] -> clausola vuota
Finito! H=[e,f,g] K=[g|L3'] = [g| [f|L3"] ] =[g|[f|[e]]]= [g,f,e]
Spero sia comprensibile
|