src/ZF/simpdata.ML
changeset 17002 fb9261990ffe
parent 15570 8d8c70b41bab
child 17325 d9d50222808e
equal deleted inserted replaced
17001:51ff2bc32774 17002:fb9261990ffe
    51 simpset_ref() :=
    51 simpset_ref() :=
    52   simpset() setmksimps (map mk_eq o ZF_atomize o gen_all)
    52   simpset() setmksimps (map mk_eq o ZF_atomize o gen_all)
    53   addcongs [if_weak_cong]
    53   addcongs [if_weak_cong]
    54   setSolver type_solver;
    54   setSolver type_solver;
    55 
    55 
    56 
       
    57 
       
    58 local
    56 local
    59 
    57 
    60 val prove_bex_tac = rewtac Bex_def THEN Quantifier1.prove_one_point_ex_tac;
    58 fun prove_bex_tac ss = unfold_tac ss [Bex_def] THEN Quantifier1.prove_one_point_ex_tac;
    61 val rearrange_bex = Quantifier1.rearrange_bex prove_bex_tac;
    59 val rearrange_bex = Quantifier1.rearrange_bex prove_bex_tac;
    62 
    60 
    63 val prove_ball_tac = rewtac Ball_def THEN Quantifier1.prove_one_point_all_tac;
    61 fun prove_ball_tac ss = unfold_tac ss [Ball_def] THEN Quantifier1.prove_one_point_all_tac;
    64 val rearrange_ball = Quantifier1.rearrange_ball prove_ball_tac;
    62 val rearrange_ball = Quantifier1.rearrange_ball prove_ball_tac;
    65 
    63 
    66 in
    64 in
    67 
    65 
    68 val defBEX_regroup = Simplifier.simproc (Theory.sign_of (the_context ()))
    66 val defBEX_regroup = Simplifier.simproc (the_context ())
    69   "defined BEX" ["EX x:A. P(x) & Q(x)"] rearrange_bex;
    67   "defined BEX" ["EX x:A. P(x) & Q(x)"] rearrange_bex;
    70 
    68 
    71 val defBALL_regroup = Simplifier.simproc (Theory.sign_of (the_context ()))
    69 val defBALL_regroup = Simplifier.simproc (the_context ())
    72   "defined BALL" ["ALL x:A. P(x) --> Q(x)"] rearrange_ball;
    70   "defined BALL" ["ALL x:A. P(x) --> Q(x)"] rearrange_ball;
    73 
    71 
    74 end;
    72 end;
    75 
    73 
    76 Addsimprocs [defBALL_regroup, defBEX_regroup];
    74 Addsimprocs [defBALL_regroup, defBEX_regroup];