Hmm, Rulelog.
Hmm, Rulelog.
How did we get from
0 = false
1 = true
to
Skolemize the monotonadic varptor function of the pre-literal dynastic modifier base importation exclusion-by-failure nonterminator defeasement
Surely there must be some *simpler things* that all this weird stuff is built out of?
And then the weird stuff can be a program?
Like, how do logicians argue about points of logic? They use some kind of logic to do it, right?
Shouldn't we just take whatever system logicians use, and code *that* up first?
@ayys So, Prolog.
And yet, here's Rulelog, which 'combines much of the latest work in logic programming', but doesn't do it as, eg, propositions and predicates and theorems, but as a bunch of weird high-level stuff baked into the literal *syntax*.
This seems like putting several carts before a very tiny horse.
@ayys .... you're in CS, and you've studied logic for years, but you've never yet heard of Prolog.....? O_O
I weep for CS. But I'm also kinda not surprised. Nobody seems to learn about anything older than five years ago.
Prolog is a 1970s language, so it's got 1970s problems - maybe you've heard of modern spiritual successor, Kanren?
@ayys Cool, Lisp at least is a good enough base for implementing Prolog on.
But seriously, you can't get very far in looking at computational logic before you hit Prolog (eg, unification by Robinson Resolution). Even today, most type theories are implemented in it.
It is a very small and simple logical proof algorithm that isn't amazingly clever but is at least mostly easy to understand.