TFL/thry.sig
author paulson
Tue, 27 May 1997 13:25:00 +0200
changeset 3357 c224dddc5f71
parent 3353 9112a2efb9a3
child 3405 2cccd0e3e9ea
permissions -rw-r--r--
Removal of card_insert_disjoint, which is now a default rewrite rule

(*  Title:      TFL/thry
    ID:         $Id$
    Author:     Konrad Slind, Cambridge University Computer Laboratory
    Copyright   1997  University of Cambridge
*)

signature Thry_sig =
sig
  structure USyntax : USyntax_sig
  val match_term : theory -> term -> term 
                    -> (term*term)list * (typ*typ)list

  val match_type : theory -> typ -> typ -> (typ*typ)list

  val typecheck : theory -> term -> cterm

  val make_definition: theory -> string -> term -> thm * theory

  (* Datatype facts of various flavours *)
  val match_info: theory -> string -> {constructors:term list,
                                     case_const:term} option

  val induct_info: theory -> string -> {constructors:term list,
                                      nchotomy:thm} option

  val extract_info: theory -> {case_congs:thm list, case_rewrites:thm list}

end;