make-all
author lcp
Thu, 12 Jan 1995 03:00:38 +0100
changeset 849 013a16d3addb
parent 262 024b242bc26f
permissions -rwxr-xr-x
Proved equivalence of Ord and Ord_alt. Proved ordertype_eq_imp_ord_iso, le_well_ord_Memrel, le_ordertype_Memrel, lt_oadd1, oadd_le_self, bij_0_sum, oadd_0, oadd_assoc, id_ord_iso_Memrel, ordertype_0. Now well_ord_Memrel follows from le_well_ord_Memrel and ordertype_Memrel follows from le_ordertype_Memrel. Proved simpler versions of Krzysztof's theorems Ord_oadd, ordertype_pred_subset, ordertype_pred_lt, ordertype_pred_unfold, bij_sum_0, bij_sum_succ, ordertype_sum_Memrel, lt_oadd_disj, oadd_inject. Deleted ordertype_subset: subsumed by ordertype_pred_unfold. Proved ordinal multiplication theorems Ord_omult, lt_omult, omult_oadd_lt, omult_unfold, omult_0, omult_0_left, omult_1, omult_1_left, oadd_omult_distrib, omult_succ, omult_assoc, omult_UN, omult_Limit, lt_omult1, omult_le_self, omult_le_mono1, omult_lt_mono2, omult_le_mono2, omult_le_mono, omult_lt_mono, omult_le_self2, omult_inject.

#! /bin/sh
#
#make-all: make all systems afresh

# Creates gzipped log files called makeNNNN.log.gz on each subdirectory and
# displays the last few lines of these files -- this indicates whether
# the "make" failed (whether it terminated due to an error)

# switches are
#     -noforce	don't delete old databases/images first
#     -clean	delete databases/images after use (leaving Pure)
#     -notest	make databases/images w/o running the examples
#     -noexec	don't execute, just check settings and Makefiles

#Environment variables required:
# ISABELLEBIN: the directory to hold Poly/ML databases or New Jersey ML images
# ISABELLECOMP: the ML compiler

# A typical shell script for /bin/sh is...
# ML_DBASE=/usr/groups/theory/poly2.04/`arch`/ML_dbase
# ISABELLEBIN=/homes/`whoami`/bin
# ISABELLECOMP="poly -noDisplay"
# export ML_DBASE ISABELLEBIN ISABELLECOMP 
# nohup make-all $*

set -e			#fail immediately upon errors

# process command line switches
CLEAN="off";
FORCE="on";
TEST="test";
EXEC="on";
NO="";
for A in $*
do
	case $A in
	-clean) CLEAN="on" ;;
	-noforce) FORCE="off" ;;
	-notest) TEST="" ;;
	-noexec) EXEC="off"
                 NO="-n" ;;
	*)	echo "Bad flag for make-all: $A"
		echo "Usage: make-all [-noforce] [-clean] [-notest] [-noexec]"
		exit ;;
	esac
done

echo Started at `date`
echo Source=`pwd`
echo Destination=${ISABELLEBIN?'No destination directory specified'}
echo force=$FORCE '    ' clean=$CLEAN '    '
echo Compiler=${ISABELLECOMP?'No compiler specified'} 
echo Running on `hostname`
echo Log files will be called make$$.log.gz

case $FORCE.$EXEC in
    on.on) (cd $ISABELLEBIN; rm -f Pure FOL ZF CCL LCF CTT LK Modal HOL HOLCF Cube FOLP)
esac

set +e			#no longer fail upon errors -- e.g. if a "make" fails

echo
echo
echo '*****Pure Isabelle*****'
(cd Pure; make $NO > make$$.log)
tail Pure/make$$.log
gzip Pure/make$$.log

echo
echo
echo '*****First-Order Logic (FOL)*****'
(cd FOL;  make $NO $TEST > make$$.log)
tail FOL/make$$.log
gzip FOL/make$$.log
#cannot delete FOL yet... it is needed for ZF, CCL and LCF!

echo
echo
echo '*****Set theory (ZF)*****'
(cd ZF;  make $NO $TEST > make$$.log)
tail ZF/make$$.log
gzip ZF/make$$.log
case $CLEAN.$EXEC in
    on.on)	rm $ISABELLEBIN/ZF
esac

echo
echo
echo '*****Classical Computational Logic (CCL)*****'
(cd CCL;  make $NO $TEST > make$$.log)
tail CCL/make$$.log
gzip CCL/make$$.log
case $CLEAN.$EXEC in
    on.on)	rm $ISABELLEBIN/CCL
esac

echo
echo
echo '*****Domain Theory (LCF)*****'
(cd LCF;  make $NO $TEST > make$$.log)
tail LCF/make$$.log
gzip LCF/make$$.log
case $CLEAN.$EXEC in
    on.on)	rm $ISABELLEBIN/FOL $ISABELLEBIN/LCF
esac

echo
echo
echo '*****Constructive Type Theory (CTT)*****'
(cd CTT;  make $NO $TEST > make$$.log)
tail CTT/make$$.log
gzip CTT/make$$.log
case $CLEAN.$EXEC in
    on.on)	rm $ISABELLEBIN/CTT
esac

echo
echo
echo '*****Classical Sequent Calculus (LK)*****'
(cd LK;  make $NO $TEST > make$$.log)
tail LK/make$$.log
gzip LK/make$$.log
#cannot delete LK yet... it is needed for Modal!

echo
echo
echo '*****Modal logic (Modal)*****'
(cd Modal;  make $NO $TEST > make$$.log)
tail Modal/make$$.log
gzip Modal/make$$.log
case $CLEAN.$EXEC in
    on.on)	rm $ISABELLEBIN/LK $ISABELLEBIN/Modal
esac

echo
echo
echo '*****Higher-Order Logic (HOL)*****'
(cd HOL;  make $NO $TEST > make$$.log)
tail HOL/make$$.log
gzip HOL/make$$.log
#cannot delete HOL yet... it is needed for HOLCF!

echo
echo
echo '*****LCF in HOL (HOLCF)*****'
(cd HOLCF;  make $NO $TEST > make$$.log)
tail HOLCF/make$$.log
gzip HOLCF/make$$.log
case $CLEAN.$EXEC in
    on.on)	rm $ISABELLEBIN/HOL $ISABELLEBIN/HOLCF
esac

echo
echo
echo '*****The Lambda-Cube (Cube)*****'
(cd Cube;  make $NO $TEST > make$$.log)
case $CLEAN.$EXEC in
    on.on)	rm $ISABELLEBIN/Cube
esac
tail Cube/make$$.log 
gzip Cube/make$$.log 

echo
echo
echo '*****First-Order Logic with Proof Terms (FOLP)*****'
(cd FOLP;  make $NO $TEST > make$$.log)
case $CLEAN.$EXEC in
    on.on)	rm $ISABELLEBIN/FOLP
esac
tail FOLP/make$$.log 
gzip FOLP/make$$.log 

case $TEST.$EXEC in
    test.on)	echo
	        echo '***** Now check the dates on the "test" files *****'
        	ls -lrt FOL/test ZF/test CCL/test LCF/test CTT/test\
              	        LK/test Modal/test HOL/test HOLCF/test Cube/test\
                        FOLP/test
esac
echo Finished at `date`