Czy istnieje zapis dla logiki i / lub wielu elementów?

Nov 21 2020

Możesz dodać wiele rzeczy razem, używając notacji sumowania $$\sum_{n=1}^5 n = 15$$

Czy istnieje podobny operator dla logicznych „i” i „lub”?

Przemyślałem $\exists$/$\forall$, ale to nie pozwala mi łatwo określić, jak w niektórych przypadkach określić odpowiedź.

Odpowiedzi

9 EricTowers Nov 21 2020 at 04:28

Użyj \ bigvee i \ bigwedge, $$ \bigvee_{i=1}^{100} X_i $$ i $$ \bigwedge_{i \in I} X_i \text{,} $$ odpowiednio.

Zobacz także Jakie jest znaczenie$\bigvee$ (bigvee) operator

Należy pamiętać, że są one również używane do spotkań i połączeń (teoria krat). W zależności od kontekstu dobrym pomysłem może być jawne wprowadzenie tego zapisu.

2 RyanK Nov 21 2020 at 04:34

Co ciekawe, dość łatwo możesz użyć stwierdzenia typu $$(\forall i\in I)(\exists a_i\in A_i)$$ aby powtarzać stwierdzenia „istnieją” i podobnie możesz użyć $$(\forall i\in I)(\forall a_i \in A_i)$$powtarzane „dla wszystkich” stwierdzeń. Wystarczyłoby zdefiniować zestaw$I$ i zestawy $A_i$. Zauważ, że każdy$a_i$ niekoniecznie jest wyjątkowa, a w drugim stwierdzeniu $a_i$ jest wyjątkowy tylko wtedy, gdy $|A_i|=1$.

Acccumulation Nov 24 2020 at 01:44

Wspomniałeś w komentarzu, że pojawiło się to w kontekście algorytmicznym. W terminach programowania ogólne wyrażenie na to jest reduce(operation, iterable)(oczywiście oznacza to, że masz do czynienia z asocjacyjnym operatorem binarnym; reduce(mean, iterable)nie otrzyma średniej iterowalnej), np reduce(or, (f(_) for _ in range(k))). Jest też any(f(_) for _ in range(k)). To jest składnia Pythona, ale jeśli robisz pseudo kod, powinno to być jasne nawet dla osób z CS, które nie są zaznajomione z Pythonem. W kategoriach logiki matematycznej tak byłoby$\exists n:f(n)$.