> instantiation list :: (order) order
> begin
>
> fun le_list :: "('a::order)list => 'a list => bool" where
> "le_list [] [] = True" |
> "le_list (x#xs) (y#ys) = (x <= y & xs <= ys)" |
> "le_list _ _ = False"
>
> *** exception Empty raised (line 331 of "library.ML")
This seems to be a function-related issue, according to the traceback:
List.map(2)
Function_Core.prove_stuff(12)
Function_Core.prove_stuff(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)
Function_Core.prepare_function(6)
Function_Mutual.prepare_function_mutual(6)
Function.prepare_function(8)
Function.gen_add_function(8)
Function_Fun.gen_add_fun(1)(1)
Toplevel.local_theory_presentation(2)(1)(1)
Maybe the misbehaviour has something to do with the effect that on the
rhs the phrase "xs <= ys" is substituted by "less_eq_list xs ys" (with
less_eq_listbeing a free variable) during the term check phase.
Cheers,
Florian
--
PGP available:
http://home.informatik.tu-muenchen.de/haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de
signature.asc
Description: OpenPGP digital signature
_______________________________________________ isabelle-dev mailing list [email protected] https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
