Errol E. Harris does an excellent job of explaining dialectical logic in Formal, Transcendental, and Dialectical Thinking, but in the section on formal logic, he assumes a familiarity with symbolic logic that I do not possess. While I have dug up the meaning of most symbols from some of my decades-old books on logic, he occasionally uses colons (:) in ways that have me confused. The following argument, from p. 39, in particular has proven difficult for me to make sense of.

He describes the schema as "If P, and if P then Q, then Q". The notation he uses is:

p ⸱ p ⸧ q: ⸧ :q

My question is, what do the colons (:) represent here? I speculated that the first designates the two statements joined by an "and" constitute a set implying Q, but this still leaves me puzzled as to what the second colon means.

Further, he argues this is a tautology, represented as:

p ⸧ q ⸱ ⸧ p ⸧ q

What does the material implication following the "and" mean here? It seems like this places a material implication without anything in front of it. What does that mean?

Thank you to anyone who can clear this up for me!


2 Answers 2


It's a terrible and outdated system of notation where dots (.) and colons (:) function both as conjunctions and as parentheses.

When a . or : occurs between expressions, it denotes conjunction. For example, p ⸱ p ⸧ q means p ∧ (p ⸧ q).

When a . or : occurs next to a connective such as , it has the function of parentheses. There are exact rules how to parse them (see e.g. here), but the main idea is that the main connective is the one with the most dots around it.

For example, in p ⸧ q : ⸧ : q ⸧ p . ⸧ . r ⸧ q, the : ⸧ : implication is the main connective, connecting p ⸧ q and q ⸧ p . ⸧ . r ⸧ q. In the latter expression, . ⸧ . is the main connective, so the entire thing can be read as: (p ⸧ q) ⸧ ((q ⸧ p) ⸧ (r ⸧ q)).

So your two formulas should be read as follows:

p ⸱ p ⸧ q: ⸧ :q = (p ∧ (p ⸧ q)) ⸧ q

p ⸧ q ⸱ ⸧ p ⸧ q = (p ⸧ q) ⸧ (p ⸧ q)


Dot . means and


When the symbol . is not next to a , the . means and


p ⸱ q is equivilanet to p AND q


The dot . in the following formula does NOT mean and
x4 and (not x5) .⸧ (not x7)
.⸧ is special, and I will explain .⸧ later.

The symbol means if...then


When is by itself (and not next to a .) the means logicial-implication


P ⸧ Q means the same thing as if P then Q

Order of Operations

In Mathematics, it is important to specify the order of operations.
For example,

  • (2 + 3) * 4 = 20
  • 2 + (3 * 4) = 14

Note that we get two different results (14 or 20) based on whether the addition is performed first, or whether the multiplication is performed first.

Formulas in logic have the same problem: the order of operations matters. That's what the dots in stuff like .⸧: are used to indicate.

Tree Diagrams

It is very helpful to view formulas in logic in terms of trees.

The following tree diagram is for the formula (P or Q) and R

enter image description here

The following tree diagram is for the exact same formula (P or Q) and R, but with slightly different notation

enter image description here

Every tree has exactly one "root" operator. There is one root node in the tree which the entire rest of tree grows out of. In the above diagrams and is the "root" operator. In general, the "root" operator can be any logical operator (AND, OR, NOT, etc...)

About the symbols .⸧, .⸧:, :⸧:, etc...

Temporarily pretend that .⸧ is just one big symbol.

.⸧ means something very different than . and by themselves.

.⸧ may look like two symbols (. followed by ), but really .⸧ is just one big symbol.

All of the following can be viewed as special operators:

  • .⸧
  • ⸧.
  • .⸧.
  • :⸧
  • ⸧:
  • :⸧:
  • :⸧.
  • etc...


In symbols like .⸧, The dots indicate rank.

  • one dot (.) means rank #1
  • two dots (.. or :) means rank #2
  • three dots (... or ) means rank#3
  • four dots (....) means rank#4

Note that a colon character : is just short-hand for the number 2

::⸧:. means something like 4 ⸧ 3

The dots are just a way of counting.

You can combine . with and operators besides ###

You can put dots on the left or right of any operator symbol.

Suppose v represents the "or" operator

Then, ...v. is okay, just like ...⸧.

How to draw a tree from stuff like :⸧.

It is extremely confusing for . to sometimes mean and and for . to sometimes be a number indicating something about the order of operations.

Step 1) write down a modified copy of your original formula.
Wherever . is used for and are replace . by some other symbol.
Use any symbol for and that you like other than .
You could use ^ for and.
Even the word and is okay to use.

For example, w . x. y. z becomes w ^ x ^ y ^ z

Step 2) do not try to read the formula; just find the largest collection of dots to the left or right of an operator symbol. That operator symbol is the "root" of the tree.

The following looks like a horribly complicated formula, but do not read the whole formula, just look for the largest clump of dots.

x1 OR. x2 ⸧ x3 : AND x12 ∴OR. x8 ⸧ x9

The largest clump of dots shows us that the root operator is ∴OR.
If you write the whole formula, but with the root operator in a different font style, it looks like this:

x1 OR. x2 ⸧ x3 : AND x12 OR x8 ⸧ x9

enter image description here

To figure out the root operator, do not sum the dots together.
The rank of ∴OR. is 3, not 4.
You are supposed to be looking at the maximum of the number of the dots on the left or right side of the operator.
The operator with the largest maximum number of dots is the root operator.

Repeat the process for the left-child of the root node:

x1 OR. x2 ⸧ x3 :AND x12

The operator with the maximum number of left/right dots is :AND

enter image description here

Repeat again.

enter image description here

The following two formulae are equivalent:

  • WEIRD DOT NOTATION: x1 OR . x2 ⸧ x3 :AND x12 ∴OR. x8 ⸧ x9
  • NO WEIRD DOTS: ([x1 OR (x2 ⸧ x3)] AND x12) OR (x8 ⸧ x9)

Additional Explanation

When you see a dotted operator, like :⸧., the leftmost : means that to find the the left child of :⸧. you can:

  1. get out a highlighter pen/marker
  2. put the highlighter down on the colon :
  3. start moving the highlighting pen to the left.
  4. Stop highlighting when until you encounter a cluster of strictly dots.
  5. All of the highlighted text is the left child of :⸧.

In the following example, $$$$$$$$$ .AND. $$$$$$$$$ is the left child of ::⸧

P ⸧:::: $$$$$$$$$ .AND. $$$$$$$$$ ::⸧ Q

Below, we emphasize the left-child of ::⸧ by changing the font:

P ⸧:::: $$$$$$$$$ .AND. $$$$$$$$$ ::⸧ Q

The rule: for ::⸧ is to go left until you hit a cluster of more than 4 dots.

As a new/separate example, note that :⸧. has one rightward dot.
To find the right child of :⸧., move rightwards until you encounter a group of 2 dots or more.

For .⸧...... move rightward until you hit a cluster of 7 or more dots.

If you reach the left or right end of the formula without encountering a larger group of dots, then that means that the entire left-side or right-side of the formula is the left-child or right-child of that particular operator.

A Really Big Example

x1 OR. x2 ⸧ x3 :AND x12 ...OR. x8 ⸧ x9 ::⸧:: x11 AND:. x4 and (not x5) .⸧ (not x7) :OR x10

([ x1 OR (x2 ⸧ x3) ] AND x12) OR (x8 ⸧ x9) ⸧ (X11 AND [([X4 AND (not x5) ] ⸧ (not x7)) OR x10])

All of the follow diagrams are trees of the same formula.

There is more than one tree diagram so that you can compare the different notations

big tree. Not full formulas. operators only in each node

big tree. full formula in each node. non-dotted notation

big tree using dot notation

You must log in to answer this question.

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