So it’s been a while, but I’m back on development, and still stuck on the transference problem that I wrote about in prior posts. This post is largely a reminder to myself and any spambots listening that Prolog is not a solution to the system’s woes.
I honestly expected that I could just create an “adapter” between my system and prolog to use the prolog logic engine. Unfortunately, I quickly discovered that was not a solution. Why? Because prolog is based in a world where facts are absolute. Vincent loves Mia (or in prolog, loves( vincent, mia)). In prolog, all Vincents love all Mias at all times, in all places, in all possible worlds. The need for simplicity in the strictlylogic system makes everything relative, or a “conditional” as in prolog. This has the added advantage of making any dubious assumptions more obvious: if @1 is Vincent && @2 is Mia, then @1 loves @2. Prolog is all about proving absolute facts, strictlylogic is about proving conditionals. Translating this system to one that mimics absolute facts is not a small task.
But I tried anyway, at least to see if I could utilize prolog to get around some of the harder logic edge cases like the transferability problem. Only to find that in translating to prolog, I ran into the same transferability problem in knowing what the “fact” version of a principle would look like. For example, in Prolog you can just do jealous(X,Y) :-loves(X,Z),loves(Y,Z). But in strictlylogic, loves(X,Y) and loves(Y,Z) are the same statement, because variables are ignored when storing statements (for reasons primarily dealing with implications). So in strictlylogic (the version I’m working on now), it’s stored more like the equivalent of jealous(X,Y):-loves(X,Y),loves(X,Y). Which is of course insufficient, because that’s not really what the statement says. So if I want to translate that to prolog, I need to add more info – namely the relationship between the variables – which I believe I can solve at the cost of rewriting some of the principle stuff. But if I do that, then I might as well finish it within the system rather than relying on prolog’s system which is not really designed for what I’m trying to do.
So that’s where I am now. Despite being stuck on the transferability problem for what I think is over a year now (I’ve been busy with other stuff too) I can see a path forward and will either fail or succeed sometime soon.
Posted in: Uncategorized