FOM: expr. power of syntax
Steve Stevenson
steve at cs.clemson.edu
Fri Jul 19 13:58:29 EDT 2002
>From what I see, you can't parse ~~~~~~~x1 or ~(p->v). Your "var"
definition doesn't have to be that restrictive.
steve
Stephen Fenner writes:
> On Thu, 18 Jul 2002, Thomas Forster wrote:
>
> > Yes, that's the easy bit. The harrd bit is to find a formal way
> > of saying something like: no language with the expressive power of
> > propositional logic can be regular. It's pretty clear that something
> > like that must be true, but i'm not sure how to state it!
> >
> >
>
> >From a programming languages perspective, assembly/machine languages
> (which are regular, or can be idealized to be regular), are every bit as
> expressive as higher-level programming languages, i.e., they are
> "general-purpose"--able to compute any computable function. This is clear
> from the fact that compilers routinely translate high-level languages into
> machine language.
>
> For propositional logic, consider the regular language given by the
> following rules (named regular expressions):
>
> digit = 0|1|2|3|4|5|6|7|8|9
> number = {digit}{digit}*
> var = X{number}
> neg = ~{var}
> literal= {var}|{neg}|true|false
> conj = {literal}&{literal} | {literal}
> disj = {conj}v{conj} | {conj}
> rule = {var}:={disj}
> formula= {rule}*
>
> [Here, "|" means union and "*" means Kleene closure and {name} means
> substitute the regular expression previously bound to that name.]
>
> The language is given by the last regular expression ({formula}). Any
> propositional formula is computably translatable into a string in this
> language which preserves meaning and vice versa, given an appropriate
> semantics on the latter.
>
> Steve
>
>
>
More information about the FOM
mailing list