Normalisation method for locales ring and cring.
*)
signature RINGSIMP = sig val print_structures: Proof.context -> unit val add_struct: string * term list -> attribute val del_struct: string * term list -> attribute val algebra_tac: Proof.context -> int -> tactic end;
structure Data = Generic_Data
( type T = ((string * term list) * thm list) list; (* Algebraic structures: identifier of the structure, list of operations and simp rules,
identifier and operations identify the structure uniquely. *) val empty = []; val merge = AList.join struct_eq (K Thm.merge_thms);
);
fun print_structures ctxt = let val structs = Data.get (Context.Proof ctxt); val pretty_term = Pretty.quote o Syntax.pretty_term ctxt; fun pretty_struct ((s, ts), _) = Pretty.block
[Pretty.str s, Pretty.str ":", Pretty.brk 1,
Pretty.enclose "("")" (Pretty.breaks (map pretty_term ts))]; in Pretty.writeln (Pretty.big_list "Algebraic structures:" (map pretty_struct structs)) end;
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 ist noch experimentell.