# What's the difference between :=, =, and ≡?

I understand that ≡ is logical equivalence, "iff". = is a symbol for numerical equivalence. And := is an identity claim. I often only see = and := used with variables and names, while ≡ only appears with predicates. I'm not sure if this is just from my limited exposure to logic or an actual convention. What's the big difference if we were to say a=b vs a≡b?. Or, for that matter, Px:=Qy?

• Can you give an example of := in usage? I like others, have seen := used in programming languages, but I have not seen bare logic. I'd love to see an example of it used in a document describing logic; I'd love to see the precursors to its use in programming. For me, := has always been "assign a value/define" in programming only, = is "equal to" and ≡ is "same as" for situations where the word "equal" is not quite right. I love symbology, so if there's a usage of := I've missed, I'd love to research it! – Cort Ammon Dec 25 '14 at 17:31
• @CortAmmon - you can see it in Dirk van Dalen, Logic and Structure (5th ed - 2013), page 58. – Mauro ALLEGRANZA Dec 26 '14 at 12:02

There is no strict universally accepted convention...

In mathematical logic, is logical equivalence, as you said, and it is a connective between proposition (in propositional calculus) or formulae (in predicate caculus).

Example :

(p → q) ≡ (¬p ∨ q).

Usually, = stands for identity and it is a binary relation between "objects", like numbers in arithmetic.

Example :

∀x (x+0 = x).

Finally, := is derived from programming languages, and is used (less often then the two above) as an "assignment" function : "let x be ...".

Example :

ψ := (x = y), stand for : let the formula ψ be (x = y).

Note : except for programming languages, := is not usually a symbol of the (object) language, but of the meta-language, while the two above are usually symbols of the language.

But we have to use = also in meta-language contexts, e.g. to express the identity relation between expressions; we can avoid confusion according to the context, but in some "pedantic" cases we introduce a different identity symbol for the meta-language, like .

• I've seen ≡ used for defining a variable, just like the same way we would use :=, in many books on mathematics... – An old man in the sea. Dec 26 '14 at 9:50

It depends of context. But, usually

• := is to define a objects from anothers. Usually one define variables from values, x:=7, and maps, f(x):=x+1. Many programming languages use = to do that, but Pascal language uses := to assign values.
• = is to compare two objects and ensure they have the same "identity". For instance, some programming languages use "==" to do that: a==b is true if previously we defined a:=2 and b:=2.
• ≡ have two interpretation. In logic it usually means "propositional equivalence", it a little subtlety; for instance, the existencial quantifier is "defined" \$∃x P(x)≡¬∀ x P(x)\$. Shortly, if a≡b you can put b where you see a, and vice versa.

Also, in algebra ≡ is the congrunce operator; for instance, a ≡ b mod n means a-b is multiple of n.