Debates#
Debates are sets of arguments#
A debate in the theory of dialectical structures is a set of arguments on which two relations are defined: support and defeat. Formally, a debate is a tuple \(\tau = \left< T, A, U\right>\), where \(T\) is the set of arguments, \(A\) the pairs of arguments that fulfil the support relation, and \(U\) the pairs of arguments that fulfil the support relation.
Relations between arguments in a debate#
The defeat and support relation in TDS are defined as follows: An argument \(a\in T\) defeats another argument \(b\in T\) if the conclusion of \(a\) is equivalent to the negation of a premise in \(b\). An argument \(a\in T\) supports another \(b\in T\) if the conclusion of \(a\) is equivalent to one of the premises in \(b\).
taupy
does not require manual input of relations. They are determined
automatically from the provided arguments. In the map below, supports between
arguments are visualised with solid edges, and defeats through dashed edges.
Debate objects#
In taupy
, debates are instances of the taupy.Debate
class.
The general logical structure of a debate is that of a conjunction:
taupy.Debate
is a sub-class of sympy.And
.
A Debate
is composed of arguments. These do not necessarily exhibit
any relation. When a debate is initialised, its arguments are given as a
comma-separated list. Any number of arguments can be passed to a
Debate
object.
from taupy import Argument, Debate
from sympy import symbols
a, b, c, d, e = symbols("a b c d e")
tau1 = Debate(Argument(a&b, ~c), Argument(~d&e, ~a))
tau1
is a debate with two arguments. The second Argument(~d&e,
~a)
defeats the first Argument(a&b, ~c)
.