Definitions and analytic truth

John McCarthy <>
Date: Mon, 6 Jan 92 20:39:59 -0800
From: John McCarthy <>
Message-id: <9201070439.AA22511@SAIL.Stanford.EDU>
In-reply-to: Richard Fikes's message of Mon, 6 Jan 1992 13:57:03 PST <>
Subject: Definitions and analytic truth
I think you are correct that only defobject gives problems, but it
does give problems if you leave it as is.  In it's most brutal
form it allows

(defobject foo (= foo 0) (= foo 1))

The most straightforward way of getting around this is to let
(defobject <name> <sentence>) generate the sentence

(implies (exists <name> <sentence>)  <sentence>),

i.e. the existence of an object satisfying <sentence> implies
that <name> satisfies <sentence>.