Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: markup/scientific/logic/concrete/extracted
Source used for this grammar: Jurgen Vinju, lang::logic::syntax::Booleans
, 2011 [GitHub]
Source used for this grammar: Jurgen Vinju, lang::logic::syntax::Propositions
, 2011 [GitHub]
Source used for this grammar: Jurgen Vinju, lang::logic::syntax::Truths
, 2011 [GitHub]
Formula
, False
, True
), 0 root (—), 0 top (—), 0 bottom (—).[arg]
, [not]
, [true]
, [false]
, [lhs]
5, [rhs]
5, [and]
, [or]
, [fi]
, [if]
, [iff]
, [id]
, [t]
, [lf]
4, [rt]
4, [rf]
4, [lt]
4, [f]
.Formula ::= [not]::"!" [arg]::Formula
Formula ::=
[true]::"true"
Formula ::=
[false]::"false"
Formula ::= [and]::"&" [rhs]::Formula[lhs]::Formula
Formula ::= [or]::"|" [rhs]::Formula[lhs]::Formula
Formula ::= [fi]::"<=" [rhs]::Formula[lhs]::Formula
Formula ::= [if]::"=>" [rhs]::Formula[lhs]::Formula
Formula ::= [iff]::"<=>" [rhs]::Formula[lhs]::Formula
Formula ::= [id]::ε
False ::=
"false"
False ::=
"not" [t]::True
False ::= "(" False ")"
False ::=
[lf]::False "and" [rt]::True
False ::=
[lf]::False "and" [rf]::False
False ::=
[lt]::True "and" [rf]::False
False ::=
[lf]::False "or" [rf]::False
True ::= "(" True ")"
True ::=
"true"
True ::=
"not" [f]::False
True ::=
[lt]::True "and" [rt]::True
True ::=
[lt]::True "or" [rt]::True
True ::=
[lt]::True "or" [rf]::False
True ::=
[lf]::False "or" [rt]::True