-1

I develop a computer program to summarize a boolean decision. This program takes into account operators AND and OR. For the OR-operator, I can call it alternative, since this is how grammar rules call phrases with such conjunction and suits well the logical context. Analogously, I can refer to grammar for AND-operator. However, addition seems not very contextually related to logic, although it assigns correctly the operation goal. I assign the operation to term argument for now in the absence of any other more adequate term. But, as you may infer, is not precise enough (even broader than and-operator, and also relating to alternative reasoning).

What would logicians suggest?

5
  • 2
    OR is disjunctive while AND is conjunctive. See Boolean Logic: Operations. Feb 2 at 15:52
  • maybe instead of "argument" use the term "(necessary) condition" or "common ground between options"?
    – Nikos M.
    Feb 2 at 16:33
  • 1
    @MauroALLEGRANZA I saw you rollback the tag "philosophy-of-computer-science", and I thought I might understand your rationale. It's a legitimate domain of philosophical discourse as evidenced by the SEP's The Philosophy of Computer Science and numerous books by presses Oxford, Springer-Verlag, etc. Did you have a specific objection to the use here?
    – J D
    Feb 2 at 16:34
  • @JD I also think this question is relevant since it belongs to philosophy of computer science. There are many philosophy of mathematics questions that should be also called off-topic if this is called such.
    – user64708
    Feb 27 at 10:33
  • There is a first time for everything, even for a post revival. Mar 6 at 23:37

1 Answer 1

2

Welcome, Bruno!

As a computer person myself, let me bridge the gap for you. There is well-established logical terminology around our use of PL syntax such as {AND, &, &&} and {OR, |, ||} in programing language expressions that computer scientists and programmers generally observe. The former is called logical conjunction, and the latter is called logical disjunction. These terms come right out of the same mathematical logic that lead to the design of electronic computers in the late thirties and forties.

You also use the term 'argument'. What computer scientists refer to as sub-routines which are an outgrowth of the innovation of structured programming also has equivalent logical nomenclature. For instance, sub-routines (now methods in OOP) both as procedures and functions can have parameters which we use to pass arguments either by address or reference. Logic refers to this as predication, and arguments are nothing more than bound variables with a typed domain of discourse. These are the sorts of terms that are used in something called predicate logic (or quantificational or first order logic). The notation for such a logic has what is the familiar method syntax that we also share with mathematicians: f( ). In CS, it ultimately comes from thinkers involved with lamda calculus which is why you'll hear the term 'lambdas' used in programming language discussion.

As for the relation of addition, addition can be defined as a function:

int Add(int adder, int addend) { return( adder + addend ) };

This is a logical structure insofar as it can be written in mathematical logical notation:

∃s,a1,a2∈[] s:=a1+a2

In fact, arithmetic is often defined entirely in terms of logical and set-theoretic statements in undergraduate math classes on set-theory. Logic is the language that allows us to have discussion about both computer data structures as types and arithmetic as sets generally. Why are these ideas so close in form? Turns out there's a relation between computer programming languages and proofs of mathematical logic. It's called the Curry-Howard Correspondence.

1
  • I am glad to read your explanation of the Logic realm of Knowledge-land. My particular application corresponds to the following: usually there are requirements in CS which we may define as the maxterm of minterms i.e. or and and of expressions. Using your terms, a reduced AND of Boolean arrays is a conjunction and a reduced OR is a disjunction. Feb 2 at 17:31

You must log in to answer this question.

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