TFL/thry.sig
author wenzelm
Wed Nov 05 11:41:18 1997 +0100 (1997-11-05)
changeset 4145 ffb0c9670597
parent 3405 2cccd0e3e9ea
permissions -rw-r--r--
adapted extend_trfunsT;
paulson@3302
     1
(*  Title:      TFL/thry
paulson@3302
     2
    ID:         $Id$
paulson@3302
     3
    Author:     Konrad Slind, Cambridge University Computer Laboratory
paulson@3302
     4
    Copyright   1997  University of Cambridge
paulson@3302
     5
*)
paulson@3302
     6
paulson@2112
     7
signature Thry_sig =
paulson@2112
     8
sig
paulson@3245
     9
  val match_term : theory -> term -> term 
paulson@3353
    10
                    -> (term*term)list * (typ*typ)list
paulson@2112
    11
paulson@3353
    12
  val match_type : theory -> typ -> typ -> (typ*typ)list
paulson@2112
    13
paulson@3245
    14
  val typecheck : theory -> term -> cterm
paulson@2112
    15
paulson@2112
    16
  (* Datatype facts of various flavours *)
paulson@3245
    17
  val match_info: theory -> string -> {constructors:term list,
paulson@3245
    18
                                     case_const:term} option
paulson@2112
    19
paulson@3245
    20
  val induct_info: theory -> string -> {constructors:term list,
paulson@3245
    21
                                      nchotomy:thm} option
paulson@2112
    22
paulson@3245
    23
  val extract_info: theory -> {case_congs:thm list, case_rewrites:thm list}
paulson@2112
    24
paulson@2112
    25
end;
paulson@2112
    26
paulson@2112
    27