Discussion Graph Semantics of First-Order Logic with Equality for Reasoning about Discussion and Argumentation
Abstract
We formulate discussion graph semantics of first-order logic with equality for reasoning about discussion and argumentation as naturally as we would reason about sentences. While there are a few existing proposals to use a formal logic for reasoning about argumentation, they are constructed bottom-up and specialised to Dung’s argumentation model. There is indeed a conspicuous lack of a formal reasoning framework for handling general discussion and argumentation models. We achieve the generality through a top-down formulation of the semantics of first-order logic (with equality) formulas, addressing the current shortage.
1 Introduction
There are several well-known models of discussion and argumentation. Some (such as Toulmin’s model [13], issue-based information systems [10] and argumentation schemes [14]) serve as a guideline for having a high-quality discussion, while others in the tradition of Dung’s argumentation model [5, 6, 3] offer logical reasoning capabilities through a set of logical principles. Most of these models are a graph structure (and even if they are a network, they can be normally reduced into a graph structure).
Each of the discussion models has been implemented and used in relevant fields: AI and Law [2], Education [8], Pragmatics/Rhetorics [9, 1], to name but a few. However, when it comes to formal reasoning, it is predominantly the second group of discussion models (in Dung’s tradition) to which much of the effort has been dedicated. There are many variations and extensions to Dung’s argumentation model defining the semantics of acceptability of arguments in argumentation.
However,
most of the semantics of acceptability are intractable unless P = NP,
and is therefore difficult to scale up to large graph structures such as
may be obtained from a discussion forum on the Internet. Besides,
there can be other reasoning tasks we may be interested in carrying out.
Even the seemingly a lot simpler reasoning task of
detecting a particular discussion structure pattern (that is, when the pattern is simple enough)
can still come in handy.
For example, we may be interested in learning about
whether a discussion contains the structure pattern of Toulmins’ model,
issue-based information systems or argumentation schemes.
If the discussion does not contain the pattern, we may then
be able to prompt discussion participants to supply missing components. The
pattern detection albeit its simplicity (again, when the pattern is simple enough) is therefore
useful.
The foregoing discussion points us to the direction of reasoning about discussion graphs in some formal language, accommodating the desired flexibility of stating any property that we may like to reason about about a discussion structure. However, currently, there is a conspicuous lack of a formal framework to reason about general discussion graphs. While a few proposals were advanced previously [12, 4], they are rather specific to handling Dung’s argumentation model for reasoning about the above-stated semantics of acceptability. They are constructed bottom-up, have in syntax syntactic components specific to Dung’s argumentation model, and are largely propositional. It is not immediate how they may be extended to reasoning about more general discussion graphs. The presence of special syntax makes it harder to identify connection to more standard formal logic.
Seeing the technical gaps, in this paper we develop
a reasoning framework for discussion and argumentation in a top-down manner.
For ensuring compatibility with existing formal logic,
we do not invent a new logic. We use the syntax of first-order logic
with equality. What we newly formulate
is its discussion graph semantics
in order to directly work with discussion and argumentation graph structures through it.
Technically, we define the semantics
of first-order logic formulas when the domain of discourse,
i.e. an object-level semantic structure,
is a discussion graph structure with annotations on nodes and edges.
The key research question around our technical development is as follows:
Q In first-order logic dealing with sentences,
a sentence (of potentially an arbitrary finite length) is a basic building block.
If we take an analogy, in first-order logic dealing with discussion graph structures,
a discussion graph (of potentially an arbitrary finite size)
should be a basic building block, but how do we formulate this
intuition into the semantics of first-order logic (with equality) so that
the above-described pattern detection tasks and other reasoning tasks
can be intuitively tackled with it?
We answer this question by allowing any predicate
symbol to denote a graph structure with annotations. After formulating
the discussion graph semantics of first-order logic (with equality),
we show concrete examples illustrating how it is used for
reasoning about: the aforementioned pattern detection
of any annotated object-level graph structures;
as well as some logical properties of them as in Dung’s argumentation model.
The structure of the paper. In Section 2, we recall the syntax of first-order logic with equality. In Section 3, we formulate the discussion graph semantics. Section 4 concludes this paper with a mention of related work.
2 Technical Preliminaries: the Syntax of First-Order Logic with Equality
We introduce the syntax of first-order logic with equality succinctly.
A logical connective is any member of the set . and have the arity of 0; , and have the arity of 1; and , and have the arity of 2. A variable is any member of an uncountable set . A logical symbol is one of the following: a logical connective, a variable, a parenthesis/bracket symbol (e.g. ‘(’, ‘[’, ‘)’, ‘]’), a punctuation symbol (e.g. ‘.’, ‘,’) or an equality symbol =.
A function symbol is any member of an uncountable set and each function symbol has an arity of some non-negative integer. It is assumed that there are infinitely many function symbols for each arity in . A constant is a function symbol with the arity of 0. A predicate symbol is any member of an uncountable and each predicate symbol has an arity of some non-negative integer. It is again assumed that there are infinitely many predicate symbols for each arity in . A propositional variable is a predicate symbol with the arity of 0. A non-logical symbol is one of the following: a function symbol (including a constant) or a predicate symbol (including a propositional variable).
The language for first-order logic, FOL, comprises all the logical and non-logical symbols. For convenience, any variable is denoted by , any predicate symbol by and any function symbol by . By , we shall denote a term and by we shall denote a tuple of terms . The exact definition of a term is as follows. (1) Any variable is a term. (2) Any for some function symbol of arity and some tuple of terms is a term. (3) Any term is recognised by (1) and (2) alone.
A formula is any of the following. (1) for some predicate symbol of arity and some tuple of terms . (2) or . (3) for some formula . (4) or for some variable and some formula . (5) , or for some formulas and . (6) or for some formula . (7) for some terms and . A formula is well-formed iff there is no variable occurring free in . As for the binding order of the logical connectives, binds strongest, and bind the second strongest, and the third strongest, while binds the weakest.
3 Discussion Graph Semantics of First-Order Logic with Equality
When discussion models are extracted from natural language texts through mining [7, 11], they are often a graph structure with annotations on its nodes and edges. As such, it is only natural that we consider a graph structure with annotations as the domain of discourse of our semantic structure. We shall call the pair of: a graph structure; and a function assigning annotations (as strings) to the graph nodes and the graph edges an annotated graph. Fig. 1 shows at the top an example of annotated graph denoting a Toulmin’s model. This figure is actually a compact form of a graph (shown at the bottom left) and a function to assign annotations (partially shown at the bottom right). All the graphical representation of an annotated graph in the rest of this paper will be in the compact form.

To explain this annotated graph a little more in detail, denotes some natural language text (as a string) and the empty annotation (as an empty string) is used to signify a ‘whatever’ annotation. Now, Toulmin’s model is not originally a graph: an arrow from actually goes to an arrow. In order to represent it in graph, we have converted the network into the annotated graph by inserting an auxiliary annotated node in the middle of the arrow from to .

For other discussion models, Fig. 2 shows one example of Dung’s model and that of issue-based information systems. In the original Dung’s model, they do not care about annotations on texts/statements, so every text/statement is given as its annotation. On the other hand, every edge is given annotation. In issue-based information systems, text/statement is given an annotation from . Any -annotated text/statement can have an edge only to -annotated texts/statements. Any -annotated text/statement on the other hand can have an edge only to -annotated texts/statements. An -annotated text/statement can have an edge to any //-annotated text/statement. Each edge is given an annotation reflecting from which annotated text/statement to which annotated text/statement it goes.
In practice, we may not be obtaining from natural language text an annotated graph that perfectly matches one of these discussion models structure-wise. Fig. 3 shows one example which is almost a Dung’s model but with annotation on one of the edges and with various annotations on texts/statements.

Consequently, it is necessary to recognise every annotated graph. The following definition formally characterises our domain of discoure. Here and elsewhere, denotes the power set of
Definition 1 (Object-level annotated graphs)
An object-level statement is a string. An annotation is a string. An object-level annotated graph is a pair of: a graph where is a set of object-level statements and is a binary relation over them; and a function where is a set of annotations.
To be able to tell whether one object-level annotated graph is smaller than another, we define the following order relation .
Definition 2 (Order on object-level annotated graphs)
is a binary relation over object-level annotated graphs defined as follows. iff the following conditions hold.
-
•
is a subgraph of , i.e. and .111Or . But this is redundant since must be a graph.
-
•
For every member of , .
Proposition 1
is a preorder.
Proof
For any , and each denoting an object-level annotated graph, trivially; and and materially imply trivially.
3.1 The role of predicate symbols and variables
To understand the role of predicate symbols and variables within our semantics, let us first recall how a statement is dealt with in first-order logic. Suppose there are two sentences “Tom is a nice person.” and “Tom gives me flowers.” The symbolic description of these sentences can be via any predicate symbols, say and respectively .
Suppose we are interested in describing
the sentence “If Tom is a nice person,
Tom gives me flowers.” with these sentences.
When the arity of and is 0,
the new sentence is . While and
have the internal content, there is no way to have access to it,
and they have to be handled atomically. By allowing
a positive arity, we are effectively shifting to
schematic sentences from concrete sentences. For example,
suppose that the arity of is 1 and that
denotes the corresponding sentence. Then, effectively denotes
the following skeleton sentence “ is a nice person.”
which has a placeholder to be replaced by .
Similarly, suppose that the arity of is 3 and
that denotes the corresponding sentence.
Then, effectively denotes
the following skeleton sentence “ gives .”
The first placeholder is replaced by the first element
of the tuple (), the second placeholder by the second
element and the third placeholder by the third element.
Instead of a constant, we can of course pass a variable to a placeholder
and quantify it.
Let us take an analogy from the foregoing discussion for our semantics. Just like (complete) sentences were building blocks, we would like to treat (complete) annotated graphs as building blocks. If we consider the object-level annotated graph in Fig. 3 as such a building block, we should be able to denote it - or a schematic version of it - by a predicate symbol, say . Again taking an analogy from the foregoing discussion, when the arity of is 0, we should like it to denote the object-level annotated graph itself, and when the arity is a positive integer , we should like it to denote a skeleton annotated graph with placeholders.
Fig. 4 shows an example, a shortened version of the object-level annotated graph in Fig. 3. Shown on the left is an object-level annotated graph where () is an object-level statement and () is an annotation.

Let’s say that, when the arity is 0, denotes this object-level annotated graph. When ’s arity is 3, could denote the skeleton annotated graph shown on the right. If we replace the first placeholder by , the second placeholder by and the third placeholders ( occurs twice) by . That is, denotes the same object-level annotated graph as the one shown on the left. Here, we may say that the skeleton annotated graph as denoted by is instantiable by the tuple of members of object-level statements and/or annotations .
The formal definition of a skeleton annotated graph is as follows.
Definition 3 (Skeleton annotated graphs)
A special natural number is a natural number prefixed by .222, , and so on are all special natural numbers. A skeleton statement is either an object-level statement or a special natural number. A skeleton annotation is either an annotation or a special natural number. A skeleton annotated graph is a pair of: a graph where is a set of object-level statements and/or special natural numbers and is a binary relation over them; and a function where is a set of annotations and/or special natural numbers.
A degree- skeleton annotated graph is a skeleton annotated graph in which all occur but not any for . No special natural numbers occur in a degree-0 skeleton annotated graph.
The formal definition of instantiability of a degree- skeleton annotated graph is as follows.
Definition 4 (Instantiability)
Given a degree- skeleton annotated graph and a member of , let denote an object-level annotated graph as the result of simultaneously substituting into () occurring in .
Then, given an object-level annotated graph , a degree- skeleton annotated graph , and a member of , we say instantiates below iff .
Example 1 (Instantiability)
Let and be a member of and let be a member of , then the left graph in Fig. 5 is a degree-2 skeleton annotated graph. Meanwhile, an object-level annotated graph is on the right hand side of Fig. 5.

It holds that both and instantiate the degree-2 skeleton annotated graph below the object-level annotated graph.
3.2 Symbolic representation of annotated graphs
Up till now, our discussion was kept close to the domain of discourse where we have the object-level statements and annotations. At the syntactic level, we instead have terms (see Section 2). It is thus preferable to define the symbolic representation of an annotated graph.
Definition 5 (Typed discussion graphs)
A typed discussion graph is a pair of: a graph ; and a typing function , where each node is a term and assigns a set of terms to each member of . A skeleton typed discussion graph is a pair of: a graph ; and a typing function , where each node is a term or a special natural number and assigns a set of terms and/or special natural numbers to each member of .
A degree- skeleton typed discussion graph is a skeleton typed discussion graph in which all occur but not any for . No special natural numbers occur in a degree-0 skeleton typed discussion graph.
These symbolic representations allow for graphical description of a predicate symbol. In Example 4, we saw a degree-2 skeleton annotated graph:
![[Uncaptioned image]](https://cdn.awesomepapers.org/papers/ff0b6297-6dfd-41b5-8d66-398e4dd81ca9/figure6.png)
Instead of some letter(s) , we can agree to use the skeleton typed discussion graph:
![[Uncaptioned image]](https://cdn.awesomepapers.org/papers/ff0b6297-6dfd-41b5-8d66-398e4dd81ca9/figure7.png)
as a more descriptive version of . It is assumed that , and are constants in this example and that they denote , and , respectively. Hence, indeed, this graphical predicate denotes the skeleton annotated graph above. In the rest, whenever we use a graphical predicate, we put it in square brackets [ ] for disambiguation.
3.3 Discussion graph semantics
The preceding subsections touched upon the domain of discourse and interpretation of mostly predicate symbols. The following defines our semantic structure formally.
Definition 6 (Discussion graph structures)
The domain of discourse is some object-level annotated graph . An interpretation is a function defined as follows. (1) For every function symbol of arity , is a function . In case , is a member of . (2) For every predicate symbol of arity , is a degree- skeleton annotated graph where is a subset of . A variable assignment is a function .
An evaluation is a pair of some interpretation and some variable assignment . The following is enforced.
-
•
For any variable , denotes .
-
•
For any function symbol , denotes .
-
•
For any function symbol of arity and an -tuple of terms , denotes .
-
•
For any predicate symbol , denotes .
-
–
for a graphical predicate [], is a skeleton annotated graph as the result of replacing every term occurring in by .
-
–
A discussion graph structure is a tuple of the domain of discourse and an evaluation .
In shaping the semantics of an existing logic, much of the effort goes into defining the semantics of . It is no exception here. As the discussion in the previous subsections may impart to us, what we need to say is that a given discussion graph structure evaluates true just when the skeleton annotated graph is instantiable by in such a way that the instantiated annotated graph is smaller than the object-level annotated graph. The following definition reflects this.
Definition 7 (Discussion graph semantics)
For any discussion graph structure with , and any formulas, we define the forcing relation as follows.
-
•
iff and are the same member of .
-
•
iff instantiates below .
-
•
.
-
•
.
-
•
iff .
-
•
iff, for each , .
-
•
iff, for one of , .
-
•
iff or .
-
•
iff, for every , where is almost exactly except that the variable assignment in may differ from ’s variable assignment for the variable .
-
•
iff there is some such that where is almost exactly except that the variable assignment in may differ from ’s variable assignment for the variable .
We say models iff .
With the discussion graph semantics of FOL, we can reason about discussion and argumentation graphs. By pattern detection, we mean reasoning about whehter there is a certain graph structure contained in a discussion graph structure. We look at one example below when the graph structure is that of Toulmin’s model.
Example 2 (Pattern detection)
As we saw in Fig. 1, Toulmin’s model requires the presence of a specific annotation on object-level statements while the statements themselves are some texts. Consider the following skeleton annotated graph:
![[Uncaptioned image]](https://cdn.awesomepapers.org/papers/ff0b6297-6dfd-41b5-8d66-398e4dd81ca9/figure8.png)
Consider also the following skeleton annotated graph: .
Let and predicate symbols and be such that
denotes the first skeleton annotated graph
and that denotes the second skeleton annotated graph.
Then, there is a Toulmin’s model in
iff models
.
With in this expression, we are making sure that there is no inverse edge from the node annotated with to the node annotated with ; and similarly for the remaining.
Proposition 2
Proof
The pattern includes no cycles. Obvious.
We can also reason about whether there is any set of object-level statements satisfying a certain property. We look at one example, drawing the idea from Dung’s argumentation theory. In Dung’s argumentation model, a set of nodes is called a complete extension [5] just when the following 3 conditions hold. (By a node attacking a node, we mean that there is an edge from the first node to the second node with the annotation .) (1) No nodes in attack a node in . (2) For any node that is not in , if attacks any member of , then there is some member of that attacks . (3) For any node that is not in , does not satisfy (1) and/or (2).333The acceptability semantics of Dung’s argumentation model with respect to these 3 conditions, which is succinctly called the complete semantics of the argumentation model, is then the set of all complete extensions in the argumentation model.
Example 3 (Illustration of the complete extension with an object-level annotated graph)
Let us suppose one object-level annotated graph shown in Fig. 6 that follows Dung’s argumentation model.

For this object-level annotated graph, the following sets of nodes are complete extensions. (1) . (2) . (3) .
We contemplate a generalised version of this completeness property to reason about whehter there is any subset of with that satisfies the completeness property.
Example 4 (Detecting a -complete extension)
Let be the short-hand of , i.e. is equal to some member of . To describe the presence of the generalised completeness extension for , consider the following formula.
.
Let and be such that is the following skeleton annotated graph . Then, there is a 3-complete extension in iff models the above formula, since the first line states the existence of 3 distinct object-level statements, the second line states the condition (1), the third line states the condition (2), and the lines 4 to 6 state the condition (3), as required.
Look at Example 3. If we assume that is the object-level annotated graph in Example 3, then models the above formula, just as we expect.
Now, while we selected for illustration, any arbitrary finite only stretches longer in the above expression.
4 Conclusions with Related Work
We formulated the discussion graph semantics of FOL and showed how it can be used to reason about object-level annotated graphs. The formulation is top-down, covering any object-level annotated graph. Moreover, it is predicate logic, meaning it is now possible to reason about object-level annotated graphs with variables and quantifications, in much the same way as we reason about object-level sentences. In the literature of argumentation, there are a couple of proposals [12, 4, 15] for using a formal logic for argumentation. However, they are constructed bottom-up, specific to Dung’s model [12, 4], lack variables and quantifiers [4], introduce new logical connectives for and others [12], and include meta-properties of an object-level graph as propositional variables of the logic [4, 15]. As such, they are not readily extensible to reasoning about other discussion models. The embedding of meta-properties makes it harder to understand the syntactic-semantic correspondence, and a lack of quantifications results in a very long formal description. We have addressed these issues. There are a plenty of solvers and other implemented tools available for FOL. By staying within the realm of FOL, the benefit that we can receive from the vast literature of available formal techniques is immense.
To mention future work, this work should be a good foundation for an interesting interdisciplinary research of formal discussion/argumentation and program analysis/verification. We now have the FOL-based specification language for reasoning about general discussion graphs. Study into integrability of formal methods that exist in program analysis/verification into reasoning about discussion should naturally follow.
Acknolwedgement
This work was supported by JSPS KAKENHI Grant Number 21K12028.
References
- [1] R. Arisaka, J. Dauphin, K. Satoh, and L. van der Torre. Multi-agent Argumentation and Dialogue. IfCoLog Journal of Logics and their Applications, 9(4):921–954, 2022.
- [2] T. J. M. Bench-Capon. Persuasion in Practial Argument Using Value-based Argumentation Frameworks. Journal of Logic and Computation, 13(3):429–448, 2003.
- [3] P. Besnard and A. Hunter. A logic-based theory of deductive arguments. Artificial Intelligence, 128(1-2):203–235, 2001.
- [4] S. Doutre, A. Herzig, and L. Perrussel. A Dynamic Logic Framework for Abstract Argumentation. In KR, 2014.
- [5] P. M. Dung. On the Acceptability of Arguments and Its Fundamental Role in Nonmonotonic Reasoning, Logic Programming, and n-Person Games. Artificial Intelligence, 77(2):321–357, 1995.
- [6] P. M. Dung. Assumption-based argumentation. In Argumentation in Artificial Intelligence, pages 25–44. Springer, 2009.
- [7] I. Habernal and I. Gurevych. Argumentation Mining in User-Generated Web Discourse. Computational Linguistics, 43(1):125–179, 2017.
- [8] C.-C. Hsu, C.-H. Chiu, C.-H. Lin, and T.-I. Wang. Enhancing skill in constructing scientific explanations using a structured argumentation scaffold in scientific inquiry. Computers & Education, 91:46–59, 2015.
- [9] A. Hunter. Towards a framework for computational persuasion with applications in behaviour change. Argument & Computation, 9(1):15–40, 2018.
- [10] W. Kunz, H. W. J. Rittel, W. Messrs, H. Dehlinger, T. Mann, and J. J. Protzen. Issues as elements of information systems. Technical report, University of California, 1970.
- [11] J. Lawrence and C. Reed. Argument Mining: A Survey. Computational Linguistics, 45(4), 2020.
- [12] Serena Villata and Guido Boella and Dov M. Gabbay and Leendert van der Torre and Joris Hulstijn. A logic of argumentation for specification and verification of abstract argumentation frameworks. Annals of Mathematics and Artificial Intelligence, 66:199–230, 2012.
- [13] S. E. Toulmin. The Uses of Argument. Cambridge University Press, 1958.
- [14] D. Walton, C. Reed, and F. Macagno. Argumentation Schemes. Cambridge University Press, 2008.
- [15] M. Wooldridge, P. McBurney, and S. Parsons. On the Meta-Logic of Arguments. In AAMAS, pages 560–567, 2005.