/usr/share/hol88-2.02.19940316/contrib/Z/arith-tools.ml is in hol88-contrib-source 2.02.19940316-14.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | %----------------------------------------------------------------------------%
% Some tools for use with the `arith` library. %
%----------------------------------------------------------------------------%
%----------------------------------------------------------------------------%
% Prove that the assumption imply a given term, and then rewrite with it. %
%----------------------------------------------------------------------------%
let ASM_ARITH_THEN t ttac =
ASSUM_LIST
(\thl.
ttac
(REWRITE_RULE
thl
(ARITH_CONV
(mk_imp(list_mk_conj(filter is_presburger (map concl thl)),t)))));;
let ASM_ARITH_REWRITE_TAC t = ASM_ARITH_THEN t (\th. REWRITE_TAC[th]);;
%----------------------------------------------------------------------------%
% Try to prove goal using ARITH_TAC. %
%----------------------------------------------------------------------------%
let ARITH_TAC = CONV_TAC ARITH_CONV;;
let ARITH_PROVE = EQT_ELIM o ARITH_CONV;;
let ASM_ARITH_TAC =
ASSUM_LIST(\thl. MAP_EVERY UNDISCH_TAC (map concl thl))
THEN ARITH_TAC;;
|