LDLf formula φ ::=φ1φ1`->'φ
φ1 ::=φ2φ1`|'φ2
φ2 ::=φ3φ2`&'φ3
φ3 ::=`last'α`!'φ3`<'ρ`>'φ3`['ρ`]'φ3`('φ`)'
Regular path ρ ::=ρ1ρ`+'ρ1
ρ1 ::=ρ2ρ1`;'ρ2
ρ2 ::=ρ3`{'φ`}'`?'ρ3`*'
ρ3 ::=`{'ψ`}'`!'ρ3`('ρ`)'
Proposition ψ ::=ψ1ψ1`->'ψ
ψ1 ::=ψ2ψ1`|'ψ2
ψ2 ::=ψ3ψ2`&'ψ3
ψ3 ::=α`!'ψ3`('ψ`)'
Atomic proposition α ::=`true'`false'symbol