src/Tools/isac/Knowledge/Isac.ML
author Walther Neuper <neuper@ist.tugraz.at>
Wed, 25 Aug 2010 16:20:07 +0200
branchisac-update-Isa09-2
changeset 37947 22235e4dbe5f
parent 37936 src/Tools/isac/IsacKnowledge/Isac.ML@8de0b6207074
child 37952 9ddd1000b900
permissions -rw-r--r--
renamed isac's directories and Build_Isac.thy

Scripts --> ProgLang
ME --> Interpret
IsacKnowledge --> Knowledge
neuper@37906
     1
(* collect all knowledge defined in theories so far
neuper@37906
     2
   author: Walther Neuper 0003
neuper@37906
     3
   (c) isac-team
neuper@37906
     4
neuper@37947
     5
use"Knowledge/Isac.ML";
neuper@37906
     6
use"Isac.ML";
neuper@37906
     7
 *)
neuper@37906
     8
neuper@37906
     9
neuper@37906
    10
theory' := overwritel (!theory', [("Isac.thy",Isac.thy)]);
neuper@37906
    11
neuper@37906
    12
neuper@37906
    13
(**.set up a list for getting guh + theID for a thm (defined in isabelle).**)
neuper@37906
    14
neuper@37906
    15
(*.get all theorems used by isac and defined in isabelle.*)
neuper@37906
    16
local
neuper@37906
    17
    val isacrlsthms = ((gen_distinct eq_thmI) o (map rep_thm_G') o flat o 
neuper@37906
    18
		       (map (thms_of_rls o #2 o #2))) (!ruleset');
neuper@37936
    19
    val isacthms = (flat o (map (PureThy.all_thms_of o #2))) (!theory');
neuper@37906
    20
in
neuper@37906
    21
    val rlsthmsNOTisac = gen_diff eq_thmI (isacrlsthms, isacthms);
neuper@37906
    22
end;
neuper@37906
    23
neuper@37947
    24
(*.set up the list using 'val first_isac_thy' (see ListC.ML).*)
neuper@37906
    25
isab_thm_thy := make_isab rlsthmsNOTisac
neuper@37906
    26
			  ((#ancestors o rep_theory) first_isac_thy);
neuper@37906
    27
neuper@37906
    28
neuper@37906
    29
(*.create the hierarchy of theory elements from IsacKnowledge
neuper@37906
    30
   including thms from Isabelle used in rls;
neuper@37906
    31
   elements store_*d in any *.ML are not overwritten.*)
neuper@37906
    32
neuper@37906
    33
thehier := the_hier (!thehier) (collect_thydata ());
neuper@37906
    34
writeln("----------------------------------\n\
neuper@37906
    35
	\*** insert: not found ... IS OK : \n\
neuper@37906
    36
	\comes from fill_parents           \n\
neuper@37906
    37
	\----------------------------------\n");