src/HOL/Tools/Mirabelle/mirabelle.ML
changeset 73824 6e9a47d3850c
parent 73822 1192c68ebe1c
child 73848 77306bf4e1ee
equal deleted inserted replaced
73823:c10fe904ac10 73824:6e9a47d3850c
   178               if n mod mirabelle_stride = 0 then
   178               if n mod mirabelle_stride = 0 then
   179                 let
   179                 let
   180                   val name = Toplevel.name_of tr;
   180                   val name = Toplevel.name_of tr;
   181                   val pos = Toplevel.pos_of tr;
   181                   val pos = Toplevel.pos_of tr;
   182                 in
   182                 in
   183                   if can (Proof.assert_backward o Toplevel.proof_of) st andalso
   183                   if Context.proper_subthy (\<^theory>, thy) andalso
       
   184                     can (Proof.assert_backward o Toplevel.proof_of) st andalso
   184                     member (op =) whitelist name andalso
   185                     member (op =) whitelist name andalso
   185                     check (Context.theory_long_name thy) pos
   186                     check (Context.theory_long_name thy) pos
   186                   then SOME {name = name, pos = pos, pre = Toplevel.proof_of st, post = st'}
   187                   then SOME {name = name, pos = pos, pre = Toplevel.proof_of st, post = st'}
   187                   else NONE
   188                   else NONE
   188                 end
   189                 end