src/HOL/Tools/SMT/smt_normalize.ML
changeset 61033 fd7fe96ca7b9
parent 60642 48dd1cefb4ae
child 61268 abe08fb15a12
equal deleted inserted replaced
61032:b57df8eecad6 61033:fd7fe96ca7b9
    66   | Const (@{const_name Pure.eq}, _) $ _ $ _ =>
    66   | Const (@{const_name Pure.eq}, _) $ _ $ _ =>
    67       Conv.binop_conv (atomize_conv ctxt) then_conv Conv.rewr_conv @{thm atomize_eq}
    67       Conv.binop_conv (atomize_conv ctxt) then_conv Conv.rewr_conv @{thm atomize_eq}
    68   | Const (@{const_name Pure.all}, _) $ Abs _ =>
    68   | Const (@{const_name Pure.all}, _) $ Abs _ =>
    69       Conv.binder_conv (atomize_conv o snd) ctxt then_conv Conv.rewr_conv @{thm atomize_all}
    69       Conv.binder_conv (atomize_conv o snd) ctxt then_conv Conv.rewr_conv @{thm atomize_all}
    70   | _ => Conv.all_conv) ct
    70   | _ => Conv.all_conv) ct
       
    71   handle CTERM _ => Conv.all_conv ct
    71 
    72 
    72 val setup_atomize =
    73 val setup_atomize =
    73   fold SMT_Builtin.add_builtin_fun_ext'' [@{const_name Pure.imp}, @{const_name Pure.eq},
    74   fold SMT_Builtin.add_builtin_fun_ext'' [@{const_name Pure.imp}, @{const_name Pure.eq},
    74     @{const_name Pure.all}, @{const_name Trueprop}]
    75     @{const_name Pure.all}, @{const_name Trueprop}]
    75 
    76