wenzelm [Mon, 03 Oct 2016 17:23:33 +0200] rev 64022
clarified cold-start environment;
wenzelm [Mon, 03 Oct 2016 16:50:29 +0200] rev 64021
basic setup for Admin/build_history -- outside of Isabelle environment;
wenzelm [Mon, 03 Oct 2016 16:15:59 +0200] rev 64020
clarified: a variant of -i is the default, but its output is not as precise as it might seem;
nipkow [Wed, 05 Oct 2016 21:27:21 +0200] rev 64019
merged
nipkow [Wed, 05 Oct 2016 20:01:05 +0200] rev 64018
replaced floorlog by floor/ceiling(log .)
fleury <Mathias.Fleury@mpi-inf.mpg.de> [Wed, 05 Oct 2016 20:12:56 +0200] rev 64017
more multiset simp rules
fleury <Mathias.Fleury@mpi-inf.mpg.de> [Wed, 05 Oct 2016 14:28:22 +0200] rev 64016
tuned proof -- much faster
haftmann [Mon, 03 Oct 2016 14:37:06 +0200] rev 64015
proof of concept for algebraically founded word types
haftmann [Mon, 03 Oct 2016 14:34:32 +0200] rev 64014
more lemmas
haftmann [Mon, 03 Oct 2016 14:34:31 +0200] rev 64013
option to report results of solve_direct as explicit warnings
haftmann [Mon, 03 Oct 2016 14:34:30 +0200] rev 64012
modernized option
haftmann [Mon, 03 Oct 2016 14:34:29 +0200] rev 64011
CONTRIBUTORS
hoelzl [Mon, 03 Oct 2016 18:19:24 +0200] rev 64010
Probability: move some theorems from AFP/Density_Compiler
hoelzl [Mon, 03 Oct 2016 15:46:08 +0200] rev 64009
Probability: variant of central limit theorem with non-zero mean
hoelzl [Fri, 30 Sep 2016 16:08:38 +0200] rev 64008
HOL-Probability: more about probability, prepare for Markov processes in the AFP
paulson <lp15@cam.ac.uk> [Mon, 03 Oct 2016 14:09:26 +0100] rev 64007
Merge
paulson <lp15@cam.ac.uk> [Mon, 03 Oct 2016 13:01:01 +0100] rev 64006
new theorems including the theory FurtherTopology
wenzelm [Mon, 03 Oct 2016 12:39:03 +0200] rev 64005
clarified magic values (see also java/io/BufferedInputStream.java);
wenzelm [Mon, 03 Oct 2016 12:28:36 +0200] rev 64004
clarified stream operations;
added XZ data compression;
wenzelm [Mon, 03 Oct 2016 12:24:22 +0200] rev 64003
tuned signature;
wenzelm [Mon, 03 Oct 2016 10:51:51 +0200] rev 64002
clarified modules;
afford explicit string composition in terminate_lines;
wenzelm [Mon, 03 Oct 2016 10:49:27 +0200] rev 64001
more general read_stream: return actual byte count;
wenzelm [Sun, 02 Oct 2016 22:05:40 +0200] rev 64000
clarified modules;
wenzelm [Sun, 02 Oct 2016 21:05:14 +0200] rev 63999
more operations;
wenzelm [Sun, 02 Oct 2016 20:06:57 +0200] rev 63998
more operations;
wenzelm [Sun, 02 Oct 2016 19:47:18 +0200] rev 63997
more formal Mercurial support (with the potential to upgrade to command server);
wenzelm [Sun, 02 Oct 2016 19:36:57 +0200] rev 63996
tuned whitespace;
wenzelm [Sun, 02 Oct 2016 17:05:48 +0200] rev 63995
added isabelle_java cold-start executable;
wenzelm [Sun, 02 Oct 2016 15:35:56 +0200] rev 63994
updated according to 85c83757788c;
wenzelm [Sun, 02 Oct 2016 14:37:50 +0200] rev 63993
eliminated hard tabs;
wenzelm [Sun, 02 Oct 2016 14:07:43 +0200] rev 63992
updated headers;
wenzelm [Sun, 02 Oct 2016 13:47:39 +0200] rev 63991
updated to sumatra_pdf-3.1.2;
wenzelm [Sun, 02 Oct 2016 13:26:57 +0200] rev 63990
updated to xz-java-1.5;
wenzelm [Sun, 02 Oct 2016 12:50:46 +0200] rev 63989
updated cygwin according to 9416333a17c2, still using old 1.7.35-1;
wenzelm [Sun, 02 Oct 2016 12:32:33 +0200] rev 63988
tuned;
wenzelm [Sun, 02 Oct 2016 12:29:18 +0200] rev 63987
just one option is enough -- "isabelle jedit" java process may be prefixed directly in the shell;
wenzelm [Sat, 01 Oct 2016 23:05:25 +0200] rev 63986
options for process policy, notably for multiprocessor machines;
wenzelm [Sat, 01 Oct 2016 20:59:09 +0200] rev 63985
tuned;
wenzelm [Sat, 01 Oct 2016 20:58:59 +0200] rev 63984
tuned messages -- facilitate copy-paste;
wenzelm [Sat, 01 Oct 2016 20:03:17 +0200] rev 63983
merged
wenzelm [Sat, 01 Oct 2016 19:30:21 +0200] rev 63982
tuned;
wenzelm [Sat, 01 Oct 2016 19:29:48 +0200] rev 63981
tuned proofs;
wenzelm [Sat, 01 Oct 2016 17:38:14 +0200] rev 63980
Isar proof of Schroeder_Bernstein without using Hilbert_Choice (and metis);
wenzelm [Sat, 01 Oct 2016 17:16:35 +0200] rev 63979
clarified lfp/gfp statements and proofs;
Lars Hupel <lars.hupel@mytum.de> [Sat, 01 Oct 2016 15:21:43 +0200] rev 63978
repair LaTeX
wenzelm [Sat, 01 Oct 2016 12:03:27 +0200] rev 63977
misc tuning for release;
wenzelm [Sat, 01 Oct 2016 11:14:00 +0200] rev 63976
added lemma;
paulson <lp15@cam.ac.uk> [Fri, 30 Sep 2016 17:12:50 +0100] rev 63975
Trying out "subgoal", and no more [| |]
hoelzl [Fri, 30 Sep 2016 15:51:43 +0200] rev 63974
HOL-Analysis: fix latex generation
hoelzl [Fri, 30 Sep 2016 15:35:46 +0200] rev 63973
Probability: fix proof
hoelzl [Fri, 30 Sep 2016 15:35:43 +0200] rev 63972
Library: fix name Product_plus to Product_Plus
hoelzl [Fri, 30 Sep 2016 15:35:37 +0200] rev 63971
HOL-Analysis: move Product_Vector and Inner_Product from Library
hoelzl [Fri, 30 Sep 2016 15:35:32 +0200] rev 63970
HOL-Analysis: move Continuum_Not_Denumerable from Library
hoelzl [Fri, 30 Sep 2016 12:00:17 +0200] rev 63969
HOL-Analysis: move Library/Convex to Convex_Euclidean_Space
hoelzl [Fri, 30 Sep 2016 11:35:39 +0200] rev 63968
HOL-Analysis: the image of a negligible set under a Lipschitz continuous function is negligible (based on HOL Light proof ported by L. C. Paulson)
paulson <lp15@cam.ac.uk> [Fri, 30 Sep 2016 14:05:51 +0100] rev 63967
new material on paths, etc. Also rationalisation
Manuel Eberl <eberlm@in.tum.de> [Fri, 30 Sep 2016 10:00:49 +0200] rev 63966
Merged
eberlm <eberlm@in.tum.de> [Thu, 29 Sep 2016 16:49:42 +0200] rev 63965
Set_Permutations replaced by more general Multiset_Permutations
boehmes [Thu, 29 Sep 2016 20:54:46 +0200] rev 63964
CONTRIBUTORS: new proof method "argo"
boehmes [Thu, 29 Sep 2016 20:54:45 +0200] rev 63963
NEWS: new proof method "argo"
boehmes [Thu, 29 Sep 2016 20:54:45 +0200] rev 63962
use argo as additional SAT solver with models but no proofs, since the proof trace formats are not easily translatable
boehmes [Thu, 29 Sep 2016 20:54:45 +0200] rev 63961
invoke argo as part of the tried automatic proof methods
boehmes [Thu, 29 Sep 2016 20:54:44 +0200] rev 63960
new proof method "argo" for a combination of quantifier-free propositional logic with equality and linear real arithmetic
hoelzl [Thu, 29 Sep 2016 18:52:34 +0200] rev 63959
HOL-Analysis: prove that a starlike set is negligible (based on HOL Light proof ported by L. C. Paulson)
hoelzl [Thu, 29 Sep 2016 13:54:57 +0200] rev 63958
HOL-Analysis: add measurable sets with finite measures, prove affine transformation rule for the Lebesgue measure
hoelzl [Thu, 29 Sep 2016 13:02:43 +0200] rev 63957
HOL-Analysis: move gauges and (tagged) divisions to its own theory file
hoelzl [Wed, 28 Sep 2016 16:15:51 +0200] rev 63956
HOL-Analysis: add cover lemma ported by L. C. Paulson
paulson <lp15@cam.ac.uk> [Thu, 29 Sep 2016 12:58:55 +0100] rev 63955
more new material
paulson <lp15@cam.ac.uk> [Thu, 29 Sep 2016 11:24:36 +0100] rev 63954
Generalised the type of map_poly
paulson <lp15@cam.ac.uk> [Wed, 28 Sep 2016 17:02:06 +0100] rev 63953
Merge
paulson <lp15@cam.ac.uk> [Wed, 28 Sep 2016 17:01:01 +0100] rev 63952
new material connected with HOL Light measure theory, plus more rationalisation
Lars Hupel <lars.hupel@mytum.de> [Wed, 28 Sep 2016 14:48:46 +0200] rev 63951
sequential (jobs = 1) makeall profile
haftmann [Mon, 26 Sep 2016 07:56:54 +0200] rev 63950
syntactic type class for operation mod named after mod;
simplified assumptions of type class semiring_div
haftmann [Mon, 26 Sep 2016 07:56:54 +0200] rev 63949
dropped tautological pattern
haftmann [Mon, 26 Sep 2016 07:56:54 +0200] rev 63948
more warning comments
haftmann [Mon, 26 Sep 2016 07:56:54 +0200] rev 63947
more lemmas
haftmann [Mon, 26 Sep 2016 07:56:53 +0200] rev 63946
spelling
paulson <lp15@cam.ac.uk> [Tue, 27 Sep 2016 16:24:53 +0100] rev 63945
a few new theorems and a renaming
hoelzl [Mon, 26 Sep 2016 16:57:05 +0200] rev 63944
use filter to define Henstock-Kurzweil integration
Lars Hupel <lars.hupel@mytum.de> [Sat, 24 Sep 2016 15:56:54 +0200] rev 63943
include generation time in statistics
Lars Hupel <lars.hupel@mytum.de> [Sat, 24 Sep 2016 15:33:55 +0200] rev 63942
CI script to generate timing statistics
hoelzl [Fri, 23 Sep 2016 18:34:34 +0200] rev 63941
move absolutely_integrable_on to Equivalence_Lebesgue_Henstock_Integration, now based on the Lebesgue integral
hoelzl [Fri, 23 Sep 2016 10:26:04 +0200] rev 63940
prove HK-integrable implies Lebesgue measurable; prove HK-integral equals Lebesgue integral for nonneg functions
paulson <lp15@cam.ac.uk> [Thu, 22 Sep 2016 15:56:37 +0100] rev 63939
Merge
paulson <lp15@cam.ac.uk> [Thu, 22 Sep 2016 15:44:47 +0100] rev 63938
More mainly topological results
wenzelm [Thu, 22 Sep 2016 15:41:47 +0200] rev 63937
merged
wenzelm [Thu, 22 Sep 2016 11:25:27 +0200] rev 63936
discontinued raw symbols;
discontinued Symbol.source;
use initial Symbol.explode;
wenzelm [Thu, 22 Sep 2016 00:12:17 +0200] rev 63935
raw control symbols are superseded by Latex.embed_raw;
wenzelm [Wed, 21 Sep 2016 22:44:24 +0200] rev 63934
\<^raw> output is intended for LaTeX;
wenzelm [Wed, 21 Sep 2016 22:43:06 +0200] rev 63933
more general mixfix delimiters;
wenzelm [Wed, 21 Sep 2016 20:33:44 +0200] rev 63932
more tight implementation of symbol explode operation (without support for raw symbols);
immler [Wed, 21 Sep 2016 17:56:25 +0200] rev 63931
approximation: preprocessing for nat/int expressions
immler [Wed, 21 Sep 2016 17:56:25 +0200] rev 63930
provide more information on error
immler [Wed, 21 Sep 2016 17:56:25 +0200] rev 63929
approximation: rewrite for reduction to base expressions
paulson <lp15@cam.ac.uk> [Wed, 21 Sep 2016 16:59:51 +0100] rev 63928
new material about topological concepts, etc
paulson <lp15@cam.ac.uk> [Wed, 21 Sep 2016 14:20:07 +0100] rev 63927
vector_add_divide_simps now a "named theorems" bundle
wenzelm [Tue, 20 Sep 2016 22:31:50 +0200] rev 63926
tuned -- fewer warnings;
wenzelm [Tue, 20 Sep 2016 22:29:51 +0200] rev 63925
avoid old SML90;
haftmann [Sun, 18 Sep 2016 17:57:55 +0200] rev 63924
more generic algebraic lemmas
eberlm <eberlm@in.tum.de> [Tue, 20 Sep 2016 14:51:58 +0200] rev 63923
NEWS: Normalized_Fraction.thy
eberlm <eberlm@in.tum.de> [Tue, 20 Sep 2016 11:35:10 +0200] rev 63922
Merged
eberlm <eberlm@in.tum.de> [Mon, 19 Sep 2016 17:37:22 +0200] rev 63921
Additions to permutations (contributed by Lukas Bulwahn)
kuncar [Mon, 19 Sep 2016 23:14:34 +0200] rev 63920
resolve the name clash of HOL/Library/FSet and HOL/Quotient_Examples/FSet
fleury <Mathias.Fleury@mpi-inf.mpg.de> [Mon, 19 Sep 2016 20:07:39 +0200] rev 63919
# after multiset intersection and union symbol
fleury <Mathias.Fleury@mpi-inf.mpg.de> [Mon, 19 Sep 2016 20:06:21 +0200] rev 63918
left_distrib ~> distrib_right, right_distrib ~> distrib_left
wenzelm [Mon, 19 Sep 2016 12:53:30 +0200] rev 63917
tuned;
wenzelm [Sun, 18 Sep 2016 21:06:24 +0200] rev 63916
merged
wenzelm [Sun, 18 Sep 2016 20:33:48 +0200] rev 63915
tuned proofs;
Lars Hupel <lars.hupel@mytum.de> [Sun, 18 Sep 2016 18:36:37 +0200] rev 63914
merged
Lars Hupel <lars.hupel@mytum.de> [Sun, 18 Sep 2016 18:23:59 +0200] rev 63913
tuned
wenzelm [Sun, 18 Sep 2016 17:59:28 +0200] rev 63912
clarified notation: iterated quantifier is negated as one chunk;
wenzelm [Sun, 18 Sep 2016 16:59:15 +0200] rev 63911
tuned proofs;
wenzelm [Sun, 18 Sep 2016 15:19:50 +0200] rev 63910
tuned;
wenzelm [Sun, 18 Sep 2016 15:16:42 +0200] rev 63909
clarified notation;
fleury <Mathias.Fleury@mpi-inf.mpg.de> [Sun, 18 Sep 2016 11:31:19 +0200] rev 63908
support replicate_mset in multiset simproc
fleury <Mathias.Fleury@mpi-inf.mpg.de> [Sun, 18 Sep 2016 11:31:18 +0200] rev 63907
tuning multiset simproc
Lars Hupel <lars.hupel@mytum.de> [Sat, 17 Sep 2016 11:41:13 +0200] rev 63906
repair LaTeX dropout from f83ef97d8d7d
haftmann [Fri, 16 Sep 2016 12:30:55 +0200] rev 63905
prefer abbreviation for trivial set conversion
haftmann [Fri, 16 Sep 2016 12:30:55 +0200] rev 63904
more lemmas
wenzelm [Fri, 16 Sep 2016 21:40:47 +0200] rev 63903
merged
wenzelm [Fri, 16 Sep 2016 21:35:19 +0200] rev 63902
more symbols -- as in the printed document;
wenzelm [Fri, 16 Sep 2016 21:28:09 +0200] rev 63901
more symbols;
Lars Hupel <lars.hupel@mytum.de> [Fri, 16 Sep 2016 18:44:18 +0200] rev 63900
tuned proofs
wenzelm [Fri, 16 Sep 2016 18:09:13 +0200] rev 63899
misc updates;
wenzelm [Fri, 16 Sep 2016 18:01:31 +0200] rev 63898
merged
wenzelm [Fri, 16 Sep 2016 17:12:39 +0200] rev 63897
consolidate implicit use of gnutar, via somewhat fragile dynamic scoping within existing shell scripts;
immler [Fri, 16 Sep 2016 17:37:41 +0200] rev 63896
merged
immler [Thu, 15 Sep 2016 16:07:20 +0200] rev 63895
Liminf/Limsup and filtermap
Lars Hupel <lars.hupel@mytum.de> [Fri, 16 Sep 2016 16:49:13 +0200] rev 63894
benchmark doesn't need to build documents
Lars Hupel <lars.hupel@mytum.de> [Fri, 16 Sep 2016 16:48:59 +0200] rev 63893
benchmark profile runs on small worker now (6 cores)
traytel [Fri, 16 Sep 2016 16:37:11 +0200] rev 63892
merged
traytel [Fri, 16 Sep 2016 16:33:24 +0200] rev 63891
NEWS
wenzelm [Fri, 16 Sep 2016 16:15:11 +0200] rev 63890
merged
wenzelm [Fri, 16 Sep 2016 15:56:56 +0200] rev 63889
serious measurements require jobs = 1;
wenzelm [Fri, 16 Sep 2016 15:54:50 +0200] rev 63888
sessions that are relevant for routine timing measurements;
wenzelm [Fri, 16 Sep 2016 15:21:21 +0200] rev 63887
more uniform completion of short word: exclude single character prefix but include two chracter prefix (see also 31633e503c17);
hoelzl [Fri, 16 Sep 2016 13:56:51 +0200] rev 63886
move Henstock-Kurzweil integration after Lebesgue_Measure; replace content by abbreviation measure lborel
Lars Hupel <lars.hupel@mytum.de> [Thu, 15 Sep 2016 22:41:05 +0200] rev 63885
new type for finite maps; use it in HOL-Probability
nipkow [Thu, 15 Sep 2016 19:31:17 +0200] rev 63884
adapted to listsum -> sum_list
nipkow [Thu, 15 Sep 2016 17:05:34 +0200] rev 63883
merged
nipkow [Thu, 15 Sep 2016 11:48:20 +0200] rev 63882
renamed listsum -> sum_list, listprod ~> prod_list
paulson <lp15@cam.ac.uk> [Thu, 15 Sep 2016 15:48:37 +0100] rev 63881
lots of new results about topology, affine dimension etc
paulson <lp15@cam.ac.uk> [Thu, 15 Sep 2016 14:33:55 +0100] rev 63880
Merge
paulson <lp15@cam.ac.uk> [Thu, 15 Sep 2016 14:14:49 +0100] rev 63879
simple new lemmas, mostly about sets
hoelzl [Thu, 15 Sep 2016 10:40:10 +0200] rev 63878
add add_eq_0_iff_both_eq_0 and zero_eq_add_iff_both_eq_0 to simp set
wenzelm [Thu, 15 Sep 2016 11:44:05 +0200] rev 63877
tuned;
wenzelm [Wed, 14 Sep 2016 22:07:11 +0200] rev 63876
merged
wenzelm [Wed, 14 Sep 2016 20:57:43 +0200] rev 63875
NEWS;
wenzelm [Wed, 14 Sep 2016 20:47:17 +0200] rev 63874
handle font-size events;
wenzelm [Wed, 14 Sep 2016 19:44:08 +0200] rev 63873
clarified GUI representation of replacement texts with zero or more abbrevs;
wenzelm [Wed, 14 Sep 2016 17:14:56 +0200] rev 63872
handle update events;
tuned;
wenzelm [Wed, 14 Sep 2016 14:37:38 +0200] rev 63871
discontinued global etc/abbrevs;
wenzelm [Wed, 14 Sep 2016 14:17:32 +0200] rev 63870
added abbrevs panel;
wenzelm [Wed, 14 Sep 2016 14:16:13 +0200] rev 63869
tuned;
wenzelm [Wed, 14 Sep 2016 14:07:09 +0200] rev 63868
more robust;
wenzelm [Wed, 14 Sep 2016 12:56:57 +0200] rev 63867
maintain abbrevs in canonical reverse order;
wenzelm [Wed, 14 Sep 2016 12:51:40 +0200] rev 63866
tuned;
wenzelm [Wed, 14 Sep 2016 12:12:44 +0200] rev 63865
tuned;
Lars Hupel <lars.hupel@mytum.de> [Wed, 14 Sep 2016 16:24:51 +0200] rev 63864
ignore default output directory of 'build_stats' tool
traytel [Tue, 13 Sep 2016 20:51:14 +0200] rev 63863
don't expose internal construction in the coinduction rule for mutual coinductive predicates
blanchet [Tue, 13 Sep 2016 16:23:12 +0200] rev 63862
union associates to the left
nipkow [Tue, 13 Sep 2016 11:31:30 +0200] rev 63861
reorganization, more funs and lemmas
nipkow [Tue, 13 Sep 2016 07:59:20 +0200] rev 63860
more lemmas
blanchet [Mon, 12 Sep 2016 23:17:55 +0200] rev 63859
make (co)induct component of 'fp_sugar' optional, for the benefit of nonuniform (co)datatypes and other similar extensions
wenzelm [Mon, 12 Sep 2016 20:31:28 +0200] rev 63858
tuned;
wenzelm [Mon, 12 Sep 2016 20:24:42 +0200] rev 63857
tuned -- fewer warnings;
blanchet [Mon, 12 Sep 2016 19:22:37 +0200] rev 63856
moved ML function
blanchet [Mon, 12 Sep 2016 17:32:09 +0200] rev 63855
NEWS
blanchet [Mon, 12 Sep 2016 17:10:35 +0200] rev 63854
strengthened tactic
blanchet [Mon, 12 Sep 2016 16:51:55 +0200] rev 63853
avoid warning triggered by code generator
blanchet [Mon, 12 Sep 2016 16:08:27 +0200] rev 63852
strengthened tactic
blanchet [Mon, 12 Sep 2016 13:35:29 +0200] rev 63851
prove 'set' property backward
fleury <Mathias.Fleury@mpi-inf.mpg.de> [Mon, 12 Sep 2016 09:29:25 +0200] rev 63850
more robust multiset simproc
fleury <Mathias.Fleury@mpi-inf.mpg.de> [Mon, 12 Sep 2016 08:23:59 +0200] rev 63849
delete looping simp rule
wenzelm [Mon, 12 Sep 2016 00:11:30 +0200] rev 63848
merged
wenzelm [Mon, 12 Sep 2016 00:11:20 +0200] rev 63847
tuned proofs;
wenzelm [Sun, 11 Sep 2016 23:30:23 +0200] rev 63846
tuned proofs;
blanchet [Sun, 11 Sep 2016 23:32:45 +0200] rev 63845
generalized code towards nonuniform (co)datatypes
nipkow [Sun, 11 Sep 2016 18:12:16 +0200] rev 63844
merged
nipkow [Sun, 11 Sep 2016 18:12:05 +0200] rev 63843
more simp rules
blanchet [Sun, 11 Sep 2016 15:37:09 +0200] rev 63842
strengthened tactics
blanchet [Sun, 11 Sep 2016 13:35:27 +0200] rev 63841
derive relator properties forward
blanchet [Sun, 11 Sep 2016 13:35:27 +0200] rev 63840
derive maps forward
blanchet [Sun, 11 Sep 2016 13:35:27 +0200] rev 63839
tuning
blanchet [Sun, 11 Sep 2016 13:35:27 +0200] rev 63838
tuning
blanchet [Sun, 11 Sep 2016 13:35:27 +0200] rev 63837
provide a mechanism for ensuring dead type variables occur in typedef if desired
blanchet [Sun, 11 Sep 2016 13:35:27 +0200] rev 63836
preserve order of dead variables
blanchet [Sun, 11 Sep 2016 13:35:25 +0200] rev 63835
tuning
wenzelm [Sun, 11 Sep 2016 00:14:44 +0200] rev 63834
tuned proofs;
wenzelm [Sun, 11 Sep 2016 00:14:37 +0200] rev 63833
misc tuning and modernization;
wenzelm [Sun, 11 Sep 2016 00:13:25 +0200] rev 63832
misc tuning and modernization;
nipkow [Sat, 10 Sep 2016 14:11:04 +0200] rev 63831
more simp