Gibt es eine Notation für die logische und / oder viele Elemente?
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
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.
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$.
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)$.