src/Pure/pure.ML
author berghofe
Tue, 18 Jan 2005 14:34:24 +0100
changeset 15442 3b75e1b22ff1
parent 14879 8989eedf72a1
permissions -rw-r--r--
Added variants of instantiation functions that operate on pairs of type (indexname * string) instead of (string * string).

(*  Title:      Pure/pure.ML
    ID:         $Id$
    Author:     Markus Wenzel, TU Muenchen

Final setup of the Pure theories.
*)

local
  val common_setup =
    ProofRewriteRules.setup @
    HTML.setup @
    ObjectLogic.setup @
    ProofContext.setup @
    Locale.setup @
    Attrib.setup @
    ContextRules.setup @
    InductAttrib.setup @
    Method.setup @
    Calculation.setup @
    SkipProof.setup @
    AxClass.setup @
    Present.setup @
    ProofGeneral.setup @
    Codegen.setup @
    Extraction.setup @
    Goals.setup;
in
  structure Pure =
  struct
    val thy =
      PureThy.begin_theory Sign.PureN [ProtoPure.thy]
      |> Theory.add_syntax Syntax.pure_appl_syntax
      |> Library.apply common_setup
      |> PureThy.end_theory;
  end;

  structure CPure =
  struct
    val thy =
      PureThy.begin_theory Sign.CPureN [ProtoPure.thy]
      |> Theory.add_syntax Syntax.pure_applC_syntax
      |> Library.apply common_setup
      |> Theory.copy
      |> PureThy.end_theory;
  end;
end;

ThyInfo.register_theory ProtoPure.thy;
ThyInfo.register_theory Pure.thy;
ThyInfo.register_theory CPure.thy;