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 include "Init/Prelude.ma".
21 (*#***********************************************************************)
23 (* v * The Coq Proof Assistant / The Coq Development Team *)
25 (* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
27 (* \VV/ **************************************************************)
29 (* // * This file is distributed under the terms of the *)
31 (* * GNU Lesser General Public License Version 2.1 *)
33 (*#***********************************************************************)
35 (*i $Id: Sumbool.v,v 1.12.2.1 2004/07/16 19:31:03 herbelin Exp $ i*)
37 (*#* Here are collected some results about the type sumbool (see INIT/Specif.v)
38 [sumbool A B], which is written [{A}+{B}], is the informative
39 disjunction "A or B", where A and B are logical propositions.
40 Its extraction is isomorphic to the type of booleans. *)
42 (*#* A boolean is either [true] or [false], and this is decidable *)
44 inline procedural "cic:/Coq/Bool/Sumbool/sumbool_of_bool.con" as definition.
47 Hint Resolve sumbool_of_bool: bool.
50 inline procedural "cic:/Coq/Bool/Sumbool/bool_eq_rec.con" as definition.
52 inline procedural "cic:/Coq/Bool/Sumbool/bool_eq_ind.con" as definition.
54 (*i pourquoi ce machin-la est dans BOOL et pas dans LOGIC ? Papageno i*)
56 (*#* Logic connectives on type [sumbool] *)
63 cic:/Coq/Bool/Sumbool/connectives/A.var
67 cic:/Coq/Bool/Sumbool/connectives/B.var
71 cic:/Coq/Bool/Sumbool/connectives/C.var
75 cic:/Coq/Bool/Sumbool/connectives/D.var
79 cic:/Coq/Bool/Sumbool/connectives/H1.var
83 cic:/Coq/Bool/Sumbool/connectives/H2.var
86 inline procedural "cic:/Coq/Bool/Sumbool/sumbool_and.con" as definition.
88 inline procedural "cic:/Coq/Bool/Sumbool/sumbool_or.con" as definition.
90 inline procedural "cic:/Coq/Bool/Sumbool/sumbool_not.con" as definition.
97 Hint Resolve sumbool_and sumbool_or sumbool_not: core.
100 (*#* Any decidability function in type [sumbool] can be turned into a function
101 returning a boolean with the corresponding specification: *)
103 inline procedural "cic:/Coq/Bool/Sumbool/bool_of_sumbool.con" as definition.
106 Implicit Arguments bool_of_sumbool.