Přednost logických spojek
Která logická spojka má před kterou přednost? napíšeme-li $A \lor B \Rightarrow C \Leftrightarrow D $ jak se to správně ozávorkuje?
Která logická spojka má před kterou přednost? napíšeme-li $A \lor B \Rightarrow C \Leftrightarrow D $ jak se to správně ozávorkuje?
Studijní text kolegy Starého (download 18.1.2015 z EDUXu BI-MLO, sekce cvičení), Cvičení 3.1.4:
Přijměme obvyklou konvenci, podle které vazební síla výrokových spojek postupně klesá v pořádí $\neg$, {$\wedge, \vee$}, $\Rightarrow$, $\Leftrightarrow$; tedy konjunkce a disjunkce mají stejnou vazební sílu.
Okolní Cvičení se této problematice věnují dále. Konvence mi přijde standardní, resp. jsem jinou neviděl, jistě bude zmíněna i někde ve skriptech, ale ta nemám k dispozici, tak to nemohu ověřit.
Abychom to uzavřeli, ten příklad v původním dotazu, správně uzávorkován, zní: $((A \vee B) \Rightarrow C) \Leftrightarrow D$.
PS: Může být překvapivé, že konjunkce a disjunkce mají stejnou sílu. Mě přijde, že to má dobrý důvod. Představte si konjunktní nebo disjunktní tvar formule bez uzávorkování. To by bylo solidní guláš.
Tomáš Kalvoda ( 2015-01-18 08:53:00 +0100 )editJen pro úplnost ("jsem jinou neviděl"), jiná konvence je třeba v Cčku, kde AND má větší prioritu než OR ( http://en.cppreference.com/w/c/language/operator_precedence ). Prostě programátoři :-)
Josef Kokeš ( 2015-01-18 09:19:49 +0100 )editJá měl na mysli matematické texty, na C jsem si nevzpomněl :-). Z toho asi bude pramenit to možné zmatení.
Tomáš Kalvoda ( 2015-01-18 09:25:07 +0100 )editTo zalezi na domluve, jak si to kdo definuje, ale rekl bych, ze by "normalni" priorita mela byt:
Tedy tvuj priklad
$$ ( ( A \lor B ) \Rightarrow C ) \Leftrightarrow D $$
EDIT: dle MLO a @Tomáš Klavoda má $ \land $ a $ \lor $ stejnou prioritu. Nicméně pozor na to, že operátor and má prioritu před or např v jazyce C nebo Boolovské algebře. Jak jsem již psal, záleží na definici autora / použití. Nicméně uzávorkovaný příklad by měl být i pro potřeby správně.
Já bych na tuhle "normální" prioritu teda moc nespoléhal. Buď to musí být z kontextu jasné (což tady není, když o těch prvotních výrocích nic nevíme) a nebo tam musí být aspoň nějak naznačen oddělovač (např. větší mezerou). Tady bych si klidně dokázal představit i variantu $ ( A \lor B ) \Rightarrow (C \Leftrightarrow D) $.
Greg ( 2015-01-18 01:55:04 +0100 )editTak takhle to neni. Na přednášce nebo myslím aspoň Starý na cviku říkal co má přednost. Když je tam konjunkce a disjunkce tak to musí být ozávorkované protože mají stejnou prioritu. Dále si myslím že konjunkce a disjunkce jsou nejsilnější takže sousedy tahají k sobě ale nevím jak to bylo s implikací a ekvivalencí. Ale díky za snahu :)
Petr Gondek ( 2015-01-18 02:14:54 +0100 )edit$\wedge$ a $\vee$ jsou na stejné urovni. Musí se závorkovat (např. v DNT/KNT).
Tomáš Kalvoda ( 2015-01-18 08:55:48 +0100 )edit@Tomáš Kalvoda Ok, díky za upřesnění. Bral jsem to jak v boolově algebře, kde má $.$ větší přednost než $+$. Alepsoň se běžně vidí $a.b + c$ a má se za to, že je to $(a.b) + c$ . Nebo i tady je to jinak?
@Greg Psal jsem, že záleží na domluvě, resp. definici, jak to autor myslel. Každopádně na mezery bych se nespoléhal... to se mi nezdá moc exaktní.
Navíc tvoji variantu, že ekvivalence je silnější než implikace si představit nedokážu.
@gondepet V tomto příkladě se nevyskytují oba operátory $\land$ i $\lor$, takže výsledné uzávorkování s implikací a ekvivalencí je správné ;)
Ad booleova algebra: Už je to nějakou dobu, takže na moje vzpomínky není spoleh, ale mám takový matný pocit, že na prioritě operátorů v booleově algebře jsme se (v mém studiu, ne v BI-MLO) domlouvali jako na konvenci. Stejně jako jsme se na tom domlouvali u těles v MI-MPI.
Josef Kokeš ( 2015-01-18 12:07:04 +0100 )editAsked: 2015-01-17 18:38:12 +0100
Seen: 388 times
Last updated: Jan 18 '15
EDIT: jen jsem upravil ten vyraz, aby se to dalo precist
VojtechMyslivec ( 2015-01-17 23:07:01 +0100 )edit