src/HOL/Tools/Predicate_Compile/predicate_compile_core.ML
changeset 38795 848be46708dc
parent 38558 32ad17fe2b9c
child 38797 abe92b33ac9f
equal deleted inserted replaced
38794:2d638e963357 38795:848be46708dc
   522     val cases = map mk_case intros
   522     val cases = map mk_case intros
   523   in Logic.list_implies (assm :: cases, prop) end;
   523   in Logic.list_implies (assm :: cases, prop) end;
   524 
   524 
   525 fun dest_conjunct_prem th =
   525 fun dest_conjunct_prem th =
   526   case HOLogic.dest_Trueprop (prop_of th) of
   526   case HOLogic.dest_Trueprop (prop_of th) of
   527     (Const (@{const_name "op &"}, _) $ t $ t') =>
   527     (Const (@{const_name HOL.conj}, _) $ t $ t') =>
   528       dest_conjunct_prem (th RS @{thm conjunct1})
   528       dest_conjunct_prem (th RS @{thm conjunct1})
   529         @ dest_conjunct_prem (th RS @{thm conjunct2})
   529         @ dest_conjunct_prem (th RS @{thm conjunct2})
   530     | _ => [th]
   530     | _ => [th]
   531 
   531 
   532 fun prove_casesrule ctxt (pred, (pre_cases_rule, nparams)) cases_rule =
   532 fun prove_casesrule ctxt (pred, (pre_cases_rule, nparams)) cases_rule =