# Probabilistic argument relationships and an invitation to the argument mapping community

I've been thinking about the probabilistic properties of how ideas are connected to each other, and I think that the Lesswrong community might be interested in the same kind of questions that interest me. I'd like to introduce[^5zu0lcnk7jd] a mathematical framework for talking about random arguments and the ideologies that are roughly-self-consistent within them. Using this framework to answer practical questions requires a lot of data that I don't have. I think that the best source of this data is from argument mapping programs, and that one of the most direct applications of this theory is to make computational argument mappers that can provide their users with non-immediately-obvious insights into their arguments. I've noticed some interest in the rationalist space for argument mapping programs and it seems that a good number of people are creating them. For this reason, I'd like to invite anyone who is in the business of creating argument mappers to get together and chat about how these kinds of computational tools could be integrated -- I made a Discord server at [https://discord.gg/2DuBbmEQ5X](https://discord.gg/2DuBbmEQ5X) but am open to other platform suggestions. Maybe we could collect enough data to start addressing some interesting philosophical questions!

###   
Motivation

Here are some questions that I don't feel that I currently have the tools to reason about:  
(1) Should we expect debates to converge as we spend more time/effort thinking about them? If we pick a question with a yes/no answer "at random" and look at the probability that we think the answer is "yes" over time (assuming we live in a static world where no real-life developments impact our reasoning), then does this probability usually have a limit as time goes to infinity? Is it likely to exhibit some kind of "false convergence" where, for example, it hovers near 1 for debate lengths between 10 minutes and 10,000 hours but at 10,001 hours a new consideration could suddenly emerge and change the arguer's probability of the answer being "yes" to near 0?

(2) How should we expect ideologies to evolve over time? Let's think of ideologies as "roughly-self-consistent" sets of ideas. Suppose you take a community that has been thinking about some cluster of questions for time T. Suppose you observe roughly three competing ideologies. Let's say you return to this community after they've been thinking for time 2T. How would you expect the set of ideologies to have evolved? What are the probabilities of these ideologies shifting, merging, bifurcating? How much drift should we expect on the answers to the questions that the community was originally asking?

(3) Which parts of arguments should we be able to assume are mostly independent? If we are presented with a complicated nest of arguments and one of the chains of reasoning supports a conclusion that turns out to be false, how much do we have to re-consider?[^4lla3vwffee]

(4) In a similar vein, can we detect signatures of social pressure or hidden arguments if we are given a bunch of arguments and data on which people support which arguments? For example, if there are two completely separate arguments for two separate policy proposals but the proponents of the two proposals are highly correlated, can we infer that there are either parts of the arguments being left unsaid or that there are social dynamics interfering with rational decision making?

(5) When, if ever, is it advantageous to split a community of researchers up into two communities of researchers who don't talk to each other for a while? I can think of historical examples of such separation being good overall, but it's not clear to me how you could predict when such intellectual diversity is called for.

I think that some of these questions could gain added urgency in a world populated by super-intelligent AI's. For example, we might suddenly have 10,000 years' worth of philosophical developments dropped on humanity's doorstep in an afternoon. Under the supremely generous assumption that a super-intelligent AI would reason with similar-ish patterns to humans, how different do we expect the conclusions of those developments to be compared to the moral frameworks we have today? Understanding how collections of arguments evolve over time seems critical if that evolution could suddenly start happening several orders of magnitude faster.

I think that to answer these questions properly, we need a notion of what a random argument or set of ideas looks like. We care less about what a collection of claims are saying about the world and more about how they are connected to each other. To be able to tackle the kinds of questions I listed earlier, let's write down some mathematical structures that capture the behavior we're interested in.

###   
The Argument Model

To guide the creation of our model, let's consider an example. Let's consider the following collection of claims: "I slept a lot last night. Therefore I'm well-rested. That reasoning is nonsense, I'm often randomly tired after getting good sleep! Well, I feel well-rested at least." If I ever were to say these words, there would obviously be a lot more going on inside my head than just what I express out loud, and not all things I say bear equal weight. However, it feels difficult to quantify these weights, especially if multiple people are arguing over the same set of statements and each person attaches different weights to them.[^g3j6hwfjxse] Thus, let's focus on just the text in front of us.

If I had to break the given text into individual claims, I would probably do something like "(1): 'I slept a lot last night.' (2): 'I'm well rested.' (3): (1) implies (2). (4): 'I'm often randomly tired after getting good sleep!' (5): (4) implies not (3). (6): 'I feel well-rested.' (7): (6) implies (2)." Some of these claims are directly making statements about the world -- these claims aren't really saying anything about the relationships between claims and thus aren't contributing to the structure of the argument. Other claims are asserting relationships between previously stated claims -- in particular, they are asserting that propositional formulas hold in terms of the truth values of previous claims. For example, if (3) is true then the propositional formula "(1) implies (2)" must hold. I'd push back against the idea that claim (3) is true if and only if the logical formula "(1) implies (2)" is true -- maybe it's possible that I slept a lot last night and that I'm well-rested but it's untrue that the former caused the latter. I'd argue that it's more accurate to say that the logical formula "(3) implies ((1) implies (2))" is true -- i.e. if the reasoning in (3) is true then the formula "(1) implies (2)" must hold. Statements like (1) that say things about the world can be thought of as forcing trivial implications to be true, i.e. "(1) implies True".[^4jz7vkgsw7j]

I think this idea generalizes pretty nicely: each claim implies that some formula in terms of the previous claims must be true. For example, I'd represent this argument as a function $A$ from the numbers $1$ through $7$ to propositional formulas involving variables drawn from the numbers $1$ through $7$. Our specific $A$ would be:  
$A(i) = \begin{cases} \top & i = 1 \ \top & i = 2 \ 1 \Rightarrow 2 & i = 3 \ \top & i = 4 \ 4 \Rightarrow (\neg 3) & i = 5 \ \top & i = 6 \ 6 \Rightarrow 2 & i = 7 \end{cases}$   
I would then say that $A$ induces the logical formula:

$f_A = (1 \Rightarrow \top) \land (2 \Rightarrow \top) \land (3 \Rightarrow (1 \Rightarrow 2)) \land (4 \Rightarrow \top)$

          $\land (5 \Rightarrow (4 \Rightarrow (\neg 3))) \land (6 \Rightarrow \top) \land (7 \Rightarrow (6 \Rightarrow 2))$

Let's try to generalize this construction. Let $[n]$ denote the set $\left \{ 1, ..., n \right \}$ for any natural number $n \in \mathbb{N}$ (I'm excluding $0$ from $\mathbb{N}$). Let $P_n$ denote the set of propositional formulas with variables in $[n]$, and let $P = \bigcup_{n \in \mathbb{N}} P_n$. Let's define an argument $A$ of size $n$ to be a function from $[n]$ to $P$ such that $A(i) \in P_{i - 1}$ for all $i \in [n]$ (let's define $P_0 = \{ \top, \bot \}$).[^7z0gft2geer] We can then define $f_A$ to be the propositional formula that $A$ represents: $f_A = \land_{i \in [n]} \left ( i \Rightarrow A(i) \right )$. Let $H_n$ denote the set of all arguments of size $n$ and let $H = \bigcup_{n \in \mathbb{N}} H_n$.[^4wa4d0yqrr5]

For some of the questions I listed in the motivation section, this framework is enough. We could talk about probability measures over arguments, we could try to turn those arguments into graphs by drawing edges between vertices in $[n]$ if a vertex is a variable in another vertex's formula and then look at these as random graphs, etcetera. However, for some other questions I listed in the motivation section (such as predicting how ideologies shift over time), we need some way of describing how arguments grow. Furthermore, if we specify a random growth process, then that random growth process will induce a probability measure on arguments of size $n$: we start with the empty argument and grow from there until we reach size $n$. This process very roughly reflects how arguments grow in practice, so it's reasonable to expect that a realistic probability measure over arguments will be induced by such a process. Also, I suspect it will be easier to write down simple argument growth processes with somewhat realistic behavior than to write down a probability measure on arguments directly.

Let's define an argument growth process $G_n$ for arguments of size $n$ to be a function $G_n : H_{n - 1} \to (P_{n - 1} \to [0, 1])$ such that for any $h \in H_{n - 1}$, $\sum_{p \in P_{n - 1}} G_n(h) = 1$, i.e. $G_n(h)$ specifies a probability mass function over $P_{n - 1}$ ($P_{n - 1}$ is finite so without loss of generality we can focus on probability mass functions instead of probability measures). Intuitively, given an existing argument $h$, $G_n(h)$ gives us a probability mass function on the next claim that will be added to $h$. We can then define an argument growth process to be a sequence $G$ of argument growth processes for arguments of size $n$ for each $n \in \mathbb{N}$. In other words, an argument growth process specifies how to grow a size-0 argument into a size-1 argument, how to grow a size-1 argument into a size-2 argument, and so on. Formally, if we let $K_n$ denote the set of argument growth processes for arguments of size $n$, then an argument growth process is an element of $\Pi_{n \in \mathbb{N}} K_n$.

So far so good! We have some kind of language for talking about arguments and how they evolve over time. However, right now there's nothing linking these arguments to the beliefs arguers have about the claims being argued over. For reasoning about how beliefs evolve over time as a result of the progression of an argument, let's define some more objects.

###   
Ideology Weighting and Growth-Consistency

  
Okay, to answer some of the questions I listed in the motivation section we need to be able to look at an argument and identify its roughly-self-consistent ideologies, the correlations between its claims, etcetera. The most natural way to represent this information is by putting a probability measure on true/false assignments to the claims. Of course, we shouldn't interpret this probability measure as an actual statement about the probabilities of the claims described happening in the real world. Rather, this is some more abstract evaluation of the structure of the argument itself.

Suppose we have an argument $A \in H_n$ for some $n$. Let's define an ideology on $[n]$ to be a true/false assignment to the variables $1$ through $n$, i.e. an element of $\{\top, \bot\}^{n}$ . Let's define an ideology mass function on arguments of size $n$, then, to simply be a function $I_n : H_n \to \left ( \{\top, \bot\}^{n} \to [0, 1] \right )$ such that for all $A \in H_n$, $\sum_{t \in \{\top, \bot\}^{n}} I_n(A)(t) = 1$, i.e. $I_n(A)$ is a probability mass function on $\{\top, \bot\}^{n}$. An ideology weighting $I$ is then a sequence of ideology mass functions $I_n$ on arguments of size $n$ for every $n \in \mathbb{N}$.

Okay, but this is a little stupid: we haven't forced the ideology weighting to interact with the argument in any way! Let's say that an ideology weighting $I$ is "dismissive" if for every $n \in \mathbb{N}$, for every $A \in H_n$, if the propositional formula $f_A$ is false under the true/false assignment $t \in \{\top, \bot\}^{n}$, then $I_n (A)(t) = 0$. In other words, $I_n (A)$ dismisses true/false assignments that are impossible as per our formula $f_A$.

We can now define the uniform dismissive ideology weighting: it assigns equal mass to every valid true/false assignment. For example, if we have the argument "(1): I am sleepy, (2): I am making typos, (3): (1) implies (2)" parsed as $A(i) = \begin{cases} \top & i = 1 \ \top & i = 2 \ 1 \Rightarrow 2 & i = 3 \end{cases}$, then the uniform dismissive ideology weighting's third mass function would assign any true/false assignment except $(\top, \bot, \top)$ a mass of $1 / 7$ and it would assign $(\top, \bot, \top)$ a mass of $0$. The uniform dismissive ideology weighting is what I used when I tried to create a computational argument mapper in real life (see below).

There's a bit of an inconsistency when we try to interpret these ideology mass functions as probabilities. If we've specified a growth process that turns an argument in $H_{n - 1}$ into an argument in $H_{n}$ and if we've specified an ideology mass function on $H_{n}$ then the law of total probability basically forces our choice of ideology mass function on $H_{n - 1}$. For example, suppose we consider the growth process for arguments of size $3$ which creates the propositional formula $1 \Rightarrow 2$ with probability $1$ and everything else with probability $0$. Let's say we start with the argument $A(i) = \begin{cases} \top & i = 1 \ \top & i = 2 \end{cases}$. Under the uniform dismissive ideology mass function for arguments of size 2, the weight on the assignment $(\top, \bot)$ is $1/4$. However, when we grow our argument by adding the $1 \Rightarrow 2$ claim, the uniform dismissive ideology mass function on arguments of size 3 gives the $(\top, \bot, \top)$ assignment a weight of $0$ and the $(\top, \bot, \bot)$ assignment a weight of $1/7$, so the overall probability of assigning $\top$ to 1 and $\bot$ to 2 should have been $1/7$ all along.

To rid ourselves of this inconsistency, let's define an ideology weighting $I$ to be "growth-consistent" with respect to some argument growth process $G$ if it satisfies the law of total probability: for all $n \in \mathbb{N}$, for all $A \in H_{n}$, for all $t \in \{\top, \bot\}^{n}$, we have $I_n(A)(t) = \sum_{p \in P_{n}} G_{n + 1}(A)(p) \cdot \left ( I_{n + 1}(A_p)((t_1, ..., t_n, \top)) + I_{n + 1}(A_p)((t_1, ..., t_n, \bot)) \right )$ where $A_p \in H_{n + 1}$ is defined by $A_p(i) = \begin{cases} A(i) & i \leq n \ p & i = n + 1 \end{cases}$ (basically $A_p$ is the fixed argument $A$ appended with the potential next claim $p$).

One of the questions we can ask at this point is whether there is a natural way of thinking about a "closest-to-uniform" dismissive growth-consistent ideology weighting. In some sense, this should be a way of extracting a sensible ideology weighting from a specified growth process while assuming as little as possible. I have some thoughts on this but it's unclear to me if any of the methods that come to mind are particularly fundamental.

I could go on defining more properties of interest (and I'm happy to make a follow-up post if people like this stuff), but I think I should address the elephant in the room: how on Earth to actually construct a reasonable argument growth model.

###   
An Invitation to the Argument Mapping Community

This theory needs at least two more things to make any useful predictions: (1) a lot of arguments drawn from the wild, and (2) some way of statistically analyzing them to build a realistic argument growth model. These things can be done in parallel, but (1) seems like the bottleneck to me. I can imagine two ways of collecting this data: either you can go online and find arguments in the wild and try to parse them or you can collect arguments that are already in the specific parsed format you want. I'm not sure which approach is better, but the second approach allows me to rope in something else that I think could benefit from thinking about random arguments: argument mapping programs.

Although I highlighted at the start of this post how understanding random argumentation could help predict how arguments behave, I also think that it could help people involved in arguments understand better what's going on. I think it could be useful to have a program that can track high-probability/self-consistent ideologies or point out subtle correlations in arguments or highlight which potential connections could most help or hurt some given ideology. For a long time I've wanted to build an argument mapper that could provide users with these kinds of computational insights. I made [logicgraph.dev](https://logicgraph.dev) to try to create something like what I imagine, but to be frank I don't have the logistical capacity to develop my own argument mapper as a side project. I'm also aware that a lot of other people are trying to create argument mapping programs, so I thought it would be a good idea to create some kind of forum for argument mapping developers/enthusiasts to talk to each other and possibly to talk about applications to random argumentation. I've tentatively created a Discord server (invite link [https://discord.gg/2DuBbmEQ5X](https://discord.gg/2DuBbmEQ5X)), but I'm open to other platform suggestions. I think that a community centered around argument mapping could have a very mutualistic relationship with random argumentation theory, and from my experience at EAG I get the impression that this community is basically asking to exist.

P.S. I played around a bit with argumentation theory under Kevin Zollman in CMU's philosophy department. Plenty of insights may have been his, all misconceptions/omissions are very deeply my own.

[^5zu0lcnk7jd]: I haven't seen anyone reference this model, but it's simple enough that I wouldn't be surprised if someone else has already written it down. If this post is old news then please let me know! 

[^4lla3vwffee]: This idea reminds me of the paper "Formalizing the presumption of independence". 

[^g3j6hwfjxse]: I'm also attracted to the simplicity of ignoring these internal weights. It's reminiscent to me of how topology does away with the real-number distances of metric space analysis while still preserving a lot of fundamental structure. That said, I'd be very interested in extending this model to account for different weights on the statements in question if anyone can find a practical way to do so. 

[^4jz7vkgsw7j]: Let's work with propositional logic since we only have finitely many claims in play. I don't see a need to go first-order. 

[^7z0gft2geer]: I considered allowing \(A(i) \in P_n\) but decided against it -- it feels weird to allow a claim to say something about another claim that hasn't been introduced yet. 

[^4wa4d0yqrr5]: It's valid to ask why we index the claims in our argument in this linear fashion. Indeed, it's hard to model the kind of community splitting and rejoining behavior I referenced in the motivation section using this framework -- if an argument is being developed in two directions at once then which claim gets listed first shouldn't be allowed to matter. You can generalize this definition to an arbitrary directed acyclic graph in a natural way. I can write more about that in a follow-up post if people are interested.