combinatory logic
kombinatoorloogika
olemus
arvutusloogika, mille süntaks võimaldab hoiduda kvantifitseeritud muutujatest; nagu lambda-arvutuski, esitab arvutusi kujutavaid terme; iga term on üks järgmistest:
- muutuja x
- primitiivfunktsioon (kombinaator) I, K või S
- superpositsioon (E1, E2), kus E1 ja E2 on termid
= a notation to eliminate the need for quantified variables in mathematical logic, a model by which logical statements can be described as a combination of a small number of primitive elements
primitiivfunktsioonid on defineeritud nii:
- I(x) = x iga termi x korral
- ((K x) y) = x st (K x) on funktsioon, mis
teisendab suvalise termi y termiks x
- (S x y z) = (x z (yz))
seos lambda-arvutusega: lambda-arvutuse iga termi t
saab esitada kombinatoorloogika termiga T[t],
kus teisendus T defineeritakse nii:
T [x] = x
T [(E1, E2)] = (T [E1], T [E2])
T [λx.E] = (K T [E]), kui x on termis E ainult kvantifitseeritult
T [λx.x] = I
T [λx.λy.E] = T [λx. T [λy. E]], kui x on termis E kvantifitseerimata
T [λx.(E1, E2)] = (S T [λx.E1], T [λx.E2]),
kui x on ühes termidest E1 või E2 kvantifitseerimata
ülevaateid
https://en.wikipedia.org/wiki/Combinatory_logic
https://esolangs.org/wiki/Combinatory_logic
https://www.cs.vu.nl/~femke/courses/ep/slides/history.pdf
https://plato.stanford.edu/entries/logic-combinatory/
https://wiki.haskell.org/Combinatory_logic
vt ka
- kombinatoorika
- matemaatiline loogika