Gibt es eine Notation für die logische und / oder viele Elemente?

Nov 21 2020

Mit der Summationsnotation können Sie viele Dinge zusammenfügen $$\sum_{n=1}^5 n = 15$$

Gibt es einen ähnlichen Operator für logisches "und" und "oder"?

Ich überlegte $\exists$/.$\forall$In einigen Fällen kann ich jedoch nicht einfach angeben, wie die Antwort ermittelt werden soll.

Antworten

9 EricTowers Nov 21 2020 at 04:28

Verwenden Sie \ bigvee und \ bigwedge, $$ \bigvee_{i=1}^{100} X_i $$ und $$ \bigwedge_{i \in I} X_i \text{,} $$ beziehungsweise.

Siehe auch Was ist die Bedeutung von$\bigvee$ (Bigvee) Betreiber

Beachten Sie, dass diese auch für Meetings und Joins verwendet werden (Gittertheorie). Abhängig von Ihrem Kontext kann es eine gute Idee sein, diese Notation explizit einzuführen.

2 RyanK Nov 21 2020 at 04:34

Interessanterweise können Sie ganz einfach eine Aussage wie verwenden $$(\forall i\in I)(\exists a_i\in A_i)$$ um wiederholte "es gibt" -Anweisungen zu erhalten und ähnlich könnten Sie verwenden $$(\forall i\in I)(\forall a_i \in A_i)$$"für alle" Aussagen wiederholt werden. Sie müssten nur die Menge definieren$I$ und die Sets $A_i$. Beachten Sie, dass jeder$a_i$ ist nicht unbedingt eindeutig, und in der zweiten Aussage, $a_i$ ist nur dann einzigartig $|A_i|=1$.

Acccumulation Nov 24 2020 at 01:44

Sie haben in einem Kommentar erwähnt, dass dies in einem algorithmischen Kontext geschehen ist. In Bezug auf die Programmierung lautet der allgemeine Ausdruck dafür reduce(operation, iterable)(dies impliziert natürlich, dass Sie es mit einem assoziativen Binäroperator zu tun haben; er reduce(mean, iterable)wird nicht den Mittelwert des iterablen erhalten), z reduce(or, (f(_) for _ in range(k))). Es gibt auch any(f(_) for _ in range(k)). Dies ist die Python-Syntax, aber wenn Sie Pseudo-Code verwenden, sollte dies auch CS-Leuten klar sein, die mit Python nicht vertraut sind. In mathematischer Logik wäre es$\exists n:f(n)$.