Wie funktioniert Argdown?

Argdown ist eine einfache Syntax für die Rekonstruktion, Darstellung und Analyse von Argumentationen. Argdown ist inspiriert durch Markdown. Argdown unterstützt Sie dabei, Argumente, Argumentationen und ganze Debatten zu rekonstruieren:

  • Sie können anfangen, indem Sie eine Pro- und Contra-Liste in Argdown erstellen.
  • Sie können auch komplexere dialektische Beziehungen zwischen Argumenten logisch rekonstruieren oder tiefer in die logischen Strukturen Ihrer Argumente (zum Zweck einer Detailrekonstruktion) eintauchen.
  • Außerdem können Sie Argdown als Graphik exportieren und Argumentkarten ganzer Debatten erstellen.

Ein Tutorial für Argdown

In diesem Tutorial werden Sie mit den grundlegenden Funktionen und der Syntax von Argdown vertraut gemacht. Im Abschnitt Grundlagen finden Sie einen umfassenden Überblick. Es gibt auch ein Syntaxreferenzhandbuch für Argdown, wenn Sie etwas nachschlagen möchten.

Grundlagen

Die grundlegenden Komponenten von Argdown sind Aussagen, Argumente und Beziehungen. In diesem Tutorial wird erläutert, wie Sie sie definieren. Wir wollen als Beispiel einen Teil der Debatte über den Konsum tierischer Produkte rekonstruieren, d. h. der Debatte über die Frage, ob man sich vegetarisch oder vegan ernähren sollte.

Aussagen definieren

Beginnen wir mit der Definition einer Aussage in Argdown und verwenden dabei eine der zentralen Aussagen der Debatte über den Konsum tierischer Produkte:

  • Es ist moralisch falsch, Fleisch zu essen.

Einzelne Aussagen definieren wir in Argdown wie folgt:

[Vegetarismus]: Es ist moralisch falsch, Fleisch zu essen.

Die Zeichenfolge Vegetarismus innerhalb der eckigen Klammern ist der Titel, Name oder das Label der Aussage. Ein Aussagenlabel zur Verfügung zu haben, ist nützlich, um bei der Definition von Beziehungen zwischen Aussagen und Argumenten auf Aussagen Bezug zu nehmen. Der Doppelpunkt gibt eine Definition an und nach dem Doppelpunkt folgt die Aussage selbst.

Argumente definieren

Definieren wir nun ein Argument. Argumente sind eine Menge von Aussagen, in denen einige dieser Aussagen einen (bestenfalls starken oder sogar zwingenden) Grund geben, eine weitere Aussage zu akzeptieren (bzw. für wahr zu halten). Die Aussagen, die begründen, heißen Prämissen. Die Aussage, die begründet wird, ist die Schlussfolgerung und wir nennen sie Konklusion.

Argumente werden mit spitzen Klammern definiert. Betrachten wir dieses Argument:

<Leben>: Es ist moralisch falsch, Tiere zu töten, weil sie ein Recht auf Leben haben.

Analog zur Syntax für Aussagen ist <Leben> der Titel, der Name oder das Label für das Argument, dass es moralisch falsch ist, Tiere zu töten, um sie zu essen. Der Doppelpunkt gibt eine Definition an und folgt eine Beschreibung des Arguments.

Die logische Struktur von Argumenten explizieren

Wenn Sie Argumente genauer analysieren möchten, müssen Sie ihre logische Struktur explizit machen. Argumente bestehen aus Prämissen, aus denen Konklusionen abgeleitet werden. Wir können diese Prämissen-Konklusion-Struktur mit Argdown genau definieren.

Betrachten wir das bereits erwähnte Argument <Leben>. Seine logische Struktur kann explizit gemacht werden, indem seine Prämissen und Konklusion in dieser Form geschrieben werden:

<Leben>

(1) Tiere haben ein Recht zu leben.
(2) Es ist moralisch falsch, Lebewesen zu töten, die ein Recht auf Leben haben.
(3) Nur wenn Tiere getötet werden, können wir Fleisch essen.
----
(4) Es ist moralisch falsch, Fleisch zu essen.

Sie können ein Argument in der Standardform aufschreiben, indem Sie sein Label (z.B. <Leben>) gefolgt von einem Absatz und dann den Prämissen und der Konklusion schreiben. Die Aussagen werden in runden Klammern nummeriert. Prämissen und Konklusion werden durch vier Bindestriche getrennt, die die Schlussfolgerung markieren. In diesem Beispiel ist die Konklusion die Aussage [Vegetarismus].

Aussagen in Argumenten definieren und sich auf sie beziehen

Es gibt drei Prämissen und eine Konklusion im Argument <Leben>. Auch wenn du nicht für alle Aussagen in einem Argument ein Label verwendest, wird Argdown jeder Aussage ein (einigartiges) Label verleihen. Das heißt, mit Argdown können Sie Aussagen innerhalb eines Arguments definieren, müssen dies jedoch nicht tun. Das Argument <Leben> kann auch auf diese Weise formuliert werden:

<Leben>

(1) [Tierrechte]: Tiere haben ein Recht zu leben.
(2) Es ist moralisch falsch, Lebewesen zu töten, die ein Recht auf Leben haben.
(3) [Tötungsbedingung]
----
(4) [Vegetarismus]

Die erste Prämisse ist eine neu definierte Aussage mit dem Label [Animal-Rights] und die zweite Prämisse ist eine Aussage ohne ein (explizites) Label. Im Gegensatz dazu sind die dritte Prämisse und die Konklusion Aussagen, auf die wir uns nur mit den Labeln [Tötungs-Anforderung] und [Vegetarismus] beziehen. Im Idealfall sind sie an anderer Stelle definiert.

So können Sie innerhalb eines Arguments Aussagenlabel (z.B. [Vegetarismus]), neu definierte Aussagen (z.B. [Tierrechte]: Tiere haben ein Recht zu leben.) oder nur den Aussagetext (z.B. Es ist moralisch falsch, Lebewesen zu töten, die ein Recht auf Leben haben.) verwenden.

Schlussregeln explizieren

Optional können Sie die Schlussregeln angeben, die in einem Argument verwendet werden, indem Sie eine zusätzliche Zeile hinzufügen:

<Leben>

(1) Tiere haben ein Recht zu leben.
(2) Es ist moralisch falsch, Lebewesen zu töten, die ein Recht auf Leben haben.
(3) Nur wenn Tiere getötet werden, können wir Fleisch essen.
-- Modus tollens --
(4) [Vegetarismus]

In diesem Argument wenden wir zweimal den Modus tollens an; dies machen wir explizit, indem wir zwei Bindestriche, diese Schlussregel (und gegebenenfalls mit den Prämissennummern, auf die sie sich bezieht) und dann wieder zwei Bindestriche schreiben (z.B. -- Modus tollens (angewendet auf 1,2) --).

Dialektische Beziehungen spezifizieren

Da wir nun mit dem Definieren und Schreiben von Aussagen und Argumenten in Argdown vertraut sind, wollen wir uns jetzt argumentativen Strukturen zuwenden. Wie rekonstruieren wir Argumentationen und ganze Debatten mit Argdown?

Eine Argumentation besteht aus mehreren Argumenten. Die einfachste Form, wie sich Argumente auf eine zentrale These (eine Aussage) beziehen, ist eine Pro und Contra-Liste.

Pro- und Contra-Listen schreiben

In Argdown können Sie gezielt Argumente für und gegen eine bestimmte Aussage sammeln. Oft möchten Sie vielleicht die Gründe für eine zentrale Behauptung auflisten. Das geht ganz einfach:

[Vegetarismus]
  + <Leben>
  - <Kultur>

Das Pluszeichen zeigt an, dass das Argument <Leben> ein Argument für die Aussage [Vegetarismus] ist. Das Minuszeichen zeigt an, dass das Argument <Kultur> ein Argument dagegen ist.

Stützungs- und Angriffsbeziehungen definieren

Wir werden sagen, dass ein Argument für eine Aussage diese gestützt, während ein Argument gegen eine Aussage diese angreift. Genauer gesagt, ein Argument gestützt eine Aussage, wenn die Konklusion des Arguments mit der Aussage identisch ist, während ein Argument eine Aussage angreift, wenn die Konklusion des Arguments der Aussage widerspricht.

Eine Pro- und Contra-Liste ist somit einfach eine Liste von Stützungs- und Angriffsbeziehungen. Es kann unbegrenzt viele Elemente enthalten:

[Vegetarismus]
   + <Leben>: Es ist moralisch falsch, Tiere zu töten, weil sie das Recht haben zu leben.
   + <Leid>: Es ist besser, kein Fleisch zu essen, weil man nicht sicher sein kann, unter welchen Bedingungen Tiere leben und wie viel Leid sie ertragen müssen.
   + <Klima>
   - <Kultur>: Es ist erlaubt, Fleisch zu essen, weil sonst eine jahrhundertealte kulturelle Tradition der Kochkunst enden würde.
   - <Genuss>
   - <Sorte>

Wie bereits bei Aussagen in Argumenten können Sie die Beschreibung eines Arguments wie bei <Leid> ausschreiben, aber es ist auch möglich, das Argumentlabel ohne Beschreibung wie bei <Klima> zu schreiben und sich damit nur auf das (an anderer Stelle definierte) Argument zu beziehen.

Es ist außerdem möglich, Pro- und Contra-Argumente für Argumente selbst zu machen:

<Leben>
  - <Empfindung>: Als empfindungsfähige Lebewesen können Tiere Leid empfinden und haben somit ein Recht zu leben.
  - <Bewusstsein>: Da Tieren das volle Bewusstsein fehlt, haben sie kein universelles Recht zu leben.

Ein Argument stützt ein anderes Argument, wenn die Konklusion des ersten Arguments mit einer Prämisse des zweiten Arguments identisch ist, während ein Argument ein anderes Argument angreift, wenn die Konklusion des ersten Arguments einer Prämisse des zweiten Arguments widerspricht.

Komplexere dialektische Beziehungen definieren

In der Regel sind Argumentationen komplexer, als dass sie mit einer Liste von Pro- und Contra-Argumenten angemessen rekonstruiert werden könnten. Meist bestehen vielfältige logische Beziehungen zwischen den Aussagen und zwischen ganzen Argumenten einer Debatte.

Häufig ist eine Prämisse in einem Argument die Konklusion eines anderen Arguments. Bislang haben wir nur dieses eine Argument rekonstruiert:

<Leben>

(1) Tiere haben ein Recht zu leben.
(2) Es ist moralisch falsch, Lebewesen zu töten, die ein Recht auf Leben haben.
(3) Fleisch essen erfordert Tiere getötet werden.
----
(4) [Vegetarismus]

Schauen wir uns jetzt ein Argument an, welches das Argument <Leben> stützt:

<Empfindung>

(1) Tiere sind fühlende Wesen, die leiden können.
(2) Jedes fühlende Wesen, das leiden kann, hat das Recht zu leben.
----
(3) [Tierrechte]

Die Konlusion des Arguments <Empfindung> ist identisch mit der ersten Prämisse [Tierrechte] des Arguments <Leben>. Eine andere Möglichkeit, die Stützungsbeziehung anzugeben, besteht darin, das Argument folgendermaßen zu schreiben:

<Gefühl>

(1) Tiere sind fühlende Wesen, die leiden können.
(2) Jedes fühlende Wesen, das leiden kann, hat das Recht zu leben.
----
(3) Tiere haben ein Recht zu leben.
  + [Tierrechte]

Alternativ können Sie die Unterstützungsbeziehung auch in dem Argument <Leben> selbst angeben:

<Leben>

(1) [Tierrechte]
  + <Empfindung>
(2) Es ist moralisch falsch, Lebewesen zu töten, die ein Recht auf Leben haben.
(3) Fleisch essen erfordert Tiere getötet werden.
----
(4) [Vegetarismus]

Auch hier ist das Argument <Empfindung> so definiert, dass es die Aussage [Tierrechte]in dem Argument <Leben> stützt.

Äquivalenzen definieren

Manchmal wollen wir logisch äquivalente Aussagen darstellen. Dies ist nützlich, wenn Sie

(i) leicht unterschiedliche Formulierungen ein und derselben Aussage berücksichtigen wollen, oder
(ii) um anzuzeigen, dass zwei Aussagen dieselbe Bedeutung bzw. diesselben logischen Beziehungen mit anderen Aussagen haben.

Um logisch äquivalente Aussagen zu definieren, müssen Sie ein und dasselbe Aussagenlabel verschiedene Aussagen zuweisen. Schauen wir uns die folgende Definition einer Aussage an:

[Omnivorismus]: Es ist moralisch erlaubt, Tierprodukte zu essen.

Diese Aussage ist logisch äquivalent zu der Aussage:

  • Es ist nicht moralisch falsch, Tierprodukte zu essen.

Wenn Sie die [Omnivorismus]-Aussage erneut mit ihrer logisch äquivalenten Form definieren, wird Argdown sie als logisch gleichwertig behandeln:

[Omnivorismus]: Es ist nicht moralisch falsch, Fleisch und Tierprodukte zu essen.

Beachten Sie jedoch, dass Argdown nicht prüft, ob diese Aussagen tatsächlich dieselbe Bedeutung haben!

Widersprüche definieren

Sie können auch Aussagen definieren, die sich widersprechen. Zum Beispiel können wir eine Angriffsbeziehung zu der Aussage [Vegetarismus] hinzufügen.

[Vegetarismus]
  - [Omnivorismus]

Dies bedeutet, dass die Aussage [Vegetarismus] die Aussage [Omnivorismus] angreift, d.h. [Omnivorismus] kann nicht wahr sein, wenn [Vegetarismus] wahr ist. Nun können wir die andere Richtung ergänzen:

[Omnivorismus]
  - [Vegetarismus]

Dann widersprechen sich [Vegetarismus] und [Omnivorismus], d.h. sie können nicht gleichzeitig wahr sein. Wir können auch >< verwenden, um anzugeben, dass zwei Aussagen widersprüchlich sind:

[Vegetarismus]
  >< [Nicht-Vegetarismus]

Dialektische Beziehungen explizieren

Wir können die Richtung einer Angriffs- oder Stützungsbeziehung jederzeit durch Hinzufügen eines Pfeils explizit machen:

[Omnivorismus]
  <+ <Kultur>
  <- <Leid>
  +> [Tierprodukte]
  -> [Vegetarismus]

Beachten Sie, dass <+ <Leben> dieselbe Funktion wie + <Leben> hat und dass <- <Kultur> synonym zu - <Kultur> ist. In dem Beispiel wird die Aussage [Omnivorismus] durch das Argument <Kultur> gestützt und durch das Argument <Leid> angegriffen, während [Omnivorismus] selbst die Aussage [Vegetarismus] angreift und das Argument <Leid> stützt.

Noch komplexere Argumente rekonstruieren

Im Allgemeinen können Sie beliebig viele Beziehungen zwischen Aussagen und Argumenten hinzufügen:

[Vegetarismus]
  + <Leben>
    <- <Genuss>
    +> <Veganismus>: Es ist moralisch falsch, Tiere als Mittel zum Zweck zu benutzen, weil sie die gleichen Rechte wie Menschen haben.
      + [Veganismus]: Es ist moralisch falsch, Tierprodukte zu essen.

Argdown behandelt nun das Argument <Leben> als Stützung der Aussage [Vegetarismus] und das Arguments <Genuss> als Angriff auf das Argument <Leben>, während das Argument <Leben> durch das Argument <Veganismus> gestützt wird, welches wiederum durch die Aussage [Veganismus] gestützt wird.

Definition, Bezugnahme und Erwähnung von Aussagen und Argumenten

Bislang haben wir uns auf Aussagen und Argumente bezogen, indem wir ihre Label so verwendeten:

[Vegetarismus]
  + <Leben>

Auf die Aussage [Vegetarismus] und das Argument <Leben> beziehen wir uns in dieser Zeichenkette lediglich. Wir hätten sie genauso gut definieren können:

[Vegetarismus]: Es ist moralisch falsch, Fleisch zu essen.
  + <Leben>: Es ist moralisch falsch, Tiere zu töten, weil sie das Recht haben zu leben.

Denken Sie daran, dass Sie eine Aussage oder ein Argument definieren, indem Sie das Label vor dem Doppelpunkt verwenden und dann die Beschreibung folgen lassen. Ansonsten beziehen Sie sich darauf.

Beachten Sie, dass Sie Aussagen und Argumente mit @ vor dem Titel auch erwähnen können, zum Beispiel:

Die Aussage @[Vegetarismus] ist die Konklusion des Arguments @<Leben>.

Es gibt einen wichtigen Unterschied zwischen der Bezugnahme auf Aussagen oder Argumente und deren Erwähnung. Wenn Sie sich auf sie beziehen, benutzen und wiederholen Sie sie, wodurch Sie möglicherweise auch synonyme Aussagen oder Argumente definieren. Wenn Sie sie erwähnen, reden Sie nur über sie, ohne neue Informationen in das System zu geben und etwas zu verändern.

Argumentkarten erstellen

Zu jeder Zeit können Sie Argumentkarten direkt aus der Argdown-Datei generieren. Der einfachste Weg dazu besteht in der Verwendung der Browseranwendung Argdown.

Eine Argumentkarte der bisher rekonstruierten Debatte wird so aussehen:

Argumentkarte eines Teils der vegetarischen Debatte
Zum Vergrößern bitte auf die Graphik klicken

Die Karte wird simultan beim Eintippen in die Browser-Anwendung generiert und kann in verschiedenen Formaten dargestellt und ausgegeben werden wie zum Beispiel HTML, Dagre D3 Maps und Viz Js Maps basierend auf DOT. Karten können auch als PNG oder SVG exportiert werden. Bei Fehlfunktionen können Sie den Debug-Modus in der Browser-Anwendung verwenden.

Tools für Argdown

Syntaxreferenzhandbuch für Argdown

Aussagen und Argumente

Definieren von Aussagen

[Aussagenlabel]: Aussage

Argumente definieren

<Argumentlabel>: Argument-Beschreibung

Rekonstruktionen von Argumenten

<Argumentlabel>: Argument-Beschreibung

(1) Erste Prämisse
(2) Zweite Prämisse
----
(3) Konklusion

mit einer expliziten Schlussregel:

<Argumentlabel>: Argument-Beschreibung

(1) Erste Prämisse
(2) Zweite Prämisse
-- Schlussregel --
(3) Konklusion

oder:

<Argumentlabel>: Argument-Beschreibung

(1) Erste Prämisse
(2) Zweite Prämisse
--
Schlussregel
--
(3) Konklusion

Wenn Sie sich auf später verwendete Aussagen beziehen oder sie erwähnen möchten, geben Sie ihnen ein Label:

<Argumentlabel>: Argument-Beschreibung

(1) [Label der ersten Prämisse]: Erste Prämisse
(2) [Label der zweiten Prämisse]: Zweite Prämisse
-
Schlussregel
-
(3) [Label der Konklusion]: Konklusion

Falls bereits Prämissen oder Konklusionen definiert sind, können Sie sich einfach auf sie beziehen:

[Label von Aussage Eins]: Aussage Eins

[Label von Aussage Zwei]: Aussage Zwei

... möglicherweise ein anderer Text ...

<Argumentlabel>: Argument-Beschreibung

(1) [Label von Aussage Eins]
(2) ...
----
(3) [Label von Aussage Zwei]

Die Definition eines Arguments und seine Rekonstruktion kann an verschiedenen Orten sein:

<Argumentlabel>: Argument-Beschreibung

... möglicherweise ein anderer Text ...

<Argumentlabel>

(1) Erste Prämisse
(2) Zweite Prämisse
----
(3) Konklusion

Beziehungen zwischen Aussagen und Argumenten

  • Gerichtete Stützungsbeziehungen sind <+ und +>.
  • Gerichtete Angriffsbeziehungen sind <- und ->.
  • Kurzform-Versionen von <+ und <- sind + und -.

Beziehungen von Stützung und Angriff können in jeder Hinsicht zwischen Aussagen und Argumenten definiert werden.

Eine Aussage, die eine andere unterstützt

[Eine Aussage]
  +> [Eine andere Aussage]

oder:

[Eine andere Aussage]
   <+ [Eine Aussage]

oder in seiner kurzen Form:

[Eine andere Aussage]
   + [Eine Aussage]

oder sogar innerhalb von Rekonstruktionen:

<Argumentlabel>: Argument-Beschreibung

(1) [Eine andere Aussage]: Erste Prämisse
   <+ [Eine Aussage]
(2) Zweite Prämisse
----
(3) Konklusion

Eine Aussage, die von einem Argument angegriffen wird

<Argument>
    -> [Aussage]

oder:

[Aussage]
   <- <Argument>

oder in seiner kurzen Form:

[Aussage]
   - <Argument>

Ein Argument, das ein anderes unterstützt

<Ein Argument>
   +> <Ein anderes Argument>

oder:

<Ein anderes Argument>
   <+ <Ein Argument>

oder in seiner kurzen Form:

<Ein anderes Argument>
   + <Ein Argument>

Verschachtelte Beziehungen

Beziehungen können beliebig verschachtelt sein:

[Aussage Eins]
   - <Argument Eins>: Ich attackiere Aussage Eins.
      + [Aussage Zwei]: Ich stütze Argument Eins.
   + <Argument Zwei>: Ich stütze Aussage Eins.
      -> <Argument Drei>: Ich werde von Argument Zwei angegriffen.

Sonstiges

Überschriften

Überschriften wie in Markdown können verwendet werden, um Gruppen in Argumentkarten zu erzeugen:

# Überschrift Eins
## Überschrift Zwei

Erwähnungen

Erwähnungen von Aussagen und Argumenten:

Die Aussage @[Vegetarismus] ist die Konklusion des Arguments @<Leben>.

Tags

Aussagen und Argumente taggen:

<Argumentlabel>: Argumentbeschreibung #tag-eins

[Aussagenlabel]: Aussage #tag-zwei

Tags mit Leerzeichen:

Hier kommt ein Tag mit Leerzeichen: #(langes Tag mit Leerzeichen)

Links

## Überschrift

[Link zu einer Überschrift](##Überschrift)
[Link zur Argdown-Website](https://github.com/christianvoigt/argdown).

Auskommentieren

<!-
  Kommentar
-->

oder:

/*
Kommentar
*/

oder für kurze Kommentare:

//Einzeiliger Kommentar

Betonen

Betonen wie bei Markdown:

_kursiv_
* auch kursiv*
__fett__
** auch fett **

Argdown-Inhalte einfügen

Einige Argdown-Inhalte ...

@include(_my-argdown-partial.argdown)

Die Entwicklung von Argdown und Argdown-Tools wird vom DebateLab am KIT in Karlsruhe gefördert.

David Lanius on EmailDavid Lanius on FacebookDavid Lanius on LinkedinDavid Lanius on Twitter
David Lanius
Forscher am DebateLab des KIT
David Lanius ist Gründer und Leiter des Forums für Streitkultur sowie Forscher am DebateLab des Karlsruher Instituts für Technologie (KIT). Sein Forschungsschwerpunkt liegt auf strategischer Unbestimmtheit in Recht und Politik, Populismus, Fake News und den Möglichkeiten und Grenzen von konstruktivem Diskurs.