Kiedy pracuję z kwantyfikatorami, zauważyłem, że są one bardzo zbliżone do innych symboli i wynik nie wygląda dobrze, na przykład
$\exists a\in\mathbb{R}\exists b\in\mathbb{R}\forall c\in\mathbb{R}\forall d\in\mathbb{R}$
Jaka jest właściwa forma zapisu kwantyfikatorów?
Komentarze
Odpowiedź
To zależy od kontekstu.
Jeśli jest to część tekstu, możesz rozważyć Sugestia Petera Grilla:
$\exists a\in\mathbb{R}$, $\exists b\in\mathbb{R}$, $\forall c\in\mathbb{R}$, and $\forall b\in\mathbb{R}$
Na z drugiej strony, jeśli kwantyfikatory są częścią formuły logicznej, możesz rozważyć kropkę między kwantyfikatorami, na przykład:
$\exists a\in\mathbb{R}\ldotp\exists b\in\mathbb{R}\ldotp \forall c\in\mathbb{R}\ldotp\forall b\in\mathbb{R}\ldotp P$
Myślę, że ta notacja z kropką jest dziedziczona po” s Principia Mathematica utorstwa Russella i Whiteheada i jest dość szeroko stosowany, szczególnie w informatyce. Przecinek między kwantyfikatorami jest dość nietypowy, chociaż pojawia się w składni dowodu twierdzenia Coqa .
$\exists a\in\mathbb{R}, \exists b\in\mathbb{R}, \forall c\in\mathbb{R}, \forall d\in\mathbb{R}, P$
Notacja z przecinkiem staje się niewygodna, gdy chcesz obliczyć kilka zmiennych jednocześnie, ponieważ masz wtedy dwa różne typy przecinków w tej samej formule:
$\exists a,b\in\mathbb{R}, \forall c,d\in\mathbb{R}, P$
W takich przypadkach możesz rozważyć wstawienie spacji między zmiennymi, na przykład:
$\exists a\;b\in\mathbb{R}, \forall c\;d\in\mathbb{R}, P$
Pomysł umieszczania spacji między zmiennymi zamiast przecinków pochodzi ze składni dowodu twierdzenia Isabelle .
Komentarze
- Zdecydowanie nie zgadzam się z używaniem kropek między kwantyfikatorami. Przecinki są jednak w porządku.
- Podobał mi się drugi, wolę przecinki, ale czy jest kod na przecinki zamiast \ ldotp? A co z prostymi spacjami ” \ „?
- ta odpowiedź jest najbliższa temu, czego chcę, ponieważ to, co ja Want to unikalna formuła, a nie podział na dwie części, co myślisz o użyciu ” \ ” lub „, ” zamiast ” \ ldotp „?
-
\
i,
to dobre alternatywy. Dodałem,
do mojej odpowiedzi. - @Jubobs Czasami zastępuje się AND przecinkiem, co sprawia, że zapis jest bardzo nieuporządkowany i nieodpowiedni, jeśli zamiast tego używane są przecinki kropek.
Odpowiedź
Po prostu ustaw te znaki tak, jak powinny: Operatory. Nie są to operatory arytmetyczne, ale logiczne, ale to nie robi żadnej różnicy:
\documentclass{article} \usepackage{amsmath,amssymb} \DeclareMathOperator{\Exists}{\exists} \DeclareMathOperator{\Forall}{\forall} \begin{document} $\Exists a\in\mathbb{R}\Exists b\in\mathbb{R}\Forall c\in\mathbb{R}\Forall d\in\mathbb{R}$ $\Exists a\in\mathbb{R}:\Exists b\in\mathbb{R}:\Forall c\in\mathbb{R}:\Forall d\in\mathbb{R}$ $\Exists a,b\in\mathbb{R}:\Forall c,d\in\mathbb{R}$ \end{document}
code > \ DeclareMathOperator < / code >
Dodatkowo dodałbym dwukropek, który oznacza „taki że”.
Wreszcie jest to równoważne, ale łatwiejsze do zrozumienia, jeśli zarówno „istnieje”, jak i „foralls” są zgrupowane. R ^ 2 byłoby błędne w tym przypadku, ponieważ a i b powinny znajdować się w R (a, b) w R ^ 2, ale to nie jest napisane.
Komentarze
- Spójnik logiczny
∧
jest operatorem, ponieważ jeśliP
iQ
to formuły, podobnie jak(P)∧(Q)
.∃x
jest operatorem, ponieważ jeśliP
jest formułą, to jest nim∃x(P)
.∃x∈R
jest operatorem z tego samego powodu. Ale∃
sam w sobie nie jest operatorem w tym sensie, więc nie ' nie sądzę, że powinien być zadeklarowany jako jeden. -
\colon
jest lepsze niż:
podczas pisania, na przykład ” Dla każdy x istnieje y taki, że … „. - @JohnWickerson: Masz rację.Ale
∃x
sam w sobie nie jest symbolem, więc nie może być operatorem w sensie typograficznym. To samo dotyczy całki: jeślif(x)
jest formułą, to\int f(x)
nie jest formułą, ale\int f(x)dx
jest. Jednak\int
jest operatorem typograficznym. Zatem samo\exists
nie jest operatorem logicznym, ale\exists x\in M:P(x)
nim jest. Jednak\exists
powinno być operatorem typograficznym. - TLA + używa dwukropków: research.microsoft.com/en -us / um / people / lamport / tla / tla.html , a Lamport jest autorem LaTeXa.
- Możesz także
\let\oldexists\exists \let\exists\relax \DeclareMathOperator{\exists}{\oldexists}
kontynuować pisanie\exists
ale uzyskaj powyższe zachowanie.
Odpowiedź
W moim zdaniem, prawdziwym problemem związanym z kwantyfikatorami jest to, że trudno jest uzyskać spójne odstępy, jak wyjaśniłem w tej odpowiedzi . Najbardziej uderzający przykład, który znalazłem: \[\forall W\forall A\]
daje
Oczywiście powinno będzie więcej spacji przed drugim kwantyfikatorem; pojedyncza spacja \
zwykle będzie OK. Problem jest taki odstępy po kwantyfikatorach. Nie ma na to prostego rozwiązania poza ręcznym kerningiem, wyd. W tym przypadku \[\forall\mkern2mu W\ \forall\mkern-1mu A\]
wygląda całkiem dobrze:
Pozwól, że zwróć uwagę, że użyłbym kwantyfikatorów tylko w wyświetlanych formułach, nigdy w matematyce wbudowanej.
Odpowiedź
Nie wiem jeśli o to pytasz, ale ma to związek.
Moim zdaniem to okropne miejsce za kwantyfikatorami (wyglądają bardzo blisko następnej litery). Zawsze je edytuję i dodaję małą spację.
\let\existstemp\exists \let\foralltemp\forall \renewcommand*{\exists}{\existstemp\mkern2mu} \renewcommand*{\forall}{\foralltemp\mkern2mu}
Nawiasem mówiąc, jak mówią inni, to zależy od sytuacji. Gdyby to było w tekście, wybrałbym There exist real scalars a,b for all real scalars c,d
(komentarz Percussea). Ale jeśli znajduje się on wewnątrz \displaymath
, wybrałbym symbole.
Po pierwsze, zwykle rozstawiam matematykę na \quad
s (to osobisty gust i musisz wybrać, czego używasz). Po drugie, nie wiem, jak należy czytać Twój przykład:
-
Jeśli przeczytasz Istnieją rzeczywiste skalary a, b dla wszystkich rzeczywistych skalarów c, d zmieniłbym kolejność i napisał Dla wszystkich rzeczywistych skalarów c, d istnieją rzeczywiste skalary a, b… i napisz
\forall c,d \in \mathbb{R} \quad \exists a,b \in \mathbb{R}
. -
A jeśli przeczytasz to jako Istnieją prawdziwe skalary a, b takie, że dla wszystkich rzeczywistych skalarów c, d… wtedy napisałbym
\exists a,b \in \mathbb{R}, \quad \forall c,d \in \mathbb{R}
Tutaj to jest pełny przykład.
\documentclass{article} \usepackage{amssymb} \let\existstemp\exists \let\foralltemp\forall \begin{document} \[ \exists a,b \in \mathbb{R}, \quad \forall c,d \in \mathbb{R} \] \renewcommand*{\exists}{\existstemp\mkern2mu} \renewcommand*{\forall}{\foralltemp\mkern2mu} \[ \exists a,b \in \mathbb{R}, \quad \forall c,d \in \mathbb{R} \] \[ \forall c,d \in \mathbb{R} \quad \exists a,b \in \mathbb{R} \] \end{document}
Aby aby uzasadnić \quad
zamiast \
s, oto kolejny przykład, który moim zdaniem pokazuje mój pomysł (i dlaczego w displaymaths \quad
s są przydatne):
Myślę, że pierwsza linia jest znacznie bardziej czytelna niż druga.
Komentarze
- Ja ' jestem zainteresowany w przestrzeni między \ mathbb {R} a \ istnieje. Pisanie ” \ mathbb {R} \ exist ” jest okropne i ” \ mathbb { R} \ quad \ exist ” jest przesadzone, wolę ” \ mathbb {R} \ \ exist ” lub ” \ mathbb {R} \ \ exist „. Jeśli chodzi o twoją sugestię, co z $ \ forall \, c $? ” \, ” to również mała spacja po kwantyfikatorze.
- @Gast ó nBurrull O
\,
, tak, to działa (użyłem\mkern2mu
, aby pokazać, jak to dostosować). Swoją drogą\quad
jeśli ' znajduje się w\displaymath
Myślę, że ' jest znacznie lepsze niż\
, ponieważ wyraźnie oddziela zdanie. - W pierwszym elemencie znaczenie zmienia się drastycznie, jeśli zamień kolejność.
- @percusse Moja odpowiedź brzmi: oczywiście. Ale wtedy myślę, że może źle zrozumiałem część pytania. Czy nie powinno się ' czy zmienić, jeśli zmienię zamówienie? Może być logiczne (o czym nie ' nie wiem), nie powinno to ' t. Chodziło mi tylko o dodanie spacji po kwantyfikatorach i pokazanie
\quad
jako użytecznych spacji matematycznych. Jeśli ' mylę się, popraw mnie, to ' prawda. Nic nie wiem o logice. - @ Manuel Jasne.Nauczyłem się tego na własnej skórze, więc mam oko na tę strukturę z mojego doktoratu 🙂 Jeden mówi, że są ustalone a, b dla wszystkich c, d, jeśli zmienisz zamówienie. Drugi mówi, że dla każdego a i b można znaleźć jakieś c i d. A to sprawiło mi wiele problemów w przeszłości, ponieważ nie ' nie uczą tego w inżynierii heh.
Odpowiedź
Inna możliwość to:
$\exists\ a,b \in \mathbb{R},\ \forall\ c, b \in\mathbb{R}$
Komentarze
- Podobał mi się przecinek. Prawdopodobnie użyję tego w przyszłości $ \ exist a \ in \ mathbb {R}, \ exist b \ in \ mathbb {R}, \ forall c \ in \ mathbb {R}, \ forall d \ in \ mathbb { R} $. Ponieważ ' nie lubię spacji ” \ ” po kwantyfikatorze.
- Wadą używania przecinków, przynajmniej w powyższym przykładzie, jest to, że w formule masz teraz dwa różne typy przecinków o dwóch różnych znaczeniach, co może utrudnić jej zrozumienie.
$\exists a\in\mathbb{R}$, $\exists b\in\mathbb{R}$, $\forall c\in\mathbb{R}$, and $\forall b\in\mathbb{R}$
, a może$\exists a, b \in\mathbb{R}$, $\forall c, d \in\mathbb{R}$
.$\exists a\in\mathbb{R}\ \exists b\in\mathbb{R}$
może pomóc. Zgadzam się jednak z @percusse.