[isabelle-dev] classes
Clemens Ballarin
ballarin at in.tum.de
Thu Nov 8 15:21:33 CET 2007
Hi Amine,
I quite agree that ^ should be a definition, in a suitable
multiplicative semigroup/monoid preferably. But since in the current
setup ^ is overloaded so it can also be used for any other operation
this might be problematic.
> class recpower_semiring = semiring + recpower
> class recpower_semiring_1 = semiring_1 + recpower
> class recpower_semiring_0 = semiring_0 + recpower
> class recpower_ring = ring + recpower
> class recpower_ring_1 = ring_1 + recpower
> subclass (in recpower_ring_1) recpower_ring by unfold_locales
> subclass (in recpower_ring_1) recpower_ring by unfold_locales
> ...
These extensions are quite natural and shouldn't cause any harm.
What speaks against putting them into Isabelle2007 is that if in the
end we decide to put ^ into, say semiring, it might be a bit awkward
to withdraw the recpower_ classes in a later release.
Clemens
More information about the isabelle-dev
mailing list