src/HOL/Tools/TFL/rules.ML
changeset 32091 30e2ffbba718
parent 31945 d5f186aa0bed
child 32429 54758ca53fd6
equal deleted inserted replaced
32090:39acf19e9f3a 32091:30e2ffbba718
   550 val tracing = ref false;
   550 val tracing = ref false;
   551 
   551 
   552 fun say s = if !tracing then writeln s else ();
   552 fun say s = if !tracing then writeln s else ();
   553 
   553 
   554 fun print_thms s L =
   554 fun print_thms s L =
   555   say (cat_lines (s :: map Display.string_of_thm L));
   555   say (cat_lines (s :: map Display.string_of_thm_without_context L));
   556 
   556 
   557 fun print_cterms s L =
   557 fun print_cterms s L =
   558   say (cat_lines (s :: map Display.string_of_cterm L));
   558   say (cat_lines (s :: map Display.string_of_cterm L));
   559 
   559 
   560 
   560 
   675      let fun cong_prover ss thm =
   675      let fun cong_prover ss thm =
   676          let val dummy = say "cong_prover:"
   676          let val dummy = say "cong_prover:"
   677              val cntxt = Simplifier.prems_of_ss ss
   677              val cntxt = Simplifier.prems_of_ss ss
   678              val dummy = print_thms "cntxt:" cntxt
   678              val dummy = print_thms "cntxt:" cntxt
   679              val dummy = say "cong rule:"
   679              val dummy = say "cong rule:"
   680              val dummy = say (Display.string_of_thm thm)
   680              val dummy = say (Display.string_of_thm_without_context thm)
   681              val dummy = thm_ref := (thm :: !thm_ref)
   681              val dummy = thm_ref := (thm :: !thm_ref)
   682              val dummy = ss_ref := (ss :: !ss_ref)
   682              val dummy = ss_ref := (ss :: !ss_ref)
   683              (* Unquantified eliminate *)
   683              (* Unquantified eliminate *)
   684              fun uq_eliminate (thm,imp,thy) =
   684              fun uq_eliminate (thm,imp,thy) =
   685                  let val tych = cterm_of thy
   685                  let val tych = cterm_of thy