src/Tools/isac/Knowledge/Isac.thy
author Walther Neuper <neuper@ist.tugraz.at>
Thu, 11 Jul 2013 16:58:31 +0200
changeset 48895 35751d90365e
parent 48884 b933b88a268a
child 55418 4e05cee354a9
permissions -rw-r--r--
end of improving tests for isac on Isabelle2012

improvements:
# reactivated tests for error patterns, fill patterns
# reasons for outcommented test are given as much as possible,
see subsubsection {* State of tests *} in Test_Isac.thy
# detailed "Plans for updating isac from Isabelle2011 to Isabelle2012 and Isabelle2013"
in Build_Thydata.thy

remaining deficiencies:
# Counting "error in kernel" for Frontend/interface.sml (the tests considered most significant)
yields 69 hits, some of which were already present before Isabelle2002-->2009-2
# many tests are still outcommented; reactivation would require comparison
with isac on Isabelle2002 on an old notebook in many cases.
     1 (* theory collecting all knowledge defined so far
     2    WN.11.00
     3  *)
     4 
     5 theory Isac 
     6 imports "~~/src/Tools/isac/Frontend/Frontend"
     7   PolyMinus PolyEq Vect DiffApp Biegelinie AlgEin (*InsSort +*) 
     8   DiophantEq Inverse_Z_Transform Test
     9   (*THIS WAITS UNITL Isabelle2013 (? how include into dependency graph?).....
    10   ..... GCD_Poly_FP*)
    11 begin
    12 
    13 text {* dependencies alternative to those defined by R.Lang during his thesis:
    14 
    15    Poly				Root
    16      |\__________		 |
    17      |		 \ 		 |
    18      |		Rational	 |
    19      |		  |		 |
    20    PolyEq	RatEq		RootEq
    21       \         /  \           /
    22        \       /    \         /
    23 	RatPolyEq    RatRootEq    etc.
    24 *}
    25 
    26 ML {* val version_isac = "isac version 120504 15:33"; *}
    27 
    28 ML {* (* there are strange dependencies between tests:
    29          insert_fillpats in test/../thy_hierarchy.sml affects subsequent tests,
    30          see changeset 58e0a39e58b7.
    31          This function checks for data in ! mets, ! thehier set in Build_Thydata.thy *)
    32 
    33 fun check_unsynchronized_ref () =
    34   let
    35     val met = get_met ["diff","differentiate_on_R"];
    36     val {errpats, ...} = met;
    37     val hthm = get_the ["IsacKnowledge", "Diff", "Theorems", "diff_sin_chain"];
    38     val Hthm {fillpats, ...} = hthm;
    39     val hrls = get_the ["IsacKnowledge", "Diff", "Rulesets", "norm_diff"];
    40     val Hrls {thy_rls = (thyID, rls), ...} = hrls
    41     val Rls {errpatts, ...} = rls;
    42   in
    43     case errpats of
    44       ("chain-rule-diff-both", _ :: _,_ :: _) :: _ => writeln "----- errpats original"
    45     | _ => writeln "##### errpats changed";
    46     case fillpats of
    47       ("fill-d_d-arg", _, "chain-rule-diff-both") :: ("fill-both-args", _, "chain-rule-diff-both") :: _ 
    48         => writeln "----- fillpats original"
    49     | _ => writeln "##### fillpats changed";
    50     case errpatts of 
    51       ["chain-rule-diff-both", "cancel"] => writeln "----- errpatIDs original"
    52     | _ => writeln "##### errpatIDs changed"
    53   end;
    54 *}
    55 
    56 end