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

  • Istnieją prawdziwe skalary a, b dla wszystkich rzeczywistych skalarów c, d
  • Polecam użycie $\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}$.
  • @PeterGrill Rozbicie (początku) takiego stwierdzenia matematycznego na wiele części w trybie matematycznym wydaje mi się dziwne …
  • Czasami nawet spacja $\exists a\in\mathbb{R}\ \exists b\in\mathbb{R}$ może pomóc. Zgadzam się jednak z @percusse.
  • @percusse problem polega na tym, że mogę ' t zawsze używać metajęzyka działającego w logice.

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}$ 

tutaj wprowadź opis obrazu

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$ 

tutaj wprowadź opis obrazu

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$ 

tutaj wprowadź opis obrazu

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$ 

tutaj wprowadź opis obrazu

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$ 

wprowadź opis obrazu tutaj

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} 

Trzy wersje z

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śli P i Q to formuły, podobnie jak (P)∧(Q). ∃x jest operatorem, ponieważ jeśli P 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śli f(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

oryginalne wyjście

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:

poprawione wyniki

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.

tutaj wprowadź opis obrazu

\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):

tutaj wprowadź opis obrazu

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}$

wprowadź tutaj opis obrazu

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.

Odpowiedź

Zawsze używałem \; po każdym symbolu z kwantyfikatorem. Na przykład

\begin{equation*} \forall \varepsilon > 0 \; \exists N \in \mathbb{N} \; \forall n \in \mathbb{N} \; (n \geq N \implies |s_n - L| < \varepsilon) \end{equation*} 

wpisz obraz opis tutaj

Chociaż rozumiem, że taka metoda ad hoc nie jest dobrą praktyką.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *