test/Tools/isac/ADDTESTS/accumulate-val/Thy_3.thy
author Walther Neuper <walther.neuper@jku.at>
Mon, 06 Apr 2020 11:44:36 +0200
changeset 59851 4dd533681fef
parent 59850 f3cac3053e7b
child 59852 ea7e6679080e
permissions -rw-r--r--
use "Rule_Set" for shorter identifiers
     1 theory Thy_3 imports Thy_2 Thy_2b begin
     2 
     3 ML \<open>val test_list_rls =
     4   Rule_Set.append_rls "test_list_rls" Rule_Set.e_rls [Rule.Thm ("not_def", @{thm not_def})]\<close>
     5 
     6 setup \<open>Test_KEStore_Elems.add_rlss (*already added in Thy_1.thy and Thy_2.thy*)
     7   [("test_list_rls", (Context.theory_name @{theory}, test_list_rls))]\<close>
     8 
     9 ML \<open>
    10   if length (Test_KEStore_Elems.get_rlss @{theory}) = 1 (*stored in 3 different theories*)
    11   then () else error "rls identified by string-identifier, not by theory: changed"
    12 
    13 (*test_ruleset' := overwritelthy @{theory} (! test_ruleset', [("test_list_rls", 
    14     append_rls "test_list_rls" test_list_rls [Num_Calc ("test_function", e_evalfn)])])*)
    15   ;
    16 (*if length (Test_KEStore_Elems.get_rlss @{theory}) = length (! test_ruleset')
    17   then () else error "Test_KEStore_Elems.get_rlss = test_ruleset': changed"*)
    18   ;
    19   val SOME (_, Rule_Set.Repeat {rules, ...}) =
    20     AList.lookup op= (Test_KEStore_Elems.get_rlss @{theory}) "test_list_rls"
    21   ;
    22   case rules of
    23     [Rule.Thm ("not_def", _)] => ()
    24   | _ => error "union rls_eq changed: 1st argument is NOT overwritten anymore"
    25   (* merge rules of rls with the same identifier rls' must be done one level higher:
    26     Test_KEStore_Elems.add_rlss does *add* or *overwrite* *)
    27 \<close>
    28 
    29 end