]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/procedural/Coq/ZArith/Wf_Z.mma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / procedural / Coq / ZArith / Wf_Z.mma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was automatically generated: do not edit *********************)
16
17 include "Coq.ma".
18
19 (*#***********************************************************************)
20
21 (*  v      *   The Coq Proof Assistant  /  The Coq Development Team     *)
22
23 (* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
24
25 (*   \VV/  **************************************************************)
26
27 (*    //   *      This file is distributed under the terms of the       *)
28
29 (*         *       GNU Lesser General Public License Version 2.1        *)
30
31 (*#***********************************************************************)
32
33 (*i $Id: Wf_Z.v,v 1.20.2.1 2004/07/16 19:31:20 herbelin Exp $ i*)
34
35 include "ZArith/BinInt.ma".
36
37 include "ZArith/Zcompare.ma".
38
39 include "ZArith/Zorder.ma".
40
41 include "ZArith/Znat.ma".
42
43 include "ZArith/Zmisc.ma".
44
45 include "Arith/Wf_nat.ma".
46
47 (* UNEXPORTED
48 Open Local Scope Z_scope.
49 *)
50
51 (*#* Our purpose is to write an induction shema for {0,1,2,...}
52   similar to the [nat] schema (Theorem [Natlike_rec]). For that the
53   following implications will be used :
54 <<
55  (n:nat)(Q n)==(n:nat)(P (inject_nat n)) ===> (x:Z)`x > 0) -> (P x)
56
57              /\
58              ||
59              ||
60
61   (Q O) (n:nat)(Q n)->(Q (S n)) <=== (P 0) (x:Z) (P x) -> (P (Zs x))
62
63                                 <=== (inject_nat (S n))=(Zs (inject_nat n))
64
65                                 <=== inject_nat_complete
66 >>
67   Then the  diagram will be closed and the theorem proved. *)
68
69 inline procedural "cic:/Coq/ZArith/Wf_Z/Z_of_nat_complete.con" as lemma.
70
71 inline procedural "cic:/Coq/ZArith/Wf_Z/ZL4_inf.con" as lemma.
72
73 inline procedural "cic:/Coq/ZArith/Wf_Z/Z_of_nat_complete_inf.con" as lemma.
74
75 inline procedural "cic:/Coq/ZArith/Wf_Z/Z_of_nat_prop.con" as lemma.
76
77 inline procedural "cic:/Coq/ZArith/Wf_Z/Z_of_nat_set.con" as lemma.
78
79 inline procedural "cic:/Coq/ZArith/Wf_Z/natlike_ind.con" as lemma.
80
81 inline procedural "cic:/Coq/ZArith/Wf_Z/natlike_rec.con" as lemma.
82
83 (* UNEXPORTED
84 Section Efficient_Rec
85 *)
86
87 (*#* [natlike_rec2] is the same as [natlike_rec], but with a different proof, designed 
88      to give a better extracted term. *)
89
90 (* UNAVAILABLE OBJECT: cic:/Coq/ZArith/Wf_Z/Efficient_Rec/R.con ***********)
91
92 inline procedural "cic:/Coq/ZArith/Wf_Z/Efficient_Rec/R.con" "Efficient_Rec__" as definition.
93
94 (* UNAVAILABLE OBJECT: cic:/Coq/ZArith/Wf_Z/Efficient_Rec/R_wf.con ********)
95
96 inline procedural "cic:/Coq/ZArith/Wf_Z/Efficient_Rec/R_wf.con" "Efficient_Rec__" as definition.
97
98 inline procedural "cic:/Coq/ZArith/Wf_Z/natlike_rec2.con" as lemma.
99
100 (*#* A variant of the previous using [Zpred] instead of [Zs]. *)
101
102 inline procedural "cic:/Coq/ZArith/Wf_Z/natlike_rec3.con" as lemma.
103
104 (*#* A more general induction principal using [Zlt]. *)
105
106 inline procedural "cic:/Coq/ZArith/Wf_Z/Z_lt_rec.con" as lemma.
107
108 inline procedural "cic:/Coq/ZArith/Wf_Z/Z_lt_induction.con" as lemma.
109
110 (* UNEXPORTED
111 End Efficient_Rec
112 *)
113