If you understand what the package is doing (and I admit that this is not 
easy), then the behaviour of the simplifier on big records is in turn fairly 
understandable.

The advantage of the package is not suffering a quadratic blow-up in elapsed 
time and theorem sizes (in turn leading to quadratic theory sizes and similar 
time in loading said theories) when defining the record type. The simplifier’s 
normalisation of record expressions is also an implementation of bubble sort, 
so there are conceivably simplification scenarios which might exhibit quadratic 
time costs.

All that said, I think that there’s probably a strong case for simply forcing 
users to suffer (perhaps with warning messages), and encouraging them to define 
nested records themselves to group related fields of their super-large records. 
 They would thus be manually doing what the big record package is doing not 
quite invisibly.

Pull requests gratefully accepted.

Michael

From: Ramana Kumar <ramana.ku...@cl.cam.ac.uk>
Date: Wednesday, 6 June 2018 at 19:18
To: hol-info <hol-info@lists.sourceforge.net>
Subject: [Hol-info] big records

Dear HOL users,

Does anyone know how to use the big record package? I always find I want to 
turn it off (by increasing the big record size to above the max number of 
fields in my types) because many things don't work on big records (in 
particular the simplifier and EVAL) whereas they do work on "small" records.

Would it be OK to disable the big record package by default (e.g., set the size 
limit to "infinity" by default)? Or would it be easy to make the above tooling 
work for big records too? What are the advantages of big records anyway?

Cheers,
Ramana
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to