On Jun 13, 5:54 pm, Jan Burse <janbu...@fastmail.fm> wrote: > Graham Cooper schrieb: > > > ~tail <- ~head > > > directly follows from > > > head <- tail > > The above cannot is contraposition, see also:http://en.wikipedia.org/wiki/Contraposition > > It cannot turn positive information only: > > p(1). > > Into positive and negative information: > > forall X(p(X) <-> X=1). > > The contraposition cannot add negative information. > It might only yield logical variants of the input > theory, but it might not perform some completion. > > Contraposition is also an equivalence, in classical > logic, because of double negation elimination: > > P -> Q => ~Q -> ~P > => ~~P -> ~~Q > <=> P -> Q > > So its actualy: > > P -> Q <=> ~Q -> ~P > > You can try to apply it to the fact p(1). Frist > represent the fact as it is done in Prolog: > > p(1) <- true. > > Then apply the contraposition: > > ~true <- ~p(1). > > No negative information added! It is still that > we cannot derive, assuming nats as domain: > > P |- ~p(2) /* not derivable */ > > Bye >
Not with that alone!
Are you seriously suggesting Negation As Failure = Not
and that's the end of story!
There's a difference between 'the platonic universe' and computations!
With computers you cast a line and wait a while and see if you got a bite!
"NO FISH TODAY!" is what you tell your wife at the end of the day when you go home!
It's the "NO!" that the PROLOG interpreter sadly responds after an exhaustive search of matching facts!
You can't define the UoD with "I can't find the solution so it doesn't exist!" and continue on using that fact as "untrue".