Re: [isabelle-dev] Nontermination in HOL-Corec_Examples on Epyc

2018-06-18 Thread Makarius
On 18/06/18 21:30, Lars Hupel wrote:
> 
> the good news is that we have just received new hardware (Dual Epyc 7601).
> 
> The bad news is that a current development snapshot
> (Isabelle/410818a69ee3) exhibits a problem on this hardware. In
> particular, the session HOL-Corec_Examples doesn't appear to terminate.
> 
> The precise invocation is:
> 
> $ ./isabelle/bin/isabelle build -cbv -a -o threads=2 -j 16
> 
> Isabelle2017 "build -bva" works fine. This qualifies the problem as a
> regression, I suppose.

Isabelle2017 still uses Poly/ML 5.6, but for the coming release we are
on 5.7.1, which is quite different in many respects.


> - The "poly" process gets stuck at 100% CPU load and keeps calling "mmap"
> - When trying to build the nonterminating session without "-b", it
> terminates
> - GDB tells me the following stack trace when "mmap" is called (which
> corroborates that it happens during heap dumping):
> 
> #0  0x7f8dab80ba13 in __GI___mmap64 (addr=0x0, len=32768, prot=7,
> flags=34, fd=-1, offset=0) at ../sysdeps/unix/sysv/linux/mmap64.c:52
> #1  0x00879d56 in OSMem::Allocate(unsigned long&, unsigned int) ()
> #2  0x00871c6e in MemMgr::NewExportSpace(unsigned long, bool,
> bool, bool) ()
> #3  0x0085f020 in CopyScan::ScanAddressAt(PolyWord*) ()
> #4  0x0088c2b6 in
> ScanAddress::ScanAddressesInObject(PolyObject*, unsigned long) ()
> ...
> #24 0x0088c335 in
> ScanAddress::ScanAddressesInObject(PolyObject*, unsigned long) ()
> #25 0x0088c8c1 in ScanAddress::ScanAddressesInRegion(PolyWord*,
> PolyWord*) ()
> #26 0x008890a1 in SaveRequest::Perform() ()
> #27 0x00882717 in Processes::BeginRootThread(PolyObject*) ()
> #28 0x00874a9c in polymain ()
> #29 0x7f8dab711b97 in __libc_start_main (main=0x405720 ,
> argc=16, argv=0x7fffe693d4d8, init=, fini= out>, rtld_fini=, stack_end=0x7fffe693d4c8) at
> ../csu/libc-start.c:310
> #30 0x00405e01 in _start ()

David Matthews is the only one who can address this.

Maybe the problem is even related to the non-termination we've seen
recently on HOL-Proofs.


> I'm open to any suggestions for how to diagnose this. Happy to give out
> SSH access to the machine.

Of course, I have also use for such a machine for testing Isabelle + AFP
as usual.


Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


[isabelle-dev] Nontermination in HOL-Corec_Examples on Epyc

2018-06-18 Thread Lars Hupel

Dear list,

the good news is that we have just received new hardware (Dual Epyc 
7601).


The bad news is that a current development snapshot 
(Isabelle/410818a69ee3) exhibits a problem on this hardware. In 
particular, the session HOL-Corec_Examples doesn't appear to terminate.


$ cat .isabelle/etc/settings
init_components "$USER_HOME/.isabelle/contrib" 
"$ISABELLE_HOME/Admin/components/main"


ML_OPTIONS="-H 4000 --maxheap 8G"
ML_PLATFORM="$ISABELLE_PLATFORM64"

ML_HOME="$POLYML_HOME/$ML_PLATFORM"

ISABELLE_GHC=ghc
ISABELLE_POLYML="$ML_HOME/poly"
ISABELLE_SCALA="$SCALA_HOME/bin"
ISABELLE_OCAMLC=ocamlc
ISABELLE_OCAML=ocaml
ISABELLE_MLTON=mlton
ISABELLE_SWIPL=swipl
ISABELLE_SMLNJ=sml

The precise invocation is:

$ ./isabelle/bin/isabelle build -cbv -a -o threads=2 -j 16

Isabelle2017 "build -bva" works fine. This qualifies the problem as a 
regression, I suppose.


I've done some preliminary tracing; here are my findings:

- The "poly" process gets stuck at 100% CPU load and keeps calling 
"mmap"
- When trying to build the nonterminating session without "-b", it 
terminates
- GDB tells me the following stack trace when "mmap" is called (which 
corroborates that it happens during heap dumping):


#0  0x7f8dab80ba13 in __GI___mmap64 (addr=0x0, len=32768, prot=7, 
flags=34, fd=-1, offset=0) at ../sysdeps/unix/sysv/linux/mmap64.c:52
#1  0x00879d56 in OSMem::Allocate(unsigned long&, unsigned int) 
()
#2  0x00871c6e in MemMgr::NewExportSpace(unsigned long, bool, 
bool, bool) ()

#3  0x0085f020 in CopyScan::ScanAddressAt(PolyWord*) ()
#4  0x0088c2b6 in 
ScanAddress::ScanAddressesInObject(PolyObject*, unsigned long) ()

...
#24 0x0088c335 in 
ScanAddress::ScanAddressesInObject(PolyObject*, unsigned long) ()
#25 0x0088c8c1 in ScanAddress::ScanAddressesInRegion(PolyWord*, 
PolyWord*) ()

#26 0x008890a1 in SaveRequest::Perform() ()
#27 0x00882717 in Processes::BeginRootThread(PolyObject*) ()
#28 0x00874a9c in polymain ()
#29 0x7f8dab711b97 in __libc_start_main (main=0x405720 , 
argc=16, argv=0x7fffe693d4d8, init=, fini=out>, rtld_fini=, stack_end=0x7fffe693d4c8) at 
../csu/libc-start.c:310

#30 0x00405e01 in _start ()

I'm open to any suggestions for how to diagnose this. Happy to give out 
SSH access to the machine.


Cheers
Lars

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] quaternions

2018-06-18 Thread Mohammad Abdulaziz
To me, the first application of cross products that crosses my mind is
vector analysis; it can help define concepts like the curl. Thus, if
it is not a separate AFP entry, I think it might fit in analysis.

Mohammad

On Mon, Jun 18, 2018 at 2:24 PM,
 wrote:
> Send isabelle-dev mailing list submissions to
> isabelle-dev@mailbroy.informatik.tu-muenchen.de
>
> To subscribe or unsubscribe via the World Wide Web, visit
> 
> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
>
> or, via email, send a message with subject or body 'help' to
> isabelle-dev-requ...@mailbroy.informatik.tu-muenchen.de
>
> You can reach the person managing the list at
> isabelle-dev-ow...@mailbroy.informatik.tu-muenchen.de
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of isabelle-dev digest..."
>
>
> Today's Topics:
>
>1. quaternions (Lawrence Paulson)
>2. Re: quaternions (Lars Hupel)
>3. Re: quaternions (Tobias Nipkow)
>4. Re: quaternions (Manuel Eberl)
>
>
> --
>
> Message: 1
> Date: Mon, 18 Jun 2018 11:36:58 +0100
> From: Lawrence Paulson 
> To: Isabelle-dev list
> , Johannes H?lzl
> 
> Subject: [isabelle-dev] quaternions
> Message-ID: <5b41a03d-65ae-4a0f-b5d2-d405caede...@cam.ac.uk>
> Content-Type: text/plain;   charset=us-ascii
>
> I have just formalised most of the HOL Light development of quaternions. It's 
> a great advertisement for type classes: showing that quaternions constitute a 
> real normed division algebra and an inner product space supersedes most of 
> the HOL Light proofs (many files), which are devoted to developing the 
> arithmetic and topological properties of quaternions. In the course of this, 
> I also ported the HOL Light development of the three-dimensional vector cross 
> product.
>
> So where does this material belong? Arguably not in Analysis, which is 
> already too large.
>
> Another question: I did not port the quaternion material relating to the 
> constant reflect_along, which is defined as follows:
>
> (* Reflection of a vector about 0 along a line. *)
>
> let reflect_along = new_definition
>  `reflect_along v (x:real^N) = x - (&2 * (x dot v) / (v dot v)) % v`;;
>
> Is this concept useful, and if so, where does it belong?
>
> Larry
>
>
>
> --
>
> Message: 2
> Date: Mon, 18 Jun 2018 14:17:34 +0200
> From: Lars Hupel 
> To: Lawrence Paulson , Isabelle-dev list
> , Johannes H?lzl
> 
> Subject: Re: [isabelle-dev] quaternions
> Message-ID: 
> Content-Type: text/plain; charset=utf-8
>
>> So where does this material belong? Arguably not in Analysis, which is 
>> already too large.
>
> Why not a regular AFP entry?
>
> Cheers
> Lars
>
>
> --
>
> Message: 3
> Date: Mon, 18 Jun 2018 14:18:08 +0200
> From: Tobias Nipkow 
> To: isabelle-dev@mailbroy.informatik.tu-muenchen.de
> Subject: Re: [isabelle-dev] quaternions
> Message-ID: <50edc647-c34c-057c-4c02-471dac7ce...@in.tum.de>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>
> Why not simply the AFP?
>
> Tobias
>
> On 18/06/2018 12:36, Lawrence Paulson wrote:
>> I have just formalised most of the HOL Light development of quaternions. 
>> It's a great advertisement for type classes: showing that quaternions 
>> constitute a real normed division algebra and an inner product space 
>> supersedes most of the HOL Light proofs (many files), which are devoted to 
>> developing the arithmetic and topological properties of quaternions. In the 
>> course of this, I also ported the HOL Light development of the 
>> three-dimensional vector cross product.
>>
>> So where does this material belong? Arguably not in Analysis, which is 
>> already too large.
>>
>> Another question: I did not port the quaternion material relating to the 
>> constant reflect_along, which is defined as follows:
>>
>> (* Reflection of a vector about 0 along a line. *)
>>
>> let reflect_along = new_definition
>>   `reflect_along v (x:real^N) = x - (&2 * (x dot v) / (v dot v)) % v`;;
>>
>> Is this concept useful, and if so, where does it belong?
>>
>> Larry
>>
>> ___
>> isabelle-dev mailing list
>> isabelle-...@in.tum.de
>> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
>>
>
> -- next part --
> 

Re: [isabelle-dev] quaternions

2018-06-18 Thread Lawrence Paulson
The cross product development is 200 lines long while the quaternion 
development is 730. Should they be separate entries, or do cross products 
belong elsewhere?
Larry

> On 18 Jun 2018, at 13:18, Tobias Nipkow  wrote:
> 
> Why not simply the AFP?



signature.asc
Description: Message signed with OpenPGP
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] quaternions

2018-06-18 Thread Manuel Eberl
I would also have suggested an AFP entry.

> let reflect_along = new_definition
>  `reflect_along v (x:real^N) = x - (&2 * (x dot v) / (v dot v)) % v`;;
Think of it as x being the direction of a ray of light hitting a mirror
(in the shape of a hyperplane through the origin with normal vector a)
and being reflected. The result is the direction of the reflected ray.

Where it belongs I cannot say; that depends on what kinds of results are
proven about it. I for one would consider this a very ‘applied’ concept
(I know it from ray tracing), so unless we have a concrete application
for it, I'm not sure we need it at all.

Manuel


On 2018-06-18 14:17, Lars Hupel wrote:
>> So where does this material belong? Arguably not in Analysis, which is 
>> already too large.
> Why not a regular AFP entry?
>
> Cheers
> Lars
> ___
> isabelle-dev mailing list
> isabelle-...@in.tum.de
> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] quaternions

2018-06-18 Thread Tobias Nipkow

Why not simply the AFP?

Tobias

On 18/06/2018 12:36, Lawrence Paulson wrote:

I have just formalised most of the HOL Light development of quaternions. It's a 
great advertisement for type classes: showing that quaternions constitute a 
real normed division algebra and an inner product space supersedes most of the 
HOL Light proofs (many files), which are devoted to developing the arithmetic 
and topological properties of quaternions. In the course of this, I also ported 
the HOL Light development of the three-dimensional vector cross product.

So where does this material belong? Arguably not in Analysis, which is already 
too large.

Another question: I did not port the quaternion material relating to the 
constant reflect_along, which is defined as follows:

(* Reflection of a vector about 0 along a line. *)

let reflect_along = new_definition
  `reflect_along v (x:real^N) = x - (&2 * (x dot v) / (v dot v)) % v`;;

Is this concept useful, and if so, where does it belong?

Larry

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev





smime.p7s
Description: S/MIME Cryptographic Signature
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] quaternions

2018-06-18 Thread Lars Hupel
> So where does this material belong? Arguably not in Analysis, which is 
> already too large.

Why not a regular AFP entry?

Cheers
Lars
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


[isabelle-dev] quaternions

2018-06-18 Thread Lawrence Paulson
I have just formalised most of the HOL Light development of quaternions. It's a 
great advertisement for type classes: showing that quaternions constitute a 
real normed division algebra and an inner product space supersedes most of the 
HOL Light proofs (many files), which are devoted to developing the arithmetic 
and topological properties of quaternions. In the course of this, I also ported 
the HOL Light development of the three-dimensional vector cross product.

So where does this material belong? Arguably not in Analysis, which is already 
too large.

Another question: I did not port the quaternion material relating to the 
constant reflect_along, which is defined as follows:

(* Reflection of a vector about 0 along a line. *)

let reflect_along = new_definition
 `reflect_along v (x:real^N) = x - (&2 * (x dot v) / (v dot v)) % v`;;

Is this concept useful, and if so, where does it belong?

Larry

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev