filippeesje wrote:Norfolk wrote:pred ==
(\n.(n (\p.\z.((z (succ (p true))) (p true))) \z.((z 0) 0))) true
Uitleg:
De clue is dat de n eerst ingevuld wordt. De n is van de vorm \f.\x.(f (f (f ...(x) ...).
Op elke f wordt dus die "next" ingevuld. En op de x wordt [0,0] ingevoerd.
Dus die next zal n keer uitgevoerd worden op [0,0].
In stap 1 is het dus [0,1] geworden en in stap n is het dus [n-1, n].
Je gebruikt dus die true nog eens om het eerste element daaruit te halen
das bena net het tegengestelde van wat in de "cursus" staat
uiteindelijk is het hetzelfde als in de cursus, enkel moet na de laatste (p true) een haakje weg, dus ))) ipv )))).
Ah en bah, kwas precies niet goed wakker, bij mijn eerste ding had ik de 2-de coordinaat laten optellen
daarmee moest het true zijn, hier is het andersom en moet het toch false zijn...
HET ECHTE MOET DUS ZIJN:
(\n.(n (\p.\z.((z (succ (p true))) (p true))) \z.((z 0) 0))) false
of zoals ik het eerst had:
(\n.(n (\p.\z.((z (p true) (succ (p true))))) \z.((z 0) 0))) true