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: Even.v,v 1.14.2.1 2004/07/16 19:31:00 herbelin Exp $ i*)
37 (*#* Here we define the predicates [even] and [odd] by mutual induction
38 and we prove the decidability and the exclusion of those predicates.
39 The main results about parity are proved in the module Div2. *)
42 Open Local Scope nat_scope.
46 Implicit Types m n : nat.
49 inline procedural "cic:/Coq/Arith/Even/even.ind".
52 Hint Constructors even: arith.
56 Hint Constructors odd: arith.
59 inline procedural "cic:/Coq/Arith/Even/even_or_odd.con" as lemma.
61 inline procedural "cic:/Coq/Arith/Even/even_odd_dec.con" as lemma.
63 inline procedural "cic:/Coq/Arith/Even/not_even_and_odd.con" as lemma.
65 inline procedural "cic:/Coq/Arith/Even/even_plus_aux.con" as lemma.
67 inline procedural "cic:/Coq/Arith/Even/even_even_plus.con" as lemma.
69 inline procedural "cic:/Coq/Arith/Even/odd_even_plus.con" as lemma.
71 inline procedural "cic:/Coq/Arith/Even/even_plus_even_inv_r.con" as lemma.
73 inline procedural "cic:/Coq/Arith/Even/even_plus_even_inv_l.con" as lemma.
75 inline procedural "cic:/Coq/Arith/Even/even_plus_odd_inv_r.con" as lemma.
77 inline procedural "cic:/Coq/Arith/Even/even_plus_odd_inv_l.con" as lemma.
80 Hint Resolve even_even_plus odd_even_plus: arith.
83 inline procedural "cic:/Coq/Arith/Even/odd_plus_l.con" as lemma.
85 inline procedural "cic:/Coq/Arith/Even/odd_plus_r.con" as lemma.
87 inline procedural "cic:/Coq/Arith/Even/odd_plus_even_inv_l.con" as lemma.
89 inline procedural "cic:/Coq/Arith/Even/odd_plus_even_inv_r.con" as lemma.
91 inline procedural "cic:/Coq/Arith/Even/odd_plus_odd_inv_l.con" as lemma.
93 inline procedural "cic:/Coq/Arith/Even/odd_plus_odd_inv_r.con" as lemma.
96 Hint Resolve odd_plus_l odd_plus_r: arith.
99 inline procedural "cic:/Coq/Arith/Even/even_mult_aux.con" as lemma.
101 inline procedural "cic:/Coq/Arith/Even/even_mult_l.con" as lemma.
103 inline procedural "cic:/Coq/Arith/Even/even_mult_r.con" as lemma.
106 Hint Resolve even_mult_l even_mult_r: arith.
109 inline procedural "cic:/Coq/Arith/Even/even_mult_inv_r.con" as lemma.
111 inline procedural "cic:/Coq/Arith/Even/even_mult_inv_l.con" as lemma.
113 inline procedural "cic:/Coq/Arith/Even/odd_mult.con" as lemma.
116 Hint Resolve even_mult_l even_mult_r odd_mult: arith.
119 inline procedural "cic:/Coq/Arith/Even/odd_mult_inv_l.con" as lemma.
121 inline procedural "cic:/Coq/Arith/Even/odd_mult_inv_r.con" as lemma.