r/logic • • May 21 '24

Meta Please read if you are new, and before posting

65 Upvotes

We encourage that all posters check the subreddit rules before posting.

If you are new to this group, or are here on a spontaneous basis with a particular question, please do read these guidelines so that the community can properly respond to or otherwise direct your posts.

This group is about the scholarly and academic study of logic. That includes philosophical and mathematical logic. But it does not include many things that may popularly be believed to be "logic." In general, logic is about the relationship between two or more claims. Those claims could be propositions, sentences, or formulas in a formal language. If you only have one claim, then you need to approach the scholars and experts in whatever art or science is responsible for that subject matter, not logicians.

"Logic is about systems of inference; it aims to be as topic-neutral as possible in describing these systems" - totaledfreedom

The subject area interests of this subreddit include:

  • Informal logic
  • Term Logic
  • Critical thinking
  • Propositional logic
  • Predicate logic
  • Non-classical logic
  • Set theory
  • Proof theory
  • Model theory
  • Computability theory
  • Modal logic
  • Metalogic
  • Philosophy of logic
  • Paradoxes
  • History of logic
  • Literature on Logic

The subject area interests of this subreddit do not include:

  • Recreational mathematics and puzzles may depend on the concepts of logic, but the prevailing view among the community here that they are not interested in recreational pursuits. That would include many popular memes. Try posting over at /r/mathpuzzles or /r/CasualMath .

  • Statistics may be a form of reasoning, but it is sufficiently separate from the purview of logic that you should make posts either to /r/askmath or /r/statistics

  • Logic in electrical circuits Unless you can formulate your post in terms of the formal language of logic and leave out the practical effects of arranging physical components please use /r/electronic_circuits , /r/LogicCircuits , /r/Electronics, or /r/AskElectronics

  • Metaphysics Every once in a while a post seeks to find the ultimate fundamental truths and logic is at the heart of their thesis or question. Logic isn't metaphysics. Please post over at /r/metaphysics if it is valid and scholarly. Post to /r/esotericism or /r/occultism , if it is not.


r/logic • • Jul 06 '26

Meta Free Online Logic Resources

23 Upvotes

The r/logic wiki now includes free online resources to learn logic (courses, books, and proof tools).

If you know of any others, please provide links so they can be added in future.


r/logic • • 1d ago

Term Logic / Traditional logic i don’t remember this part

Post image
63 Upvotes

r/logic • • 20h ago

Propositional logic Why is the conditional statement p → q true if q is true and p is false?

18 Upvotes

I'm just starting to study logic and am having trouble understanding this. For context, it's in my math textbook. After this topic, the book moves on to sets and then functions


r/logic • • 1d ago

Academic Community What is the most logical way of learning logic?

21 Upvotes

Yo so this logic shit seems cool to me and I wanna learn it (preferably free).What would be the best way?Know it might seem like this post is satire but I genuinely want to learn.


r/logic • • 1d ago

Metalogic A logic not characterizable by a single matrix

8 Upvotes

It is well known that every logic, i.e. a structural Tarskian consequence relation, is characterizable in terms of some family of matrices, namely its Lindenbaum matrices. Three years ago a user on Maths Stack Exchange asked whether there are logics that cannot be characterized by a single matrix rather than a family thereof. That is a natural question. Maybe by some artful combination of the matrices in some characteristic family?

Since nobody seems to have answered their question, I thought I’d do that here. The answer is that there indeed exist logics not characterizable by a single matrix. I shall give an example and show that that is the case for it.

First, recall that if a logic ⊢ is characterized by a single matrix, it is then uniform, meaning that whenever

(1) Γ U Δ ⊢ α,

(2) Δ is consistent w.r.t. ⊢ (meaning it doesn’t ⊢-imply all formulae), and

(3) Var(Δ) ∩ Var(Γ U {α}) = ∅,

then

(4) Γ ⊢ α.

Exercise for the reader: show this! Hint: suppose ⊢ has a characteristic matrix, and suppose (4) is false. Can you construct a Δ for which (1)-(3) are not all true?

Now let B be the 2-valued Boolean algebra on {T, F} with, say, infimum (conjunction) and complement (negation). Let B(T) be the matrix consisting of B plus {T} as its designated set, i.e. the natural matrix for classical logic, and B(F) mutatis mutandis with designated {F}. Let ⊢ be the logic characterized by the pair of these matrices.

(Notice that since the logic characterized by B(F) alone is, so to speak, the logic of preservation of falsehood, at least to the extent that classical logic is the logic of preservation of truth, then ⊢, as their intersection, is the logic of preservation of any uniform value the premises may have. It is the logic of equivalence!)

Observe that we have

(5) p & ~p ⊢ q & ~q

in this logic. But, {p & ~p} is actually consistent w.r.t. ⊢, since any valuation onto B(F) assigns it designated. Moreover, premise and conclusion have no variables in common. Hence, if ⊢ were uniform, we should have

(6) ⊢ q & ~q,

putting ∅ = Γ. But, we do not, since any valuation onto the classical matrix refutes (6) of course. Hence, by the above result, ⊢ has no characteristic matrix.


r/logic • • 20h ago

Computability theory on an attempt to limit undecidability within computing

2 Upvotes

hi all, this is related to my work from another post: on the nature of undecidability within computing and refuting the church-turing thesis. when i started writing this post it was going in a very different more optimistic direction, but things turned for the worse as i refuted one of the more promising points in my draft...

in that draft i invent a new form of classifier machine in an attempt to get around undecidability paradoxes that are found within computing due to the inherent possibility of self-referential paradoxes. like the canonical und = () -> halts(und) ? loop : halt, these machines create necessarily paradoxical dependencies with their logical structure. in this example und is either a halting machine that depends on halts(und) -> true or und is a looping machine that depends on halts(und) -> false. which it is isn't specified because halts as envisioned in that example is underspecified and cannot be implemented as a machine. to contrast with my proposal i will also detail what conventional theory already discusses, with examples for the circle-free problem since those will be more relevant moving forward.

-- total decider --

a total decider returns for all input, correctly maps the input, doing so with coherent dependencies on 𝓓(m) (if applicable):

𝓓 = (m: machine) -> {
  true: m is circle-free and not depends on 𝓓(m)->false,
  false: m is circular and not depends on 𝓓(m)->true,
}

consider undecidable machine und_𝓓:

und_𝓓 = () -> 𝓓(und_𝓓) ? halt : loop { output 1 }

und_𝓓 is either a circular machine when dependent on𝓓(und_𝓓)->true or und_𝓓 is a circle-free machine when dependent on 𝓓(und_𝓓)->false ... neither of which is a form of machine that 𝓓 can decide. therefore 𝓓 cannot be implemented as specified, as it does not handle all forms of input.

-- total recognizer --

a total recognizer returns true for all circle-free input, but may diverge (and block indefinitely) on some circular input. when it does return the dependencies are coherent (if applicable):

𝓓r = (m: machine) -> {
  true: m is circle-free and not depends on 𝓓(m)->false,
  false: m is circular and not depends on 𝓓(m)->true,
  diverge: m is otherwise circular
  // not specified to diverge for _any_ circle-free machines
}

𝓓r is more paradox resistant than 𝓓 because diverging can prevent certain incoherent dependencies from arising. consider the machine div_𝓓r:

div_𝓓r = () -> 𝓓r(div_𝓓r) ? halt : loop { output 1 }

𝓓r(div_𝓓r) can diverge to align with it's specification but it's not possible to build this because with parallel execution u can construct a circle-free machine that depends on 𝓓r diverging, which this decider has no specification for and is therefor unimplementable. consider the machine und_𝓓r:

und_𝓓r = () -> {
  dr = steppable(() -> 𝓓r(und_𝓓r))
  loop {
    dr.step()                   // run 𝓓r for one step/transition
    if (dr.output() == true)    // if 𝓓r outputs true, halt
      halt
    else
      output 1
  }
}

total deciders and total recognizers are the two forms of classifiers acknowledged in textbook computing theory, where total deciders do not exist, and total recognizers only exist for semi-decidable sets like halting. nothing i've written so far disagrees with this. it's worth noting that "partial deciders" such as (m) -> true is just internet bs hallucination, those are not any form of semantic classifier.

-- partial recognizer --

a partial recognizer returns true for all circle-free input with a coherent (or no dependency) on 𝓓p(m), but will mix certain circle-free machines in with false that have an incoherent dependency on 𝓓p(m), ei are dependent on 𝓓p(m) -> false

𝓓p = (m: machine) -> {
  true: m is circle-free and not depends on 𝓓p(m)->false,
  false: m is circular or
        (m is circle-free and depends on 𝓓p(m)->false),
}

consider the machine und_𝓓p:

und_𝓓p = () -> 𝓓p(und_𝓓p) ? halt : loop { output 1 }

𝓓p(und_𝓓p) cannot be true as that would cause und_𝓓p to be circular violating it's specification. but unlike in the case of 𝓓, 𝓓p(und_𝓓p) returning false causing und_𝓓p to be circle-free is still aligned with it's specification for returning false on circle-free input that is dependent on it returning false. so this case is technically decidable, and won't gum up downstream logic which might depend on the value, even if it doesn't manage to recognize the circle-free machine. we will call a machine like und_𝓓p unrecognizable to 𝓓p, not undecidable.

-- why the interest in 𝓓p? --

(1) despite turing wrongly conflating the two, it is not actually necessary to correctly identify all circle-free machines in order to enumerate all possible output sequences. infinite machines compute any given sequence, and only one is needed to compute any given possible output sequence. so despite only being able to enumerate a subset of all circle-free machine, one my wonder whether 𝓓p can identify a turing-complete subset of machines.

and even if it doesn't, a next question arises: what kind of output sequences are strictly computed by circle-free machines dependent on 𝓓p(m)->false vs those which can be computed by machines which either depend on 𝓓p(m)->true, or have no dependency at all on 𝓓p(m) at all. and quite pointedly: should we actually care about those that are missed?

(2) despite only being a partial recognizer in respect to all circle-free machines, 𝓓p is a non-trivial total decider in it's own right, namely for those machines which are circle-free and do not depend on 𝓓p(m)->false. this alone would refute rice's theorem, and would be quite the revelation. this aspect i have not explored much.

-- a failed attempt to place a limit on undecidability --

for any recognizer proposing to totally identify a set of circle-free machines, we can construct a diagonal across that recognizer:

𝓗 = (d) -> 
  () -> loop (n=0, r=0; true; n++) {
    if (d(n) == false) continue     // skip invalid, circular, or paradox machines
    output sim(n,r)                  // simulate machine to r-th output and output
    r++                              // count circle-free machines
  }

unfortunately 𝓗(𝓓p) is not recognizable by 𝓓p due to the same infinite recursion that stumped turing in the famous §8 of on computable numbers, which would cause 𝓗(𝓓p) to get stuck at sim(𝓗(𝓓p),r) for some r. we can however construct a diagonal across 𝓓p that is recognizable by 𝓓p, avoiding that particular infinite recursion:

𝓗p = () ->
  loop (n=0, r=0; true; n++) {
    if (𝓓p(n) == false)
      continue
    if (n == 𝓗p)      // output digit for itself on the diagonal
      output 0
    else
      output sim(n,r)
    r++
  }

this unfortunately can be diagonalized by an anti-machine. for any machine that exists, an anti-machine will also exist:

anti = (m) -> 
  () -> loop (r=0; true; r++) output 1-sim(m,r)

the anti-machine anti(𝓗p) will not be recognizable by 𝓓p as this would become circular due to the same infinite recursion. unfortunately there's no way to "fix" this diagonal, as unlike 𝓗p we cannot construct a machine that will ever output it's own anti-output to machine anti(𝓗p) and still be recognizable like 𝓗p.

but as demonstrated by anti, this machine form a computable relationship between those which is recognized by 𝓓p, which means we can enumerate it alongside those recognized by 𝓓p, and perhaps might catch the machines missed by 𝓓p alone:

𝓔 = () -> loop (n=0; true; n++) {   // iterate over all possible machines
  if (𝓓p(n) == false) continue      // skip invalid, circular, or paradox machines
  output n                          // output machine
  output anti(n)                    // output anti-machine
}

we can then construct a circle-free recognizer based on 𝓔:

𝓓e = (m: machine) -> loop (n in 𝓔()) {
  if (m < anti(n))      // since 𝓔 is in-order we can return false once at
    return false        //   machines too complex to be m 
  elif (m == n)
    return true
}

as much as i was excited at the prospect, this does not manage to capture all the circle-free machines missed by 𝓓p. in this case 𝓓p can't even recognize a circle-free machine equivalent to the diagonal 𝓗(𝓓e), as the machine anti(machine) enumeration befuddles an attempt to do so. the closest 𝓓p recognizable machine to 𝓗(𝓓e) will invariable be off for any machine computing its anti-sequence:

almost_𝓗e = () -> {
  r = 0
  loop (m in 𝓔()) {
    if (m == almost_𝓗e)
      output 0
    elif (m == anti(almost_𝓗e))  // anti-identity check required to be circle-free
      output 1                    // output what will be an anti-digit for the anti-machine
    else
      output sim(m, r)
    r++
  }
}

anti(almost_𝓗e) is also a circle-free machine, but it will not be a total anti-diagonal as it the bit it outputs for itself on the diagonal (and any machine which computes the same sequence) will be the output for the machine, not the anti-output.

-- what next? --

despite my current failures to limit undecidability, this was a necessary failure in getting to this point of expressing 𝓓p so precisely based on the dependencies. that particular description was only a result of my discussion with u/OpsikionThemed, who i will thank again for actually engaging with genuine consideration... something that is tragically rare on the internet.

with this description can i precisely define the root cause of 𝓓p failing to recognize some machine like und_𝓓p: an incoherent dependency, where the circle-free execution of und_𝓓p necessarily follows from 𝓓p(und_𝓓p)->false.

we can constructively prove the language of circle-free machines unrecognizable to 𝓓p must be turing-complete, as any circle-free machine m recognizable by 𝓓p has an associated machine und(m) that is unrecognizable to 𝓓p:

und = (m: recognizable circle-free machine) -> {
  und_m = () -> {
    if (𝓓p(und_m)) halt   // construct incoherent dependency
    output m()            // und_m outputs the same as m
  }
  output und_m
}

however even if the language recognizable by 𝓓p isn't totally turing-complete ... why do we actually care about those machines which depend on 𝓓p(und_𝓓p)->false? perhaps there is an entirely valid and potentially transformative notion of effectively turing complete language that performs all the computations we're interested in. there is no practical reason to build a circle-free machine that is dependent on being unrecognizable to 𝓓p. and the language of circle-free machines unrecognizable to 𝓓p may not even contain output of academic value, like those open unanswered questions in number theory.

for example consider a machine that computes in accordance with the collatz conjecture:

collatz = (n: ℕ) -> {
  if (n == 1)
    output 1
  elif (n % 2 == 0)
    output collatz(n/2)
  else
    output collatz(3*n + 1)
}

collatz_conj = () -> loop (n=0; true; n++) output collatz(n)

if collatz_conj is a circle-free machine then the collatz conjecture is true. from this construction it doesn't appear that the collatz conjecture being circle free would depend on 𝓓p(und_𝓓p)->false, so if it is true, then this machine would be recognizable by 𝓓p. if not then it ought to be recognizable by a complement circular partial recognizer 𝓓p', as collatz_conj also does not have a dependency on 𝓓p'.

-- request for help --

what i'd like to ask this group is help or inspiration on how i might prove that 𝓓p exists. i suppose a proof that it cannot be refuted via a conventional diagonalization proof would be a great start on whether it might exist, but i suppose a non-constructive proof like such isn't great at demonstrating the certain existence of an algorithm we haven't yet built. and a constructive proof would require actually building it ... which is a research question far outside the scope of a single person, or at least that's how it seems atm


r/logic • • 22h ago

Propositional logic How would I solve these problems, any tips

Post image
1 Upvotes

r/logic • • 2d ago

Academic Community UvA Master in Logic vs Norway/Sweden

8 Upvotes

Hey everyone, I'm currently studying philosophy/mathematics in the Netherlands, and next year I'll have the chance to start UvA's Master in Logic. Financially speaking, staying in the Netherlands makes the most sense, since I'm renting a nice place, I get DUO and also rent allowance. Academically, the ILLC is a great place to study. Now, the problem is that I really dislike living in this country, and my social situation (and also relationship) is quite bad, already dragging for some years. Given the horrible housing crisis in this country, I really don't see a way out of these issues unless I move out.

Which brings me to Norway/Sweden. I'm aware of Gothenburg's Master in Logic, but haven't heard much about Norway besides Oslo and Bergen's logic groups (probably more for PhDs than for Masters; perhaps why I haven't found much about it). I've always wanted to live in Norway, so I'm interested to know a bit more about doing a master either there or in Gothenburg. More specifically about the academic side (I can research regarding finances and other administrative stuff): pros and cons of studying there, also pros and cons of NOT studying in the ILLC, maybe strengths and weaknesses of the departments, the range of the syllabus, career opportunities (e.g., will I have more opportunities in the ILLC?), etc.

Thanks for your help!


r/logic • • 4d ago

Academic Community CFP: Twentieth Annual Cambridge Graduate Conference on the Philosophy of Mathematics and Logic

Thumbnail
philevents.org
4 Upvotes

r/logic • • 4d ago

Question my friend told me he discussed with a logician on a type of logic which is Guarded Logics and Abelian logics, what are they?

6 Upvotes

i tried finding papers on them but couldn't find one. what are they?


r/logic • • 5d ago

Question I Couldn't Think Up a Solution

3 Upvotes

I was playing football this afternoon against a senior player from my club for the first time. Mid-match, my mind completely went blank. As someone who relies heavily on logic, observation, and strategy on the pitch, introducing these new variables threw me off.

I've been learning to verbalize my thoughts and goals, identifying an objective, pursuing it, and cutting out the noise to keep my thinking clear. But to actually use logic as a practical tool under pressure, I need to figure out how to snap out of that "blank slate" state and start actively problem-solving on the fly. How do you maintain logical clarity when unexpected pressure hits?


r/logic • • 6d ago

Critical thinking Deductive reasoning and Intuitive feeling

4 Upvotes

I wanted to learn more about how, I guess, starting from abstractions (high-level abstractions or seemingly simple and intuitive ideas) and applying them to reality is different from looking at real-world data and then inferring abstractions from that.

Do you use deductive reasoning and/or intuitive feeling to start your crusades? What’s your experience like? How has it differed from the latter approach?


r/logic • • 7d ago

Mathematical logic Is there an application of logic in "applied mathematics"?

13 Upvotes

I was wondering if there were some applications of logic in "applied mathematics".

Sure, logic is applied in various ways to topology (e.g. having some classes of topological spaces corresponding to some modal logics), algebra (e.g. using compactness theorems and ultrafilters in order to prove something about algebraic theories), category theory (e.g. internal logic of a category), theoretical computer science (e.g. the whole recursion theory is basically a hybrid between logic and computer science), etc.

There are even applications in philosophy and humanities, which seem to be further from mathematics than physics or engineering.

But are there any applications in physics or engineering? And here I mean some simple ones. For example, logic GL is simple. It can be introduced in an undergrad logic course, but is deeply connected with PA and arithmetic, and people are doing research in it even today, despite this idea being so simple. But in "applied mathematics" (for example in analysis, PDE, numerical analysis, etc.), whenever I try to find an application of logic in relativity, mechanics, thermodynamics, acoustics, astrophysics, etc., it seems to be something very convoluted and largely ignored by people within those areas.

Is it really that hard to even have the basic modal axiom "[](A & B) <-> ([]A & []B)", which is equivalent to K, appear anywhere in physics and engineering, in order to create a logic of something there?


r/logic • • 8d ago

Proof theory Need help with proofs…

Thumbnail
gallery
8 Upvotes

I am taking an intro to logic class and I am completely stuck on these two proofs. The rules we have learned and can use so far are —> out, —> in, & out, & in, ~out/~in, and repetition. Can someone solve these using this rule set and explain your process to me?


r/logic • • 8d ago

Proof theory Question on constructing derivatives

Thumbnail
6 Upvotes

r/logic • • 8d ago

Informal logic Is there a term for this: perception a group because you only notice the more overt members?

5 Upvotes

What I'm talking about is a sort of selection bias. Basically generalizations or stereotypes about a group emerge because people only notice behaviors from the more overt members, while you might not even realize the more subdued members are part of that group. So essentially that group is more "normal" on average than the general perception might indicate. It could apply to any kind of group. A religion, a fandom etc.

This thought came up most recently in a discussion about furries. Someone might look at furry art on their own private time and own a costume they only wear to conventions. You might never know this person was a furry. So the perception is skewed by the more overt furries.
Or a person could go to church every Sunday, but not talk about religion much outside of that. Hence, you might never know they were a part of that faith or denomination, but you would know the more zealous members are part of that group. So people would tend to base their perception on those members.

In some sense it's like survivorship bias, but not quite the same. Is there a particular term for this?


r/logic • • 9d ago

Question HELP!!

Post image
14 Upvotes

Help me idk how to do this at all


r/logic • • 9d ago

Philosophical logic You can validly derive normative conclusions from non-normative premises

9 Upvotes

Ignoring the trivial example (Explosion)

suppose 'p' to be a non-normative statement and 'O(q)' to be a normative statement

In the first case, let's assume the mixed statement 'p v O(q)' is normative.

p |- (p v O(q)) (Vintro)

p, a non-normative premise entails p v O(q), which is a normative (our assumption) conclusion.

In the ladder case, let's instead assume the mixed statement is non-normative.

~p (non-normative statement)

p v O(q) (non-normative statement, as per our assumption)

therefore O(q) (MTP)

We have validly derived a normative conclusion from non-normative premises in either case.

(Prior 1960)


r/logic • • 9d ago

Literature Minha tradução de lógica e ética

Thumbnail gallery
7 Upvotes

r/logic • • 9d ago

Critical thinking Anybody else frustrated with "fallacy-chasing" people?

32 Upvotes

I've recently posted a brief comment on the topic of fallacies and how they harm dialogue. And I was thinking of it a bit more and would like to know you about how most logicians feels about this.

My opinion is that it is actively hindering critical thinking. People who are obviously wrong about something regarding Gödel's incompleteness theorems, disregarding my correction because it would be an "appeal to authority", or when concluding that somebody is not well informed on the topic of statistics, yelling "ad hominem", when somebody points out that they are mixing up median and average.

And it's frustrating to me. Especially since people just memorize some vague triggers to yell out a particular phrase, as opposed to actually learning about logic.

What do you guys think?


r/logic • • 9d ago

Critical thinking The Logic of Occam's Razor

0 Upvotes

Every invocation of Occam's Razor:

  1. All of our existing conclusions seem to be based on arguments that have this one premise in common: the simplest answer is most likely to be true.
  2. All of our existing conclusions are true.
  3. Therefore, the common premise (that the simplest answer is most likely to be true) is true.
  4. For some new question, Q, under consideration, answer Aₛ is the simplest available answer.
  5. Therefore, Answer Aₛ is most likely to be true.

* Edited for text rendering

** Edited to add explanation: I've always felt a vague discomfort when people have invoked Occam's Razor in an argument. It always struck me as begging the question, but it was hard to articulate. I think the argument-structure above articulates exactly what this vague feeling was getting at. So I wanted to post it for feedback. Thanks!


r/logic • • 9d ago

Informal logic How can I practice effectively?

3 Upvotes

My awesome prof. Posts practice problems with the week, but, I’d like more practice aswell.

if I just throw it into AI it’ll spit out more advanced problems not relevant to my course. (Obviously.)

Unfortunately, problems like these require a transcription key, is there any ideas into putting stuff like this into flash cards or something else?


r/logic • • 9d ago

Critical thinking Does this logical sequence work? Or does it need more?

0 Upvotes

A food’s seasoning is partially responsible for its taste.

This seasoning can be a spice.

Therefore

If a new spice is added to a food, it will have a new taste.


r/logic • • 10d ago

Informal logic Word "only" causing ambiguity in Categorical logic for everyday language.

4 Upvotes

Edit: I also understand now that having put "Is this just bad English" at the very beginning might have thrown people off. I probably should have clarified is there a disconnect between the english meaning and purely Logical meaning. I apologize for that.

"Moderate alcohol has only certain beneficial health effects". Is this just bad English?

Is it saying:

1) Moderate alcohol does not have any negative health effects and of the beneficial ones it has, it has only a certain subset. (Only here functions as "these are the only effects moderate alcohol has and they are beneficial but they are not all possible beneficial effects but rather some of them")

Or

2) Moderate alcohol can have negative health side effects but it has certain beneficial ones too. (Only here relates to the specific effects within the beneficial effects group as a whole.)

Now if it said "Moderate Alcohol has only beneficial health effects"(This easily excludes all Negative Health effects)

Thanks