src/HOL/Tools/SMT/smt_utils.ML
changeset 47368 89ccf66aa73d
parent 43232 23f352990944
child 55862 03ff4d1e6784
equal deleted inserted replaced
47367:b8920f3fd259 47368:89ccf66aa73d
   180     Const _ $ Abs _ => dest_cabs (Thm.dest_arg ct) ctxt
   180     Const _ $ Abs _ => dest_cabs (Thm.dest_arg ct) ctxt
   181   | _ => raise CTERM ("not a binder", [ct]))
   181   | _ => raise CTERM ("not a binder", [ct]))
   182 
   182 
   183 val dest_all_cbinders = repeat_yield (try o dest_cbinder)
   183 val dest_all_cbinders = repeat_yield (try o dest_cbinder)
   184 
   184 
   185 val mk_cprop = Thm.capply (Thm.cterm_of @{theory} @{const Trueprop})
   185 val mk_cprop = Thm.apply (Thm.cterm_of @{theory} @{const Trueprop})
   186 
   186 
   187 fun dest_cprop ct =
   187 fun dest_cprop ct =
   188   (case Thm.term_of ct of
   188   (case Thm.term_of ct of
   189     @{const Trueprop} $ _ => Thm.dest_arg ct
   189     @{const Trueprop} $ _ => Thm.dest_arg ct
   190   | _ => raise CTERM ("not a property", [ct]))
   190   | _ => raise CTERM ("not a property", [ct]))