Brian Huffman wrote:

> I just meant using a typedef, something like
>
> typedef 'a poly = "{f :: 'a fps. finite_fps f}"
>
> Then the operations like addition, multiplication, etc. could be
> defined in terms of the underlying fps operations like this
>
> definition
>   "p * q = Abs_poly (Rep_poly p * Rep_poly q)"
>
> Then the transfer of theorems from fps (like, say, associativity of
> multiplication) would not be automatic, but they would be really easy
> proofs.

OK, that sound reasonable. I was thinking of that + a very simple tactic
to transfer the important theorems after a basic set of theorems about
conserving "finiteness".  I will try that in my theory as soon as I can.

I was hoping that there is a way not to introduce a new type, and that
for once HOL behaves as nice as set-theory. But I should give up the
latter anyway...

Amine.

Reply via email to