doc-src/IsarImplementation/Thy/Logic.thy
changeset 30288 a32700e45ab3
parent 30272 2d612824e642
child 30355 8066d80cd51e
equal deleted inserted replaced
30287:39b931e00ba9 30288:a32700e45ab3
   554   @{index_ML Thm.implies_intr: "cterm -> thm -> thm"} \\
   554   @{index_ML Thm.implies_intr: "cterm -> thm -> thm"} \\
   555   @{index_ML Thm.implies_elim: "thm -> thm -> thm"} \\
   555   @{index_ML Thm.implies_elim: "thm -> thm -> thm"} \\
   556   @{index_ML Thm.generalize: "string list * string list -> int -> thm -> thm"} \\
   556   @{index_ML Thm.generalize: "string list * string list -> int -> thm -> thm"} \\
   557   @{index_ML Thm.instantiate: "(ctyp * ctyp) list * (cterm * cterm) list -> thm -> thm"} \\
   557   @{index_ML Thm.instantiate: "(ctyp * ctyp) list * (cterm * cterm) list -> thm -> thm"} \\
   558   @{index_ML Thm.axiom: "theory -> string -> thm"} \\
   558   @{index_ML Thm.axiom: "theory -> string -> thm"} \\
   559   @{index_ML Thm.add_oracle: "bstring * ('a -> cterm) -> theory
   559   @{index_ML Thm.add_oracle: "binding * ('a -> cterm) -> theory
   560   -> (string * ('a -> thm)) * theory"} \\
   560   -> (string * ('a -> thm)) * theory"} \\
   561   \end{mldecls}
   561   \end{mldecls}
   562   \begin{mldecls}
   562   \begin{mldecls}
   563   @{index_ML Theory.add_axioms_i: "(binding * term) list -> theory -> theory"} \\
   563   @{index_ML Theory.add_axioms_i: "(binding * term) list -> theory -> theory"} \\
   564   @{index_ML Theory.add_deps: "string -> string * typ -> (string * typ) list -> theory -> theory"} \\
   564   @{index_ML Theory.add_deps: "string -> string * typ -> (string * typ) list -> theory -> theory"} \\
   611   refer to the instantiated versions.
   611   refer to the instantiated versions.
   612 
   612 
   613   \item @{ML Thm.axiom}~@{text "thy name"} retrieves a named
   613   \item @{ML Thm.axiom}~@{text "thy name"} retrieves a named
   614   axiom, cf.\ @{text "axiom"} in \figref{fig:prim-rules}.
   614   axiom, cf.\ @{text "axiom"} in \figref{fig:prim-rules}.
   615 
   615 
   616   \item @{ML Thm.add_oracle}~@{text "(name, oracle)"} produces a named
   616   \item @{ML Thm.add_oracle}~@{text "(binding, oracle)"} produces a named
   617   oracle rule, essentially generating arbitrary axioms on the fly,
   617   oracle rule, essentially generating arbitrary axioms on the fly,
   618   cf.\ @{text "axiom"} in \figref{fig:prim-rules}.
   618   cf.\ @{text "axiom"} in \figref{fig:prim-rules}.
   619 
   619 
   620   \item @{ML Theory.add_axioms_i}~@{text "[(name, A), \<dots>]"} declares
   620   \item @{ML Theory.add_axioms_i}~@{text "[(name, A), \<dots>]"} declares
   621   arbitrary propositions as axioms.
   621   arbitrary propositions as axioms.