]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/procedural/Coq/ZArith/Zwf.mma
db038b4171d881b5d376808634ed2d9a1c93202b
[helm.git] / helm / software / matita / contribs / procedural / Coq / ZArith / Zwf.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___,, *        INRIA-Rocquencourt  &  LRI-CNRS-Orsay              *)
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 (* $Id: Zwf.v,v 1.7 2003/11/29 17:28:46 herbelin Exp $ *)
34
35 include "ZArith/ZArith_base.ma".
36
37 include "Arith/Wf_nat.ma".
38
39 (* UNEXPORTED
40 Open Local Scope Z_scope.
41 *)
42
43 (*#* Well-founded relations on Z. *)
44
45 (*#* We define the following family of relations on [Z x Z]: 
46
47     [x (Zwf c) y]   iff   [x < y & c <= y]
48  *)
49
50 inline procedural "cic:/Coq/ZArith/Zwf/Zwf.con" as definition.
51
52 (*#* and we prove that [(Zwf c)] is well founded *)
53
54 (* UNEXPORTED
55 Section wf_proof
56 *)
57
58 (* UNEXPORTED
59 cic:/Coq/ZArith/Zwf/wf_proof/c.var
60 *)
61
62 (*#* The proof of well-foundness is classic: we do the proof by induction
63     on a measure in nat, which is here [|x-c|] *)
64
65 inline procedural "cic:/Coq/ZArith/Zwf/wf_proof/f.con" "wf_proof__" as definition.
66
67 inline procedural "cic:/Coq/ZArith/Zwf/Zwf_well_founded.con" as lemma.
68
69 (* UNEXPORTED
70 End wf_proof
71 *)
72
73 (* UNEXPORTED
74 Hint Resolve Zwf_well_founded: datatypes v62.
75 *)
76
77 (*#* We also define the other family of relations:
78
79     [x (Zwf_up c) y]   iff   [y < x <= c]
80  *)
81
82 inline procedural "cic:/Coq/ZArith/Zwf/Zwf_up.con" as definition.
83
84 (*#* and we prove that [(Zwf_up c)] is well founded *)
85
86 (* UNEXPORTED
87 Section wf_proof_up
88 *)
89
90 (* UNEXPORTED
91 cic:/Coq/ZArith/Zwf/wf_proof_up/c.var
92 *)
93
94 (*#* The proof of well-foundness is classic: we do the proof by induction
95     on a measure in nat, which is here [|c-x|] *)
96
97 inline procedural "cic:/Coq/ZArith/Zwf/wf_proof_up/f.con" "wf_proof_up__" as definition.
98
99 inline procedural "cic:/Coq/ZArith/Zwf/Zwf_up_well_founded.con" as lemma.
100
101 (* UNEXPORTED
102 End wf_proof_up
103 *)
104
105 (* UNEXPORTED
106 Hint Resolve Zwf_up_well_founded: datatypes v62.
107 *)
108