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: Even.v,v 1.14.2.1 2004/07/16 19:31:00 herbelin Exp $ i*)
35 (*#* Here we define the predicates [even] and [odd] by mutual induction
36 and we prove the decidability and the exclusion of those predicates.
37 The main results about parity are proved in the module Div2. *)
40 Open Local Scope nat_scope.
44 Implicit Types m n : nat.
47 inline procedural "cic:/Coq/Arith/Even/even.ind".
50 Hint Constructors even: arith.
54 Hint Constructors odd: arith.
57 inline procedural "cic:/Coq/Arith/Even/even_or_odd.con" as lemma.
59 inline procedural "cic:/Coq/Arith/Even/even_odd_dec.con" as lemma.
61 inline procedural "cic:/Coq/Arith/Even/not_even_and_odd.con" as lemma.
63 inline procedural "cic:/Coq/Arith/Even/even_plus_aux.con" as lemma.
65 inline procedural "cic:/Coq/Arith/Even/even_even_plus.con" as lemma.
67 inline procedural "cic:/Coq/Arith/Even/odd_even_plus.con" as lemma.
69 inline procedural "cic:/Coq/Arith/Even/even_plus_even_inv_r.con" as lemma.
71 inline procedural "cic:/Coq/Arith/Even/even_plus_even_inv_l.con" as lemma.
73 inline procedural "cic:/Coq/Arith/Even/even_plus_odd_inv_r.con" as lemma.
75 inline procedural "cic:/Coq/Arith/Even/even_plus_odd_inv_l.con" as lemma.
78 Hint Resolve even_even_plus odd_even_plus: arith.
81 inline procedural "cic:/Coq/Arith/Even/odd_plus_l.con" as lemma.
83 inline procedural "cic:/Coq/Arith/Even/odd_plus_r.con" as lemma.
85 inline procedural "cic:/Coq/Arith/Even/odd_plus_even_inv_l.con" as lemma.
87 inline procedural "cic:/Coq/Arith/Even/odd_plus_even_inv_r.con" as lemma.
89 inline procedural "cic:/Coq/Arith/Even/odd_plus_odd_inv_l.con" as lemma.
91 inline procedural "cic:/Coq/Arith/Even/odd_plus_odd_inv_r.con" as lemma.
94 Hint Resolve odd_plus_l odd_plus_r: arith.
97 inline procedural "cic:/Coq/Arith/Even/even_mult_aux.con" as lemma.
99 inline procedural "cic:/Coq/Arith/Even/even_mult_l.con" as lemma.
101 inline procedural "cic:/Coq/Arith/Even/even_mult_r.con" as lemma.
104 Hint Resolve even_mult_l even_mult_r: arith.
107 inline procedural "cic:/Coq/Arith/Even/even_mult_inv_r.con" as lemma.
109 inline procedural "cic:/Coq/Arith/Even/even_mult_inv_l.con" as lemma.
111 inline procedural "cic:/Coq/Arith/Even/odd_mult.con" as lemma.
114 Hint Resolve even_mult_l even_mult_r odd_mult: arith.
117 inline procedural "cic:/Coq/Arith/Even/odd_mult_inv_l.con" as lemma.
119 inline procedural "cic:/Coq/Arith/Even/odd_mult_inv_r.con" as lemma.