equal
deleted
inserted
replaced
816 val record_quick_and_dirty_sensitive = ref false; |
816 val record_quick_and_dirty_sensitive = ref false; |
817 |
817 |
818 |
818 |
819 fun quick_and_dirty_prove stndrd thy asms prop tac = |
819 fun quick_and_dirty_prove stndrd thy asms prop tac = |
820 if !record_quick_and_dirty_sensitive andalso !quick_and_dirty |
820 if !record_quick_and_dirty_sensitive andalso !quick_and_dirty |
821 then Goal.prove thy [] [] (Logic.list_implies (map Logic.varify asms,Logic.varify prop)) |
821 then Goal.prove (ProofContext.init thy) [] [] |
|
822 (Logic.list_implies (map Logic.varify asms,Logic.varify prop)) |
822 (K (SkipProof.cheat_tac HOL.thy)) |
823 (K (SkipProof.cheat_tac HOL.thy)) |
823 (* standard can take quite a while for large records, thats why |
824 (* standard can take quite a while for large records, thats why |
824 * we varify the proposition manually here.*) |
825 * we varify the proposition manually here.*) |
825 else let val prf = Goal.prove thy [] asms prop tac; |
826 else let val prf = Goal.prove (ProofContext.init thy) [] asms prop tac; |
826 in if stndrd then standard prf else prf end; |
827 in if stndrd then standard prf else prf end; |
827 |
828 |
828 fun quick_and_dirty_prf noopt opt () = |
829 fun quick_and_dirty_prf noopt opt () = |
829 if !record_quick_and_dirty_sensitive andalso !quick_and_dirty |
830 if !record_quick_and_dirty_sensitive andalso !quick_and_dirty |
830 then noopt () |
831 then noopt () |