remove Hyperreal/fuf.ML
authorhuffman
Thu, 14 Dec 2006 22:19:39 +0100
changeset 21857 f9d085c2625c
parent 21856 f44628fb2033
child 21858 05f57309170c
remove Hyperreal/fuf.ML
src/HOL/Hyperreal/fuf.ML
src/HOL/IsaMakefile
--- a/src/HOL/Hyperreal/fuf.ML	Thu Dec 14 22:18:08 2006 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-(*  Title       : HOL/Hyperreal/fuf.ML
-    ID          : $Id$
-    Author      : Jacques D. Fleuriot
-    Copyright   : 1998  University of Cambridge
-                  1999  University of Edinburgh
-
-Simple tactics to help proofs involving our free ultrafilter
-(FreeUltrafilterNat). We rely on the fact that filters satisfy the
-finite intersection property.
-*)
-
-val FreeUltrafilterNat_empty = thm "FreeUltrafilterNat_empty";
-val FreeUltrafilterNat_subset = thm "FreeUltrafilterNat_subset";
-val FreeUltrafilterNat_Compl_mem = thm "FreeUltrafilterNat_Compl_mem";
-val FreeUltrafilterNat_Int = thm "FreeUltrafilterNat_Int";
-
-local
-
-exception FUFempty;
-
-fun get_fuf_hyps [] zs = zs
-|   get_fuf_hyps (x::xs) zs =
-        case (concl_of x) of
-        (_ $ (Const ("Not",_) $ (Const ("op :",_) $ _ $
-             Const ("StarDef.FreeUltrafilterNat",_)))) =>  get_fuf_hyps xs
-                                              ((x RS FreeUltrafilterNat_Compl_mem)::zs)
-       |(_ $ (Const ("op :",_) $ _ $
-             Const ("StarDef.FreeUltrafilterNat",_)))  =>  get_fuf_hyps xs (x::zs)
-       | _ => get_fuf_hyps xs zs;
-
-fun inter_prems [] = raise FUFempty
-|   inter_prems [x] = x
-|   inter_prems (x::y::ys) =
-      inter_prems (([x,y] MRS FreeUltrafilterNat_Int) :: ys);
-
-in
-
-(*---------------------------------------------------------------
-   solves goals of the form
-    [| A1: FUF; A2: FUF; ...; An: FUF |] ==> B : FUF
-   where A1 Int A2 Int ... Int An <= B
- ---------------------------------------------------------------*)
-
-fun fuf_tac css i = METAHYPS(fn prems =>
-                    (rtac ((inter_prems (get_fuf_hyps prems [])) RS
-                           FreeUltrafilterNat_subset) 1) THEN
-                    auto_tac css) i;
-
-fun Fuf_tac i = fuf_tac (clasimpset ()) i;
-
-
-(*---------------------------------------------------------------
-   solves goals of the form
-    [| A1: FUF; A2: FUF; ...; An: FUF |] ==> P
-   where A1 Int A2 Int ... Int An <= {} since {} ~: FUF
-   (i.e. uses fact that FUF is a proper filter)
- ---------------------------------------------------------------*)
-
-fun fuf_empty_tac css i = METAHYPS (fn prems =>
-  rtac ((inter_prems (get_fuf_hyps prems [])) RS
-    (FreeUltrafilterNat_subset RS (FreeUltrafilterNat_empty RS notE))) 1
-                     THEN auto_tac css) i;
-
-fun Fuf_empty_tac i = fuf_empty_tac (clasimpset ()) i;
-
-
-(*---------------------------------------------------------------
-   In fact could make this the only tactic: just need to
-   use contraposition and then look for empty set.
- ---------------------------------------------------------------*)
-
-fun ultra_tac css i = rtac ccontr i THEN fuf_empty_tac css i;
-fun Ultra_tac i = ultra_tac (clasimpset ()) i;
-
-end;
--- a/src/HOL/IsaMakefile	Thu Dec 14 22:18:08 2006 +0100
+++ b/src/HOL/IsaMakefile	Thu Dec 14 22:19:39 2006 +0100
@@ -170,7 +170,7 @@
   Hyperreal/NSA.thy Hyperreal/NthRoot.thy Hyperreal/Poly.thy			\
   Hyperreal/SEQ.thy Hyperreal/Series.thy Hyperreal/Star.thy			\
   Hyperreal/Taylor.thy Hyperreal/FrechetDeriv.thy Hyperreal/Deriv.thy		\
-  Hyperreal/Transcendental.thy Hyperreal/fuf.ML Hyperreal/hypreal_arith.ML	\
+  Hyperreal/Transcendental.thy Hyperreal/hypreal_arith.ML			\
   Complex/Complex_Main.thy Complex/CLim.thy Complex/CSeries.thy			\
   Complex/CStar.thy Complex/Complex.thy Complex/ComplexBin.thy			\
   Complex/NSCA.thy Complex/NSComplex.thy Complex/document/root.tex 		\