author(dijkstra, algol).
author(ritchie, unix).
author(wirth, pascal).
author(kernighan, awk).
author(backus, fortran).
author(kernighan, unix) .
author(backus, algol) .
author(kernighan, awk).
author(ritchie, plan9).
author(ritchie, c).
author(torvalds, linux).
author(corbato, multics).
author(aho, awk).
author(thompson, c).
author(straustrup, cpp).
author(hubbard, freebsd).
basedOn(linux, unix).
basedOn(pascal, algol).
basedOn(plan9, unix).
basedOn(unix, multics).
basedOn(awk, c).
basedOn(inferno, plan9).
basedOn(limbo, c).
basedOn(cpp, c).
basedOn(freebsd, c).
basedOn(openbsd, freebsd).
derivedFrom(X, Y) :- basedOn(X, Y).
derivedFrom(X, Z) :- basedOn(X, Y), basedOn(Y, Z).
YXV0aG9yKGRpamtzdHJhLCBhbGdvbCkuCmF1dGhvcihyaXRjaGllLCB1bml4KS4KYXV0aG9yKHdpcnRoLCBwYXNjYWwpLgphdXRob3Ioa2VybmlnaGFuLCBhd2spLgphdXRob3IoYmFja3VzLCBmb3J0cmFuKS4KYXV0aG9yKGtlcm5pZ2hhbiwgdW5peCkgLgphdXRob3IoYmFja3VzLCBhbGdvbCkgLgphdXRob3Ioa2VybmlnaGFuLCBhd2spLgphdXRob3Iocml0Y2hpZSwgcGxhbjkpLgphdXRob3Iocml0Y2hpZSwgYykuCmF1dGhvcih0b3J2YWxkcywgbGludXgpLgphdXRob3IoY29yYmF0bywgbXVsdGljcykuCmF1dGhvcihhaG8sIGF3aykuCmF1dGhvcih0aG9tcHNvbiwgYykuCmF1dGhvcihzdHJhdXN0cnVwLCBjcHApLgphdXRob3IoaHViYmFyZCwgZnJlZWJzZCkuCgpiYXNlZE9uKGxpbnV4LCB1bml4KS4KYmFzZWRPbihwYXNjYWwsIGFsZ29sKS4KYmFzZWRPbihwbGFuOSwgdW5peCkuCmJhc2VkT24odW5peCwgbXVsdGljcykuCmJhc2VkT24oYXdrLCBjKS4KYmFzZWRPbihpbmZlcm5vLCBwbGFuOSkuCmJhc2VkT24obGltYm8sIGMpLgpiYXNlZE9uKGNwcCwgYykuCmJhc2VkT24oZnJlZWJzZCwgYykuCmJhc2VkT24ob3BlbmJzZCwgZnJlZWJzZCkuCgpkZXJpdmVkRnJvbShYLCBZKSA6LSBiYXNlZE9uKFgsIFkpLgpkZXJpdmVkRnJvbShYLCBaKSA6LSBiYXNlZE9uKFgsIFkpLCBiYXNlZE9uKFksIFopLgoK