src/HOL/HOL.thy
changeset 22993 838c66e760b5
parent 22839 ede26eb5e549
child 23037 6c72943a71b1
equal deleted inserted replaced
22992:fc54d5fc4a7a 22993:838c66e760b5
   225 typed_print_translation {*
   225 typed_print_translation {*
   226 let
   226 let
   227   fun tr' c = (c, fn show_sorts => fn T => fn ts =>
   227   fun tr' c = (c, fn show_sorts => fn T => fn ts =>
   228     if T = dummyT orelse not (! show_types) andalso can Term.dest_Type T then raise Match
   228     if T = dummyT orelse not (! show_types) andalso can Term.dest_Type T then raise Match
   229     else Syntax.const Syntax.constrainC $ Syntax.const c $ Syntax.term_of_typ show_sorts T);
   229     else Syntax.const Syntax.constrainC $ Syntax.const c $ Syntax.term_of_typ show_sorts T);
   230 in map tr' [@{const_syntax "HOL.one"}, @{const_syntax "HOL.zero"}] end;
   230 in map tr' [@{const_syntax HOL.one}, @{const_syntax HOL.zero}] end;
   231 *} -- {* show types that are presumably too general *}
   231 *} -- {* show types that are presumably too general *}
   232 
   232 
   233 
   233 
   234 subsection {* Fundamental rules *}
   234 subsection {* Fundamental rules *}
   235 
   235 
   911 ML {*
   911 ML {*
   912 structure Blast = BlastFun(
   912 structure Blast = BlastFun(
   913 struct
   913 struct
   914   type claset = Classical.claset
   914   type claset = Classical.claset
   915   val equality_name = @{const_name "op ="}
   915   val equality_name = @{const_name "op ="}
   916   val not_name = @{const_name "Not"}
   916   val not_name = @{const_name Not}
   917   val notE = @{thm HOL.notE}
   917   val notE = @{thm HOL.notE}
   918   val ccontr = @{thm HOL.ccontr}
   918   val ccontr = @{thm HOL.ccontr}
   919   val contr_tac = Classical.contr_tac
   919   val contr_tac = Classical.contr_tac
   920   val dup_intr = Classical.dup_intr
   920   val dup_intr = Classical.dup_intr
   921   val hyp_subst_tac = Hypsubst.blast_hyp_subst_tac
   921   val hyp_subst_tac = Hypsubst.blast_hyp_subst_tac