Can there be logic without the law of identity?

If a = a doesn't always hold, can there be logic? I heard there are logical laws where the law of non-contradiction doesn't always hold, so I am wondering if there were also other logics where the law of identity isn't held as an universal truth.

  • 2
    Sure. Standard propositional and predicate logics do not include identity = as a symbol, so a = a is not among their laws. When "=" is added "a = a" is typically postulated, but as part of convention for using the symbol, it is not exactly a "law" either. In fact, it is hard to say what "identity law" means substantively. Classically, it is associated with permanence through change, or lack thereof (that Heraclitus and Hegel advocated), which can be modeled by temporal logic, for example. A more radical approach is to exclude object variables, to which "=" applies, altogether, as in PFL.
    – Conifold
    Jun 2 at 5:10
  • 1
    Requiring consistent interpretation of bound variables and requiring 'identity' are different things. Mathematics has no ultimate sense of identity, only equivalence relations, and it gets along just fine. The requirements upon an equivalence relation test that the logic will work correctly. That does not mean any two things are ever identical, it requires that your axioms be tested every time you create a new use for the equals sign, the same way you need to test the axioms when you define anything else to which you will apply a generalization. Jun 2 at 16:52
  • 2
    I don't know the details but apparently category theory gives a formal way to replace equality with "equivalence" under a "category", see here & here with the comment "Instead of calling two things exactly equal, Eilenberg and Mac Lane urged mathematicians to embrace sophisticated new mathematical structures that captured the many ways in which two things might be the same, or equivalent."
    – Hypnosifl
    Jun 2 at 20:07
  • Are you referring to the reflexive axiom?
    – forest
    Jun 4 at 23:35

Let's say you've demonstrated something about A. Now let's say you want to use this result in another proposition about A. Ah, but is the A in the first proposition the same A than in the second one? If A=A is not always true, you can't say, and therefore you can't link two propositions sharing the same symbol.

Without the law of identity you can pretty much go nowhere.

Example for clarity:

  1. Socrates is a human.
  2. All humans are mortal.

Therefore what? Well, nothing, because to conclude Socrates is mortal you would need the symbol "human" to refer to the same concept in 1 and 2, but we don't know that anymore. This goes further than mere semantic trickeries where the same symbol is used to refer to 2 different ideas and pass some fallacy under the audience radar. We simply can't assume a symbol always refers to the same concept anymore.

  • 2
    Well, in Aristotelian logic there is actually no symbol "=" and no rules for it. We meta-think about Aristotelian logic using words like "the same concept in 1 and 2," but this is not formally part of the logic.
    – causative
    Jun 2 at 1:18
  • 2
    Point taken. But as much as i love hair splitting about the notation of ideas, I think we should concentrate on the ideas here.
    – armand
    Jun 2 at 1:33
  • 2
    No. Historically the law of identity predates the symbol = and formal logic.
    – armand
    Jun 2 at 2:20
  • 3
    @hide_in_plain_sight: what I explain is the other way around: we cant have name consistency if we don't have identity, I.e. If the object we point to by a name is not guaranteed to stay the same. Also, there is no notion of time passing in Aristotelian logic. I think you are confusing logical identity with ontological identity (ship of Theseus, etc...)
    – armand
    Jun 2 at 22:42
  • 3
    References to the ship of Theseus are irrelevant. Don't confuse ontological identity (what it means to name an object, like the ship of Theseus) and logical identity (the out of time sameness of an concept with itself)
    – armand
    Jun 3 at 10:28

You can have a form of this in extended algebras with an 'indeterminate' element, to represent things like 0/0. For most of the objects in the algebra, the law of identity applies. But if x = 0/0 and y = 0/0 that doesn't mean x = y. One example used in computer science is the Not-a-Number (NaN) in IEEE 754 Floating point numbers, which are not considered equal to themselves.

Another possible case is number systems designed to cope with uncertain/approximate values. If you have values rounded to finite precision, then x = 0.5 may represent any value 0.45 < x < 0.55. You can still do certain operations and comparisons on such numbers, but others like equality are invalid or unknown. A formula like "0.5 = 0.5" isn't generally true. Again, the common computer programming injunction not to rely on equality tests between floating point numbers is a practical example. A reasoning system designed to check the correctness of numerical algorithms has to implement a logic with a non-standard 'equality' operator.

You can still do logic in these situations, because identity works some of the time, in limited but generally well-defined circumstances. But it's not a universal law.

  • You say that x = 0/0, y = 0/0 but x != y (so sometimes there isn't equality). I would go as far as saying x = 0/0 is an invalid statement altogether. x = 0/0 is not saying "x is undefined", but rather it is saying "we are failing to define x in this statement" (however an alternative statement could succeed in defining x). And thus if you interpret that statement in that way, then there is no need to define an x != y exception to this scenario. Instead, the scenario x = 0/0 does not exist. (This is just my opinion, and my point might be confusing) Jun 4 at 17:49
  • This answer is incorrect. Imaginary numbers do not somehow disprove the reflexive axiom, because it does not apply to values that aren't real.
    – forest
    Jun 4 at 23:32

I assume by the "law of identity" you mean the thesis that everything is identical with itself. This is usually taken to hold in logic, but it needn't do so. One can have logic with identity or without, that is to say, one can treat the identity predicate as a logical constant, or one can treat it like any other predicate and interpret it. Schrödinger logic is a non-classical logic that dispenses with the law of identity. It is motivated by the idea that one cannot meaningfully speak of the identity of elementary particles.


Free logic is a generalisation of classical logic which permits discussion of empty terms: terms which do not refer to a thing that exists.

From a quick scan of the version described in the Stanford article, it looks like (if you define an identity symbol) it is typical to define it in the usual way (so that everything is self-identical) but I imagine you could have a version of free logic in which 'non-existent things' are not self-identical. For example, in this hypothetical logic the sentence 'my pet unicorn is identical to my pet unicorn' would fail to be true because my pet unicorn does not exist.

(Classical logic could handle this with a definite description, so that the logical structure is more complicated but the truth-value comes out as false.)

However, as mentioned in the other answers, this would make reasoning about non-self-identical 'objects' very difficult.

  1. A=B
  2. A=C
  • With the law of identity, logically, B is equal to C.
  • Without the law of identity, A is not necessarily the same A in step (2). Then, logically, B is not necessarily equal to C.

Now, take your conclusions.


The law of identity is best understood as metalogical. If we didn't assume the law of identity, then logical laws, for example the modus ponens, (A → B) ∧ A ⊢ B, would be useless because the second A couldn't be assumed to refer to the same thing as the first A, and same thing for B. No law of identity, no deductive logic.

Without the law of identity, it would be confusing to use the same symbol more that once. Thus, the modus ponens would become (A → B) ∧ C ⊬ D, an implication which is obviously not true. A ⊢ ¬¬A would become A ⊬ ¬¬B, again not true. Even A ⊢ A ∨ B would become false: A ⊬ C ∨ B.


It should be said that it is perfectly logical to use expressions which contradict the law of identity. An expression such as for example x ≠ x is perfectly logical, logical in the precise sense that we have no difficulty assigning a truth value to it, namely False, just as we have to say that 0 = 1 is false.

This is on a part with the fact we can assert expressions that contradict the law of contradiction. Thus, we are able to logically handle contradictions, for example A ∧ ¬A, without any difficulty, and this precisely because the law of contradiction says contradictions are false.


Another point deserve mention. Many programmers and computer scientists will argue that the law of identity is falsified by computers. One answer here even gives an over-sophisticate example of that argument (Not a Number, NaN).

But this argument is fallacious. Computer programs are sequences of instructions, which, clearly enough, implies that they are to be understood as unfolding over time, so to speak. Thus, there is no reason to understand a variable A on line 1089 to be referring to the same thing as the variable A on line 1088. Indeed, one of the most important program statement in computing is that assignment statement which can be used in particular to increment a value, for example: A := A + 1. Obviously, A := A + 1 means that if initially A is 1, then it will be 2 once the assignment statement will have been run. Thus, the same name A will inevitably refer to two different values. However, the law of identity of course does not mean that things cannot change.

Another example is the notion of random number, which by design of the random number generator will most likely be different each time it appears in a statement. So, arguing that the law of identity does not hold because there are example of computer program variables that are not equal to themselves is a red herring. We might just as well argue that we don't bathe in the same river twice or that we ourselves are never identical to what we were just a fraction of a second ago.

  • "We might just as well argue that we don't bathe in the same river twice or that we ourselves are never identical to what we were just a fraction of a second ago." Famous philosophers have done that, though. Namely Heraclitus, & Leibniz. But you know better?
    – CriglCragl
    Jun 3 at 8:59
  • 1
    @CriglCragl You think the law of identity means that every thing is identical to what it was a fraction of a second ago?! You think that saying a thing is identical to itself can possibly mean that it remains identical to what it was initially? Jun 3 at 13:29
  • Predicate logic is like mathematics. A toy world, for a purpose. Don't reify it, and believe it is the only possible useful overlay to simplify phenomena. It depends for it's use on correct assumptions: we tacitly encode 'similar enough' as identical.
    – CriglCragl
    Jun 3 at 17:32
  • 1
    @CriglCragl Predicate logic?! We are not talking about predicate logic. We are talking about logic and logic is definitely not "like" mathematics. Jun 3 at 18:44

I am in possession of a certain A for which A != A. Logic doesn't have a real problem with it. You have to qualify a few proofs as quite a lot of them have unstated assumptions but it's not a problem.

There doesn't seem to be a good way to answer how many of this A I have because the following are theorems on any such A:

  • A ≠ A
  • A ∉ {A}
  • ∃a (a ≠ a) ∃b (b ≠ b) ↛ a ≡ b

That is, "A does not equal itself", "A is not found in the set containing itself", and "A is not unique".

Yet there is logic on a system containing objects with this property. It has arithmetic, symbolic algebra, and a workable proof system. This is all set down in a book that sits upon my shelf and as sat there since lower division college, and should a computer programmer come by here I would be disappointed if they could not give A its right name.

There's a secondary law that's true in the algebra that I don't know how to state in formal logic that still holds. If you have ∃A ... A ... A ... than the two a are the same by the definition of bound variables as used to define the operation ∃. Note that this continues to be true even though (A ≠ A) is a theorem for this particular A. I don't know any name given to it, but it is somehow both stronger (true in more cases) and weaker (less can be concluded from it) than the classical law of identity.

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .