This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Discussion Graph Semantics of First-Order Logic with Equality for Reasoning about Discussion and Argumentation

Ryuta Arisaka [email protected]
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 {,,,,¬,,,}\{\top,\bot,\forall,\exists,\neg,\wedge,\vee,\supset\}. \top and \bot have the arity of 0; \forall, \exists and ¬\neg have the arity of 1; and \wedge, \vee and \supset have the arity of 2. A variable is any member of an uncountable set 𝑽𝒂𝒓𝒔\boldsymbol{Vars}. 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 𝑭𝒖𝒏𝒄𝒔\boldsymbol{Funcs} 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 𝑭𝒖𝒏𝒄𝒔\boldsymbol{Funcs}. A constant is a function symbol with the arity of 0. A predicate symbol is any member of an uncountable 𝑷𝒓𝒆𝒅𝒔\boldsymbol{Preds} 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 𝑷𝒓𝒆𝒅𝒔\boldsymbol{Preds}. 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 xx, any predicate symbol by pp and any function symbol by ff. By tt, we shall denote a term and by t\overrightarrow{t} we shall denote a tuple of n0n\geq 0 terms (t1,,tn)(t_{1},\ldots,t_{n}). The exact definition of a term is as follows. (1) Any variable is a term. (2) Any f(t)f(\overrightarrow{t}) for some function symbol ff of arity n0n\geq 0 and some tuple of nn terms t\overrightarrow{t} is a term. (3) Any term is recognised by (1) and (2) alone.

A formula FF is any of the following. (1) p(t)p(\overrightarrow{t}) for some predicate symbol pp of arity n0n\geq 0 and some tuple of nn terms t\overrightarrow{t}. (2) \top or \bot. (3) ¬F1\neg F_{1} for some formula F1F_{1}. (4) x.F1\forall x.F_{1} or x.F1\exists x.F_{1} for some variable xx and some formula F1F_{1}. (5) F1F2F_{1}\wedge F_{2}, F1F2F_{1}\vee F_{2} or F1F2F_{1}\supset F_{2} for some formulas F1F_{1} and F2F_{2}. (6) (F1)(F_{1}) or [F1][F_{1}] for some formula F1F_{1}. (7) t1=t2t_{1}=t_{2} for some terms t1t_{1} and t2t_{2}. A formula FF is well-formed iff there is no variable occurring free in FF. As for the binding order of the logical connectives, ¬\neg binds strongest, \wedge and \vee bind the second strongest, \forall and \exists the third strongest, while \supset 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.

Refer to caption
Figure 1: Top: An example of a Toulmin’s model as an ‘annotated graph’ comprising a graph and annotations on nodes and edges. Bottom left: The graph part of the annotated graph. Bottom right: Assignment of annotations, partially shown for two nodes txt1txt_{1} and txt2txt_{2} and one edge (txt1,txt2)(txt_{1},txt_{2}). backingbacking is assigned to txt1txt_{1}, warrantwarrant is assigned to txt2txt_{2}, and no annotation is assigned to (txt1,txt2)(txt_{1},txt_{2}).

To explain this annotated graph a little more in detail, txtitxt_{i} 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 txt2txt_{2} 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 txt5:{}txt_{5}:\{\} in the middle of the arrow from txt4:{qualifier}txt_{4}:\{qualifier\} to txt6:{claim}txt_{6}:\{claim\}.

Refer to caption
Figure 2: Top: An example of Dung’s model as an annotated graph. Bottom: An example of issue-based information systems as an annotated graph.

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 attacksattacks annotation. In issue-based information systems, text/statement is given an annotation from {issue,position,argument}\{issue,position,argument\}. Any positionposition-annotated text/statement can have an edge only to issueissue-annotated texts/statements. Any argumentargument-annotated text/statement on the other hand can have an edge only to positionposition-annotated texts/statements. An issueissue-annotated text/statement can have an edge to any issueissue/positionposition/argumentargument-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 questionsquestions annotation on one of the edges and with various annotations on texts/statements.

Refer to caption
Figure 3: Another example of a domain of discourse as an annotated graph.

Consequently, it is necessary to recognise every annotated graph. The following definition formally characterises our domain of discoure. Here and elsewhere, 𝔭()\mathfrak{p}(\ldots) 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 (ObjStmts,ObjE)(ObjStmts,ObjE) where ObjStmtsObjStmts is a set of object-level statements and ObjEObjE is a binary relation over them; and a function ObjΠ:(ObjStmtsObjE)𝔭(Annos)Obj\Pi:(ObjStmts\cup ObjE)\rightarrow\mathfrak{p}(Annos) where AnnosAnnos is a set of annotations. \spadesuit

To be able to tell whether one object-level annotated graph is smaller than another, we define the following order relation \unlhd.

Definition 2 (Order on object-level annotated graphs)

\unlhd is a binary relation over object-level annotated graphs defined as follows. ((ObjStmts1,ObjE1),ObjΠ1)((ObjStmts2,ObjE2),ObjΠ2)((ObjStmts_{1},ObjE_{1}),\linebreak Obj\Pi_{1})\unlhd((ObjStmts_{2},ObjE_{2}),Obj\Pi_{2}) iff the following conditions hold.

  • (ObjStmts1,ObjE1)(ObjStmts_{1},ObjE_{1}) is a subgraph of (ObjStmts2,ObjE2)(ObjStmts_{2},ObjE_{2}), i.e. ObjStmts1ObjStmts2ObjStmts_{1}\subseteq ObjStmts_{2} and ObjE1ObjE2ObjE_{1}\subseteq ObjE_{2}.111Or ObjE1(ObjE2(ObjStmts1×ObjStmts1))ObjE_{1}\subseteq(ObjE_{2}\cap(ObjStmts_{1}\times ObjStmts_{1})). But this is redundant since (ObjStmts1,ObjE1)(ObjStmts_{1},ObjE_{1}) must be a graph.

  • For every member uu of ObjStmt1ObjE1ObjStmt_{1}\cup ObjE_{1}, ObjΠ1(u)ObjΠ2(u)Obj\Pi_{1}(u)\subseteq Obj\Pi_{2}(u). \spadesuit

Proposition 1

\unlhd is a preorder.

Proof

For any η1\eta_{1}, η2\eta_{2} and η3\eta_{3} each denoting an object-level annotated graph, η1η1\eta_{1}\unlhd\eta_{1} trivially; and η1η2\eta_{1}\unlhd\eta_{2} and η2η3\eta_{2}\unlhd\eta_{3} materially imply η1η3\eta_{1}\unlhd\eta_{3} 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 p1p_{1} and respectively p2p_{2}.

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 p1p_{1} and p2p_{2} is 0, the new sentence is p1p2p_{1}\supset p_{2}. While p1p_{1} and p2p_{2} 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 p1p_{1} is 1 and that p1(Tom)p_{1}(Tom) denotes the corresponding sentence. Then, p1p_{1} effectively denotes the following skeleton sentence “1\star 1 is a nice person.” which has a placeholder 1\star 1 to be replaced by TomTom. Similarly, suppose that the arity of p2p_{2} is 3 and that p2(Tom,me,flowers)p_{2}(Tom,me,flowers) denotes the corresponding sentence. Then, p2p_{2} effectively denotes the following skeleton sentence “1\star 1 gives 2\star 2 3\star 3.” The first placeholder 1\star 1 is replaced by the first element of the tuple (TomTom), the second placeholder 2\star 2 by the second element and the third placeholder 3\star 3 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 pp. Again taking an analogy from the foregoing discussion, when the arity of pp is 0, we should like it to denote the object-level annotated graph itself, and when the arity is a positive integer nn, we should like it to denote a skeleton annotated graph with nn 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 uiu_{i} (1i51\leq i\leq 5) is an object-level statement and αi\alpha_{i} (1i61\leq i\leq 6) is an annotation.

Refer to caption
Figure 4: Left: An example of object-level annotated graph. uiu_{i} (1i51\leq i\leq 5) is a member of ObjStmtsObjStmts and αj\alpha_{j} (1j61\leq j\leq 6) is a member of AnnosAnnos. Right: An example of skeleton annotated graph with 3 placeholders.

Let’s say that, when the arity is 0, pp denotes this object-level annotated graph. When pp’s arity is 3, pp could denote the skeleton annotated graph shown on the right. If we replace the first placeholder by u1u_{1}, the second placeholder by α1\alpha_{1} and the third placeholders (3\star 3 occurs twice) by α2\alpha_{2}. That is, p(u1,α1,α2)p(u_{1},\alpha_{1},\alpha_{2}) 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 pp is instantiable by the tuple of members of object-level statements and/or annotations (u1,α1,α2)(u_{1},\alpha_{1},\alpha_{2}).

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 \star.2221\star 1, 2\star 2, 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 (SkelStmts,SkelE)(SkelStmts,SkelE) where SkelStmtsSkelStmts is a set of object-level statements and/or special natural numbers and SkelESkelE is a binary relation over them; and a function SkelΠ:(SkelStmtsSkelE)𝔭(SkelAnnos)Skel\Pi:(SkelStmts\cup SkelE)\rightarrow\mathfrak{p}(SkelAnnos) where SkelAnnosSkelAnnos is a set of annotations and/or special natural numbers.

A degree-nn skeleton annotated graph is a skeleton annotated graph in which 1,,n\star 1,\ldots,\star n all occur but not any j\star j for n<jn<j. No special natural numbers occur in a degree-0 skeleton annotated graph. \spadesuit

The formal definition of instantiability of a degree-nn skeleton annotated graph is as follows.

Definition 4 (Instantiability)

Given a degree-nn skeleton annotated graph((SkelStmts,SkelE),SkelΠ)((SkelStmts,SkelE),Skel\Pi) and a member (u1,,un)(u_{1},\ldots,u_{n}) of (ObjStmtsAnnos)×n(ObjStmts\cup Annos)^{\times n}, let (SkelG,SkelΠ)[u11,,unn](SkelG,Skel\Pi)[u_{1}\mapsto\star 1,\ldots,u_{n}\mapsto\star n] denote an object-level annotated graph as the result of simultaneously substituting uiu_{i} into i\star i (1in1\leq i\leq n) occurring in SkelStmtsSkelAnnosSkelStmts\cup SkelAnnos.

Then, given an object-level annotated graph (ObjG,ObjΠ)(ObjG,Obj\Pi), a degree-nn skeleton annotated graph (SkelG,SkelΠ)(SkelG,Skel\Pi), and a member (u1,,un)(u_{1},\ldots,u_{n}) of (ObjStmtsAnnos)×n(ObjStmts\cup Annos)^{\times n}, we say (u1,,un)(u_{1},\ldots,u_{n}) instantiates (SkelG,SkelΠ)(SkelG,Skel\Pi) below (ObjG,ObjΠ)(ObjG,Obj\Pi) iff (SkelG,SkelΠ)[u11,,unn](ObjG,ObjΠ)(SkelG,Skel\Pi)[u_{1}\mapsto\star 1,\ldots,u_{n}\mapsto\star n]\unlhd(ObjG,Obj\Pi). \spadesuit

Example 1 (Instantiability)

Let u1u_{1} and u3u_{3} be a member of AnnosAnnos and let u2u_{2} be a member of ObjStmtsObjStmts, 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.

Refer to caption
Figure 5: Left: a degree-2 skeleton annotated graph. Right: an object-level annotated graph.

It holds that both (u4,u5)(u_{4},u_{5}) and (u8,u7)(u_{8},u_{7}) instantiate the degree-2 skeleton annotated graph below the object-level annotated graph. \clubsuit

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 (V,E)(V,E); and a typing function Π\Pi, where each node is a term and Π\Pi assigns a set of terms to each member of VEV\cup E. A skeleton typed discussion graph is a pair of: a graph (SkelV,SkelE)(SkelV,SkelE); and a typing function Π\Pi, where each node is a term or a special natural number and Π\Pi assigns a set of terms and/or special natural numbers to each member of VEV\cup E.

A degree-nn skeleton typed discussion graph is a skeleton typed discussion graph in which 1,,n\star 1,\ldots,\star n all occur but not any j\star j for n<jn<j. No special natural numbers occur in a degree-0 skeleton typed discussion graph. \spadesuit

These symbolic representations allow for graphical description of a predicate symbol. In Example 4, we saw a degree-2 skeleton annotated graph:

[Uncaptioned image]

Instead of some letter(s) pp, we can agree to use the skeleton typed discussion graph:

[Uncaptioned image]

as a more descriptive version of pp. It is assumed that c1c_{1}, c2c_{2} and c3c_{3} are constants in this example and that they denote u1u_{1}, u2u_{2} and u3u_{3}, 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 ((ObjStmts,ObjE),ObjΠ)((ObjStmts,ObjE),Obj\Pi). An interpretation \mathcal{I} is a function defined as follows. (1) For every function symbol ff of arity n0n\geq 0, (f)\mathcal{I}(f) is a function (ObjStmtsAnnos)×n(ObjStmtsAnnos)(ObjStmts\cup Annos)^{\times n}\rightarrow(ObjStmts\cup Annos). In case n=0n=0, (f)\mathcal{I}(f) is a member of (ObjStmtsAnnos)(ObjStmts\cup Annos). (2) For every predicate symbol pp of arity n0n\geq 0, (p)\mathcal{I}(p) is a degree-nn skeleton annotated graph ((SkelStmts,SkelE),SkelΠ)((SkelStmts,SkelE),Skel\Pi) where SkelStmts𝗋𝖺𝗇𝗀𝖾(SkelΠ)SkelStmts\cup\mathsf{range}(Skel\Pi) is a subset of ObjStmtsAnnos{1,,n}ObjStmts\cup Annos\cup\{\star 1,\ldots,\star n\}. A variable assignment μ\mu is a function 𝑽𝒂𝒓𝒔(ObjStmtsAnnos)\boldsymbol{Vars}\rightarrow(ObjStmts\cup Annos).

An evaluation 𝖾𝗏𝖺𝗅\mathsf{eval} is a pair of some interpretation \mathcal{I} and some variable assignment μ\mu. The following is enforced.

  • For any variable x𝑽𝒂𝒓𝒔x\in\boldsymbol{Vars}, 𝖾𝗏𝖺𝗅(x)\mathsf{eval}(x) denotes μ(x)\mu(x).

  • For any function symbol f𝑭𝒖𝒏𝒄𝒔f\in\boldsymbol{Funcs}, 𝖾𝗏𝖺𝗅(f)\mathsf{eval}(f) denotes (f)\mathcal{I}(f).

  • For any function symbol ff of arity nn and an nn-tuple of terms (t1,,tn)(t_{1},\ldots,t_{n}), 𝖾𝗏𝖺𝗅(f(t1,,tn))\mathsf{eval}(f(t_{1},\ldots,t_{n})) denotes 𝖾𝗏𝖺𝗅(f)(𝖾𝗏𝖺𝗅(t1),,𝖾𝗏𝖺𝗅(tn))\mathsf{eval}(f)(\mathsf{eval}(t_{1}),\ldots,\mathsf{eval}(t_{n})).

  • For any predicate symbol p𝑷𝒓𝒆𝒅𝒔p\in\boldsymbol{Preds}, 𝖾𝗏𝖺𝗅(p)\mathsf{eval}(p) denotes (p)\mathcal{I}(p).

    • for a graphical predicate [((SkelV,SkelE),Π)((SkelV,SkelE),\Pi)], 𝖾𝗏𝖺𝗅([((SkelV,SkelE),Π)])\mathsf{eval}([((SkelV,SkelE),\Pi)]) is a skeleton annotated graph as the result of replacing every term tt occurring in ((SkelV,SkelE),Π)((SkelV,SkelE),\Pi) by 𝖾𝗏𝖺𝗅(t)\mathsf{eval}(t).

A discussion graph structure is a tuple ((ObjStmts,ObjE),ObjΠ,𝖾𝗏𝖺𝗅)((ObjStmts,ObjE),Obj\Pi,\mathsf{eval}) of the domain of discourse ((ObjStmts,ObjE),ObjΠ)((ObjStmts,ObjE),Obj\Pi) and an evaluation 𝖾𝗏𝖺𝗅\mathsf{eval}. \spadesuit

In shaping the semantics of an existing logic, much of the effort goes into defining the semantics of p(t)p(\overrightarrow{t}). 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 p(t)p(\overrightarrow{t}) true just when the skeleton annotated graph 𝖾𝗏𝖺𝗅(p)\mathsf{eval}(p) is instantiable by 𝖾𝗏𝖺𝗅(t)\mathsf{eval}(\overrightarrow{t}) 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 (,𝖾𝗏𝖺𝗅)(\mathcal{M},\mathsf{eval}) with ((ObjStmts,OjbE),OjbΠ)\mathcal{M}\equiv((ObjStmts,OjbE),Ojb\Pi), and any formulas, we define the forcing relation \models as follows.

  • ,𝖾𝗏𝖺𝗅t1=t2\mathcal{M},\mathsf{eval}\models t_{1}=t_{2} iff (t1)\mathcal{I}(t_{1}) and (t2)\mathcal{I}(t_{2}) are the same member of ObjStmtsAnnosObjStmts\cup Annos.

  • ,𝖾𝗏𝖺𝗅p(t)\mathcal{M},\mathsf{eval}\models p(\overrightarrow{t}) iff 𝖾𝗏𝖺𝗅(t)\mathsf{eval}(\overrightarrow{t}) instantiates 𝖾𝗏𝖺𝗅(p)\mathsf{eval}(p) below ((ObjStmts,ObjE),ObjΠ)((ObjStmts,ObjE),Obj\Pi).

  • ,𝖾𝗏𝖺𝗅\mathcal{M},\mathsf{eval}\models\top.

  • ,𝖾𝗏𝖺𝗅⊧̸\mathcal{M},\mathsf{eval}\not\models\bot.

  • ,𝖾𝗏𝖺𝗅¬F\mathcal{M},\mathsf{eval}\models\neg F iff ,𝖾𝗏𝖺𝗅⊧̸F\mathcal{M},\mathsf{eval}\not\models F.

  • ,𝖾𝗏𝖺𝗅F1F2\mathcal{M},\mathsf{eval}\models F_{1}\wedge F_{2} iff, for each i{1,2}i\in\{1,2\}, ,𝖾𝗏𝖺𝗅Fi\mathcal{M},\mathsf{eval}\models F_{i}.

  • ,𝖾𝗏𝖺𝗅F1F2\mathcal{M},\mathsf{eval}\models F_{1}\vee F_{2} iff, for one of i{1,2}i\in\{1,2\}, ,𝖾𝗏𝖺𝗅Fi\mathcal{M},\mathsf{eval}\models F_{i}.

  • ,𝖾𝗏𝖺𝗅F1F2\mathcal{M},\mathsf{eval}\models F_{1}\supset F_{2} iff ,𝖾𝗏𝖺𝗅⊧̸F1\mathcal{M},\mathsf{eval}\not\models F_{1} or ,𝖾𝗏𝖺𝗅F2\mathcal{M},\mathsf{eval}\models F_{2}.

  • ,𝖾𝗏𝖺𝗅v.F\mathcal{M},\mathsf{eval}\models\forall v.F iff, for every 𝖾𝗏𝖺𝗅\mathsf{eval}^{\prime}, ,𝖾𝗏𝖺𝗅F\mathcal{M},\mathsf{eval}^{\prime}\models F where 𝖾𝗏𝖺𝗅\mathsf{eval}^{\prime} is almost exactly 𝖾𝗏𝖺𝗅\mathsf{eval} except that the variable assignment in 𝖾𝗏𝖺𝗅\mathsf{eval}^{\prime} may differ from 𝖾𝗏𝖺𝗅\mathsf{eval}’s variable assignment for the variable vv.

  • ,𝖾𝗏𝖺𝗅v.F\mathcal{M},\mathsf{eval}\models\exists v.F iff there is some 𝖾𝗏𝖺𝗅\mathsf{eval}^{\prime} such that ,𝖾𝗏𝖺𝗅F\mathcal{M},\mathsf{eval}^{\prime}\models F where 𝖾𝗏𝖺𝗅\mathsf{eval}^{\prime} is almost exactly 𝖾𝗏𝖺𝗅\mathsf{eval} except that the variable assignment in 𝖾𝗏𝖺𝗅\mathsf{eval}^{\prime} may differ from 𝖾𝗏𝖺𝗅\mathsf{eval}’s variable assignment for the variable vv.

We say (,𝖾𝗏𝖺𝗅)(\mathcal{M},\mathsf{eval}) models FF iff ,𝖾𝗏𝖺𝗅F\mathcal{M},\mathsf{eval}\models F. \spadesuit

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]

Consider also the following skeleton annotated graph: 1:{}{}2:{}\star 1:\{\}\xleftarrow{\{\}}\star 2:\{\}.

Let 𝖾𝗏𝖺𝗅\mathsf{eval} and predicate symbols p1p_{1} and p2p_{2} be such that 𝖾𝗏𝖺𝗅(p1)\mathsf{eval}(p_{1}) denotes the first skeleton annotated graph and that 𝖾𝗏𝖺𝗅(p2)\mathsf{eval}(p_{2}) denotes the second skeleton annotated graph. Then, there is a Toulmin’s model in ((ObjStmts,ObjE),ObjΠ)((ObjStmts,ObjE),Obj\Pi) iff ((ObjStmts,ObjE),ObjΠ,𝖾𝗏𝖺𝗅)((ObjStmts,ObjE),Obj\Pi,\mathsf{eval}) models
x1..x7.(p1(x1,,x7)¬p2(x1,x2)¬p2(x2,x5)¬p2(x3,x4)¬p2(x4,x5)¬p2(x5,x6)¬p2(x6,x7))\exists x_{1}.\ldots.\exists x_{7}.(p_{1}(x_{1},\ldots,x_{7})\wedge\neg{p_{2}(x_{1},x_{2})}\wedge\neg{p_{2}(x_{2},x_{5})}\wedge\neg{p_{2}(x_{3},x_{4})}\wedge\neg{p_{2}(x_{4},x_{5})}\wedge\neg p_{2}(x_{5},x_{6})\wedge\neg p_{2}(x_{6},x_{7})).

With p2(x1,x2)p_{2}(x_{1},x_{2}) in this expression, we are making sure that there is no inverse edge from the node annotated with warrantwarrant to the node annotated with backingbacking; and similarly for the remaining. \clubsuit

Proposition 2

Given an object-level annotated graph ((ObjStmts,ObjE),ObjΠ)((ObjStmts,ObjE),Obj\Pi), the evaluation as defined in Example 2 and the FOL expression in Example 2, whether (((ObjStmts,ObjE),ObjΠ),𝖾𝗏𝖺𝗅)(((ObjStmts,ObjE),Obj\Pi),\mathsf{eval}) models the expression is polynomial-time decidable.

Proof

The pattern includes no cycles. Obvious. \Box

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 VV 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 attacksattacks.) (1) No nodes in VV attack a node in VV. (2) For any node vv that is not in VV, if vv attacks any member of VV, then there is some member of VV that attacks vv. (3) For any node vv that is not in VV, {v}V\{v\}\cup V 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.

Refer to caption
Figure 6: An example of object-level annotated graph.

For this object-level annotated graph, the following sets of nodes are complete extensions. (1) {u4}\{u_{4}\}. (2) {u1,u3,u4}\{u_{1},u_{3},u_{4}\}. (3) {u2,u4}\{u_{2},u_{4}\}. \clubsuit

We contemplate a generalised version of this completeness property to reason about whehter there is any subset ObjStmtsObjStmts^{\prime} of ObjStmtsObjStmts with |ObjStmts|=k|ObjStmts^{\prime}|=k that satisfies the completeness property.

Example 4 (Detecting a kk-complete extension)

Let 1ikt=ti\bigvee_{1\leq i\leq k}t^{\prime}=t_{i} be the short-hand of (t=t1t=t2t=tk)(t^{\prime}=t_{1}\vee t^{\prime}=t_{2}\vee\ldots\vee t^{\prime}=t_{k}), i.e. tt^{\prime} is equal to some member of {t1,,tn}\{t_{1},\ldots,t_{n}\}. To describe the presence of the generalised completeness extension for k=3k=3, consider the following formula.

x1.x2.x3.([1:{}2:{}3:{}](x1,x2,x3)y1.(y2.(1i3y1=xi1i3y2=xi¬p(y1,y2)¬p(y2,y1)))y1.(1i3y1=xi(y2.¬1i3y2=xiy3.1i3y3=xip(y3,y2)))y0.(¬1i3y0=xiy1.(1i3y1=xip(y0,y1)p(y1,y0))y1.(¬y2.(p(y1,y0)1i3y2=xip(y2,y1)))))\exists x_{1}.\exists x_{2}.\exists x_{3}.([\star 1:\{\}\ \star 2:\{\}\ \star 3:\{\}](x_{1},x_{2},x_{3})\\ \wedge\forall y_{1}.(\forall y_{2}.(\bigvee_{1\leq i\leq 3}y_{1}=x_{i}\wedge\bigvee_{1\leq i\leq 3}y_{2}=x_{i}\supset\neg p(y_{1},y_{2})\wedge\neg p(y_{2},y_{1})))\\ \wedge\forall y_{1}.(\bigvee_{1\leq i\leq 3}y_{1}=x_{i}\supset(\forall y_{2}.\neg\bigvee_{1\leq i\leq 3}y_{2}=x_{i}\supset\exists y_{3}.\bigvee_{1\leq i\leq 3}y_{3}=x_{i}\wedge p(y_{3},y_{2})))\\ \wedge\forall y_{0}.(\neg\bigvee_{1\leq i\leq 3}y_{0}=x_{i}\supset\\ \indent\indent\exists y_{1}.(\bigvee_{1\leq i\leq 3}y_{1}=x_{i}\wedge p(y_{0},y_{1})\vee p(y_{1},y_{0}))\\ \indent\indent\vee\exists y_{1}.(\neg\exists y_{2}.(p(y_{1},y_{0})\wedge\bigvee_{1\leq i\leq 3}y_{2}=x_{i}\wedge p(y_{2},y_{1}))))).

Let pp and 𝖾𝗏𝖺𝗅\mathsf{eval} be such that 𝖾𝗏𝖺𝗅(p)\mathsf{eval}(p) is the following skeleton annotated graph [1:{}{attacks}2:{}][\star 1:\{\}\xrightarrow{\{attacks\}}\star 2:\{\}] . Then, there is a 3-complete extension in ((ObjStmts,ObjE),ObjΠ)((ObjStmts,ObjE),Obj\Pi) iff ((ObjStmts,ObjE),ObjΠ,𝖾𝗏𝖺𝗅)((ObjStmts,ObjE),Obj\Pi,\mathsf{eval}) 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 ((ObjStmts,ObjE),ObjΠ)((ObjStmts,ObjE),Obj\Pi) is the object-level annotated graph in Example 3, then ((ObjStmts,ObjE),ObjΠ,𝖾𝗏𝖺𝗅)((ObjStmts,ObjE),Obj\Pi,\mathsf{eval}) models the above formula, just as we expect.

Now, while we selected k=3k=3 for illustration, any arbitrary finite kk only stretches x1,,xkx_{1},\ldots,x_{k} longer in the above expression. \clubsuit

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 attackattack 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.