1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2017 *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) (** Informal mathematical status of declarations *) type discharge = DoDischarge | NoDischarge type locality = Discharge | Local | Global type binding_kind = Explicit | Implicit type polymorphic = bool type private_flag = bool type cumulative_inductive_flag = bool 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 | Let type assumption_object_kind = Definitional | Logical | Conjectural (* [assumption_kind] | Local | Global ------------------------------------ Definitional | Variable | Parameter Logical | Hypothesis | Axiom *) type assumption_kind = locality * polymorphic * assumption_object_kind type definition_kind = locality * polymorphic * definition_object_kind (** Kinds used in proofs *) type goal_object_kind = | DefinitionBody of definition_object_kind | Proof of theorem_kind type goal_kind = locality * polymorphic * 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 *)