In programming there are two very common aspects of logical operators and conditioning (I assume the border between the two isn't always well defined).

Logical operators would include, for example:

  • A and B (A AND B)
  • A or/and B (A OR B)
  • A exclusively or B (A XOR B)
  • A is equal to B (A == B)
  • A is identical to B (A === B)

Conditioning would include, for example:

  • if (or in a full version; if-then)
  • else
  • else, if

One can further speak about terms such as:

  • With
  • Also
  • Because
  • Hence
  • in plea (XOR) in suggestion, do
  • while

And so on...

Such phrases allow controlling (the flow) of a logical set of actions.

I get the impression that all of these phrases occur in all current era human languages and all sprung up in human languages in the past as if the "background logic" was "out there" (I explain this further) and all needed was just the right time and place to sprung these up and implementing them in whatever human language that was evolving.

Is there a theory by which such a logical background (or some similar concept) is described either as part of the brain, the mind, the cosmos, the universe (or some or all of these) as a logic pattern that unites all human languages and maybe also try to explain how its usage developed in evolution?

  • 2
    Human languages are usually ambiguous about OR vs XOR, and about == vs ===. As for the rest, human languages are not programming languages; no human language is composed exclusively of imperatives and performatives.
    – jlawler
    Nov 24 '19 at 19:49

From the linguistic point of view, it would be interesting to see which of the concepts that you mention are most mandatory across languages. "If" would be on the list, but not "else" and even less so "else if". The distinction between "is equal" and "is identical" is so linguistically marginal as a distinction that languages make that I don't even know how we would test for languages having one versus the other.

By way of linguistic theories, you would probably be most interested in "functional" and "cognitive" theories of language, as manifested in the work of Langacker, Lakoff, Martinet or Van Valin. As you presumably know, "and", "or", "is", "not" are the most basic concepts required for expressing propositions, and then you can add some other concepts like "causation" to derive other linguistically significant expressions.

One problem, though, is that "and" very often doesn't mean AND, it's more a conversational filler that allows us to keep talking without giving the other person a chance to speak. That is, the usage where a person asserts "Proposition A is true, and proposition B is true" is not all that common. The formula "X if you want some" (e.g. "there is beer in the fridge, if you want a drink") never literally means that existence depends on wishes. I think that we can learn something about the nature of conceptualization by studying these metaphorical uses of cold, hard logical operators.

  • 1
    The difference between "is equal" and "is identical" (in general language, not for programming) would get expressed pretty well I think in NSM by the primes SAME and BE SOMEONE/SOMETHING, ie the concepts of similarity and identity.
    – curiousdannii
    Nov 24 '19 at 6:50
  • Actually, NSM has a lot of the features that are being asked about, as does generative semantics (though more on logic and less on programming), and cognitive semantics, like Framenet.
    – jlawler
    Nov 24 '19 at 19:52

This theory is heavily under research. They do employ methods from Logic, most notably Lamda Calculus notation, and Tree diagramms, e.g. to explain theories of syntax. But there are many competing theories. Basic grammar is instead still taught in the traditional Latin way. The truth is that, for a general example, there's no one English language. Some scholars even doubt that there's a minimal Universal Grammar; Whereas the proponents of that idea led by Noam Chomsky are still researching. One might say there need to be as many theories about grammar, as there are theories embodied in the grammar.

I mean, for sake of the argument it is helpful to assume that a bi-lingual really only speaks one language. The differences are bridged by code switching--but code switching also happens within a language, e.g. between formal and informal expressions. This pertains to semantics as much as syntax. I'm not sure whether there's a fine grained typology of different types of codes and switches.

On the mathematical side, there also exist many different Languages and Theories, and a lot of labour goes into showing that they are formally equivalent, or more powerful, less inconsistent, complete, etc etc. Which can be rightfully described as highly abstract.

One lingering question is whether NP complete languages are more powerful than Natural languages. Many say that Natural Language doesn't have to be context free, i.e. NP-complete. This might be preferable, because you want to be able to estimate how long it takes to understand a phrase, or complete a programm--I mean: preferable for researchers.

Now, given the label informal register it seems utter nonsense to expect it to be possibly formalizable. In fact, all the simple control structures are so simple they often don't need mention. drink my beer I hit you in the face--Is that a material implication? Even the speaker doesn't know for sure. It's all left up for interpretation.

Now I'm not sure what it is that you are asking for: an isomorphism between natural language and a logical theory, just natural language, or any logic at all?

The truth is: all computer programming languages, even quantum computer algorithms if I'm not mistaken (that's still as big a question as P=NP), are theoretically isomorphic to simply typed lambda calculus. But they are memory bound in practice and so are the isomorphisms between them. This is known as the turing tarpit. And different languages are suitable for different machines, memory layouts to solve different problems. Coralarily, it doesn't seem very useful to try to translate natural language into a representation of LC except for minimal examples; you wouldn't see the end of it. Vice Versa, it's not feasable to speak in a subset of natural language that is equivalent to any given theory.

PS: For another example of code switching, I like to read if as German ob; they are cognate after all. ob often introduces questions, and the example "there is beer, if you want some" can be understood as a rhethorical question indeed. It also introduces independent clauses: ich weiß nicht, ob du was trinken willst "I don't know whether [if] you want to drink something"; Parsing the second part as dependent clause just because of "if" is utter nonsense in my humble opinion. But language is versatile, purposefully ambiguous, and necessarily underspecified.

PPS: Since classical boolean operators are nothing more than maps between input and output, they are not different then any other word that maps some relation. There are no primitives, or at least no universal theory that I'm aware of, so all words are relations and the primary problem is variable assignment. Many many cases of if clauses can be unrolled to mere variable assignments without control flow. Getting past that reuires functions and binding. The only real primitive is void, silence, the pause that signals the end of disagreement. But it's not a primitive, it's nothing. What you deem control flow, probably coming from a C-style syntax language in which if is baked in, is classical logic in the aristotelean sense. And that's not formal at all. Whether it shows a very fundamental mode of thinking or not.

Whether language is basically imperativ, declarative or whatever, is still unanswered (what's first, the noun or the verb?). I like to refer to those theories of layers of a message, but I don't recall the name. It's not very popular, but intuitively true.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy