aboutsummaryrefslogtreecommitdiff
path: root/intf
diff options
context:
space:
mode:
authorletouzey2012-05-29 11:08:17 +0000
committerletouzey2012-05-29 11:08:17 +0000
commit69929de6eccf6d60886ea0795376e9288863fc1f (patch)
tree0c63bd8295976a7f7dd2a996bfb748ef30196e66 /intf
parent442feb2c07f8f5824e814bba504f02c2742637e2 (diff)
Decl_kinds becomes a pure mli file, remaining ops in new file kindops.ml
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15368 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'intf')
-rw-r--r--intf/decl_kinds.mli72
1 files changed, 72 insertions, 0 deletions
diff --git a/intf/decl_kinds.mli b/intf/decl_kinds.mli
new file mode 100644
index 0000000000..6ee6f707d8
--- /dev/null
+++ b/intf/decl_kinds.mli
@@ -0,0 +1,72 @@
+(************************************************************************)
+(* v * The Coq Proof Assistant / The Coq Development Team *)
+(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2010 *)
+(* \VV/ **************************************************************)
+(* // * This file is distributed under the terms of the *)
+(* * GNU Lesser General Public License Version 2.1 *)
+(************************************************************************)
+
+(** Informal mathematical status of declarations *)
+
+type locality =
+ | Local
+ | Global
+
+type theorem_kind =
+ | Theorem
+ | Lemma
+ | Fact
+ | Remark
+ | Property
+ | Proposition
+ | Corollary
+
+type definition_object_kind =
+ | Definition
+ | Coercion
+ | SubClass
+ | CanonicalStructure
+ | Example
+ | Fixpoint
+ | CoFixpoint
+ | Scheme
+ | StructureComponent
+ | IdentityCoercion
+ | Instance
+ | Method
+
+type assumption_object_kind = Definitional | Logical | Conjectural
+
+(** [assumption_kind]
+
+ | Local | Global
+ ------------------------------------
+ Definitional | Variable | Parameter
+ Logical | Hypothesis | Axiom
+
+*)
+type assumption_kind = locality * assumption_object_kind
+
+type definition_kind = locality * definition_object_kind
+
+(** Kinds used in proofs *)
+
+type goal_object_kind =
+ | DefinitionBody of definition_object_kind
+ | Proof of theorem_kind
+
+type goal_kind = locality * goal_object_kind
+
+(** Kinds used in library *)
+
+type logical_kind =
+ | IsAssumption of assumption_object_kind
+ | IsDefinition of definition_object_kind
+ | IsProof of theorem_kind
+
+(** Recursive power of type declarations *)
+
+type recursivity_kind =
+ | Finite (** = inductive *)
+ | CoFinite (** = coinductive *)
+ | BiFinite (** = non-recursive, like in "Record" definitions *)