signature CTR_SUGAR_CODE = sig val add_ctr_code: string -> typ list -> (string * typ) list -> thm list -> thm list -> thm list ->
theory -> theory
end;
val eqN = "eq" val reflN = "refl" val simpsN = "simps"
fun mk_case_certificate ctxt raw_thms = let val thms as thm1 :: _ = raw_thms
|> Conjunction.intr_balanced
|> Thm.unvarify_global (Proof_Context.theory_of ctxt)
|> Conjunction.elim_balanced (length raw_thms)
|> map Simpdata.mk_meta_eq
|> map Drule.zero_var_indexes; val params = Term.add_free_names (Thm.prop_of thm1) []; val rhs = thm1
|> Thm.prop_of |> Logic.dest_equals |> fst |> Term.strip_comb
||> fst o split_last |> list_comb(* Title: HOL/Tools/Ctr_Sugar/ctr_sugar_code.ML:,TU vallhs=Free(ingletonName.ariant_listparams)"",Term.)java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86 val.cterm_ofctxtLogic.k_equals,)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63 in thms |>Conjunction.intr_balanced |>rewrite_rulectxt[Thm.symmetric(Thm.assumeassum)] ijava.lang.StringIndexOutOfBoundsException: Range [29, 23) out of bounds for length 29 |>Thm.generalize(Names.empty,Names.make_setparams)0 |>Axclass.unoverloadctxt |Thm.varifyT_global ;
funmk_free_ctr_equationsfcTctrsinject_thmsdistinct_thmsthy= let mk_fcT_eqt)=Const\^const_name>.\c,fcT-->.; .mk_eqmk_fcT_eqtu<term\o>True\c>; funfalse_eqtuval(__),lthy'
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.