Logische Operatoren auf Metaebene

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Logische Operatoren auf Metaebene

von Magenta » Do 18. Aug 2016, 23:22

Für \Boxi benutze ich (jetzt) auch den \DeclareMathOperator-Befehl. Nur brauche ich zudem auch den \Box-Operator. In meiner Ausgabe sehe ich zwischen dem nach Deinem Vorschlag definierten \Boxi und dem nicht veränderten \Box keinen Unterschied hinsichtlich der Abstände. Also kann \Box doch so bleiben, wie er ist, oder?

von sudo » Mi 17. Aug 2016, 20:18

Ich hatte schon im ersten Post versucht rüberzubringen, dass \DeclareMathOperator oder \operatorname den Abstand zum Operanden verbessern.
sudo hat geschrieben:
\documentclass[11pt,openany]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}

\DeclareMathOperator{\foo}{\textsf{I}\Box}
\newcommand{\Boxi}{\ensuremath{\textsf{I}\Box}}
\begin{document}
Der Unterschied zwischen $\Boxi \beta$ und $\foo \beta$ ist der Abstand, da ein Operator einen anderen Abstand zum Operanden hat, als zwei Variablen zueinander.
\end{document}

von Magenta » Mi 17. Aug 2016, 19:25

Nein. An einer solchen Stelle brauche ich keinen Schnickschnack, sondern die ganz normalen Operatoren auf der Objektebene der formalen Sprache.

Interessiert Dich das wirklich? :)

von sudo » Mi 17. Aug 2016, 09:42

Sind \Box und \Diamond dann mit \DeclareMathOperator (um-)definiert?

von Magenta » Mo 15. Aug 2016, 23:32

Ich glaube, wir reden gerade ein bisschen an einander vorbei.

Die modalaussagenlogische Formel:
 \[\Box p \rightarrow \Diamond p\] 
beispielsweise kann gelesen werden: "Wenn Box p, dann Diamand p.", und der Modallogiker versteht dich. Machen Techniker sehr gern.

Wenn's um die Interpretation geht, dann nutzt man eher die etwas aufgeladenere Lesart "Wenn es notwendig ist, dass p, dann ist es auch möglich, dass p.". Wenn ich jetzt aber über die Operatoren und ihre rechnerischen Eigenschaften spreche, dann scheint das Sprechen von "Box" und "Diamand" irgendwie natürlicher (falls an Diskussionen zum Thema "Modallogik" irgendetwas natürlich sein kann :lol: ).

von sudo » Mo 15. Aug 2016, 20:30

Wie ich schon mit dem Beispiel \Einpacken deutlich machen wollte: Benenne die Operatoren nach ihrer Aufgabe: \NotwendigObjekt und \NotwendigMeta
\forall und \exists heißt ja auch nicht \UmgedrehtesA und \UmgedrehtesE.

Außerdem gibt es den Befehl \Box ja schon. Das ist zwar die Box, die du möchtest, allerdings nicht mit dem richtigen Abstand zwischen Operator und Operand.

PS: Wenn du Hilfe brauchst den Diamanten mit Strich zu definieren. Poste das ruhig als neue Frage. Dafür sind wir ja ein Hilfeforum. Dadurch, dass du den Operator als eigenen Befehl definierst, kannst du das auch später jederzeit ändern.

von Magenta » Mo 15. Aug 2016, 18:55

Nochmal hallo :),

stimmt: Status ändern! Danke für die Erinnerung.

Deinen Kommentar verstehe ich nicht ganz. Ich brauche die Box als Box vor einer Formel, das ist das übliche Zeichen für "Es ist notwendig, dass" in der Modallogik. Nun gibt es zu jeder Sprache auf der Objektebene aber auch eine auf der Metaebene. Übersichtlicher wird eine Argumentation, wenn die unterschiedlichen Sprachebenen durch unterschiedliche Zeichen deutlich werden. Daher das nicht unübliche Vorgehen, auf einer Seite des Operators eine Doppellinie zu setzen.

Inzwischen habe ich mir eine andere Möglichkeit überlegt und kennzeichne die Ebene, wenig kreativ, durch ein hocgestelltes "m".

Da ich aber ein ziemlicher Tex-Neeb bin, war Dein Hinweis auf
 \DeclareMathOperator{} 


echt Gold wert. Dafür vielen Dank!

Magenta

von sudo » Mo 15. Aug 2016, 12:17

Mit sinnvoll benennen meine ich vorallem, dass du beschreibst, was der Operator macht und nicht, wie er aussieht. \Box wird den Operanden vermutlich nicht einpacken, oder? Und selbst wenn, würde ich ihn dann eher \Einpacken als \Box nennen.

Hat dir der Rest geholfen, deinen Fehler zu beheben? Dann kannst du auch den Status entsprechend anpassen. Danke für die Rückmeldung.

von Magenta » Fr 12. Aug 2016, 17:13

Hallo Sudo,

vielen Dank für die Antwort! War ja klar, dass ich da Unsinn habe. :D

(Leider sind das halbwegs sinnvolle Benennungen. Ich brauche sie alle und so ziemliche alle doppelt (\forall, \exists, \Box, \Diamond), denn ich habe in meiner Arbeit ein Kapitel zur modalen Prädikatenlogik. :roll: )

Liebe Grüße,

Magenta

von sudo » Fr 12. Aug 2016, 13:28

Ich würde den Operatoren sinnvolle Namen geben und diese auch als Operatoren definieren.
Andere Operatoren enthalten auch kein \ensuremath. Daher würde ich das auch weglassen.
Bei \textsf waren zwei Buchstaben vertauscht. Deswegen der Undefined control sequence-Fehler.
Wenn schon \ensuremath, müssen auf jeden falls die $ raus. Sonst gehst du je wieder raus aus dem Mathe-Modus.
Wenn du keinen anderen Diamanten findest kannst du entweder mit metafonts (skaliert richtig mit der Schriftgröße) oder mit tikz (Längen dann bitte in ex) ein eigenes Symbol zeichnen.
\documentclass[11pt,openany]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}

\DeclareMathOperator{\foo}{\textsf{I}\Box}
\newcommand{\Boxi}{\ensuremath{\textsf{I}\Box}}
\begin{document}
Der Unterschied zwischen $\Boxi \beta$ und $\foo \beta$ ist der Abstand, da ein Operator einen anderen Abstand zum Operanden hat, als zwei Variablen zueinander.
\end{document}

Nach oben