[isabelle-dev] Relation_Power.thy

2008-09-03 Thread Gerwin Klein
Florian Haftmann wrote: > The overloaded infix syntax "^" for different power operations (natural > power in monoids, function power, relation power) turns more and more > unsatisfactory for a couple of reasons, e.g.: > > * The abuse of the type class mechanism to achieve the "^" syntax for > funp

[isabelle-dev] Relation_Power.thy

2008-09-02 Thread Makarius
On Tue, 2 Sep 2008, David Aspinall wrote: > > You can achieve the above "name space effect" of symbols already via > > something like \, > > Aha -- we can easily do this in PG then instead of \. > > > which is presently unused because LaTeX output is a bit strange (as for > > \). > > The idea

[isabelle-dev] Relation_Power.thy

2008-09-02 Thread Makarius
On Tue, 2 Sep 2008, David Aspinall wrote: > \ > > \ > > This is already supported in the X-Symbol replacement in the CVS version of > Proof General, by the way, although Isabelle's lexer currently only allows > syntax like \ and \. The \ notation is more fundamental, below lexing even. It

[isabelle-dev] Relation_Power.thy

2008-09-02 Thread David Aspinall
> You can achieve the above "name space effect" of symbols already via > something like \, Aha -- we can easily do this in PG then instead of \. > which is presently unused because LaTeX > output is a bit strange (as for \). The idea is to make the output the same as \, of course (with the

[isabelle-dev] Relation_Power.thy

2008-09-02 Thread Florian Haftmann
The overloaded infix syntax "^" for different power operations (natural power in monoids, function power, relation power) turns more and more unsatisfactory for a couple of reasons, e.g.: * The abuse of the type class mechanism to achieve the "^" syntax for funpow and relpow hinders the enforcemen

[isabelle-dev] Relation_Power.thy

2008-09-02 Thread David Aspinall
> There have been some thoughts to provide a mechanism of overloaded > abbreviations or something similar to eliminate that problem Yes --- I think the simplest thing is to simulate overloading by extending Isabelle symbols with symbol variants, which automatically have the same appearance but

[isabelle-dev] Relation_Power.thy

2008-09-02 Thread Brian Huffman
Quoting Florian Haftmann : > * funpow is defined as a separate primrec in theory Nat, without special > syntax. > * The remainder of theory Relation_Power is moved to Library, with a new > infix syntax (e.g. "^^") for relpow. > * The simple pow "^" then is just a primrec in class comm_monoid_mult