src/Tools/isac/Knowledge/Isac.thy
author Walther Neuper <neuper@ist.tugraz.at>
Fri, 10 Sep 2010 11:58:46 +0200
branchisac-update-Isa09-2
changeset 38002 10a171ce75d5
parent 37965 9c11005c33b8
child 38003 0c3e2329eb5f
permissions -rw-r--r--
intermediate in Knowledge/Isac.thy

adapted all code to Theory.axioms_of, which returns terms instead of thms
Isac.thy not finished
neuper@37906
     1
(* theory collecting all knowledge defined so far
neuper@37906
     2
   WN.11.00
neuper@37906
     3
 *)
neuper@37906
     4
neuper@37954
     5
theory Isac imports PolyMinus PolyEq Vect DiffApp Biegelinie AlgEin
neuper@37954
     6
       (*InsSort +*) Test begin
neuper@37906
     7
neuper@37954
     8
text {* dependencies alternative to those defined by R.Lang during his thesis:
neuper@37906
     9
neuper@37906
    10
   Poly				Root
neuper@37906
    11
     |\__________		 |
neuper@37906
    12
     |		 \ 		 |
neuper@37906
    13
     |		Rational	 |
neuper@37906
    14
     |		  |		 |
neuper@37906
    15
   PolyEq	RatEq		RootEq
neuper@37906
    16
      \         /  \           /
neuper@37906
    17
       \       /    \         /
neuper@37906
    18
	RatPolyEq    RatRootEq    etc.
neuper@37954
    19
*}
neuper@37954
    20
neuper@37954
    21
ML {*
neuper@37954
    22
(**.set up a list for getting guh + theID for a thm (defined in isabelle).**)
neuper@37954
    23
neuper@38002
    24
(*local*)
neuper@38002
    25
    val allthys = Theory.ancestors_of @{theory};            (*116*)
neuper@38002
    26
    val isabthys = Theory.ancestors_of first_isac_thy;      (* 86; isa02:58*)
neuper@38002
    27
    val isacthys = subtract Theory.eq_thy isabthys allthys; (* 30*)
neuper@38002
    28
*}
neuper@38002
    29
ML {*
neuper@38002
    30
    val isacrlsthms = ((map (apsnd prop_of)) o
neuper@38002
    31
                       (gen_distinct eq_thmI) o (map rep_thm_G') o flat o 
neuper@37954
    32
		       (map (thms_of_rls o #2 o #2))) (!ruleset');
neuper@38002
    33
*}
neuper@38002
    34
ML {*
neuper@38002
    35
    val isacthms = 
neuper@38002
    36
              (flat o (map Theory.axioms_of)) isacthys : (thmID * term) list; 
neuper@38002
    37
                       
neuper@38002
    38
*}
neuper@38002
    39
neuper@38002
    40
ML {*
neuper@38002
    41
(*in*)
neuper@38002
    42
    val rlsthmsNOTisac = gen_diff eq_thmI' (isacrlsthms, isacthms);
neuper@38002
    43
(*end;*)
neuper@38002
    44
*}
neuper@38002
    45
neuper@38002
    46
ML {*
neuper@38002
    47
make_isab;
neuper@38002
    48
collect_thydata;
neuper@38002
    49
term2xml;
neuper@38002
    50
*}
neuper@38002
    51
ML {*
neuper@37954
    52
neuper@37954
    53
(*.set up the list using 'val first_isac_thy' (see ListC.ML).*)
neuper@38002
    54
isab_thm_thy := make_isab rlsthmsNOTisac isabthys;
neuper@38002
    55
*}
neuper@38002
    56
neuper@38002
    57
ML {*
neuper@37954
    58
neuper@37954
    59
neuper@37954
    60
(*.create the hierarchy of theory elements from IsacKnowledge
neuper@37954
    61
   including thms from Isabelle used in rls;
neuper@37954
    62
   elements store_*d in any *.ML are not overwritten.*)
neuper@37954
    63
neuper@37954
    64
thehier := the_hier (!thehier) (collect_thydata ());
neuper@37954
    65
writeln("----------------------------------\n" ^
neuper@37954
    66
	"*** insert: not found ... IS OK : \n" ^
neuper@37954
    67
	"comes from fill_parents           \n" ^
neuper@37954
    68
	"----------------------------------\n");
neuper@37954
    69
*}
neuper@37954
    70
neuper@37954
    71
end