1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* This file was automatically generated: do not edit *********************)
19 (*#***********************************************************************)
21 (* v * The Coq Proof Assistant / The Coq Development Team *)
23 (* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
25 (* \VV/ **************************************************************)
27 (* // * This file is distributed under the terms of the *)
29 (* * GNU Lesser General Public License Version 2.1 *)
31 (*#***********************************************************************)
33 (*i $Id: Sumbool.v,v 1.12.2.1 2004/07/16 19:31:03 herbelin Exp $ i*)
35 (*#* Here are collected some results about the type sumbool (see INIT/Specif.v)
36 [sumbool A B], which is written [{A}+{B}], is the informative
37 disjunction "A or B", where A and B are logical propositions.
38 Its extraction is isomorphic to the type of booleans. *)
40 (*#* A boolean is either [true] or [false], and this is decidable *)
42 inline procedural "cic:/Coq/Bool/Sumbool/sumbool_of_bool.con" as definition.
45 Hint Resolve sumbool_of_bool: bool.
48 inline procedural "cic:/Coq/Bool/Sumbool/bool_eq_rec.con" as definition.
50 inline procedural "cic:/Coq/Bool/Sumbool/bool_eq_ind.con" as definition.
52 (*i pourquoi ce machin-la est dans BOOL et pas dans LOGIC ? Papageno i*)
54 (*#* Logic connectives on type [sumbool] *)
61 cic:/Coq/Bool/Sumbool/connectives/A.var
65 cic:/Coq/Bool/Sumbool/connectives/B.var
69 cic:/Coq/Bool/Sumbool/connectives/C.var
73 cic:/Coq/Bool/Sumbool/connectives/D.var
77 cic:/Coq/Bool/Sumbool/connectives/H1.var
81 cic:/Coq/Bool/Sumbool/connectives/H2.var
84 inline procedural "cic:/Coq/Bool/Sumbool/sumbool_and.con" as definition.
86 inline procedural "cic:/Coq/Bool/Sumbool/sumbool_or.con" as definition.
88 inline procedural "cic:/Coq/Bool/Sumbool/sumbool_not.con" as definition.
95 Hint Resolve sumbool_and sumbool_or sumbool_not: core.
98 (*#* Any decidability function in type [sumbool] can be turned into a function
99 returning a boolean with the corresponding specification: *)
101 inline procedural "cic:/Coq/Bool/Sumbool/bool_of_sumbool.con" as definition.
104 Implicit Arguments bool_of_sumbool.