~ubuntu-branches/ubuntu/wily/coq-doc/wily

« back to all changes in this revision

Viewing changes to theories/Sets/Powerset.v

  • Committer: Bazaar Package Importer
  • Author(s): Stéphane Glondu, Stéphane Glondu, Samuel Mimram
  • Date: 2010-01-07 22:50:39 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20100107225039-n3cq82589u0qt0s2
Tags: 8.2pl1-1
[ Stéphane Glondu ]
* New upstream release (Closes: #563669)
  - remove patches
* Packaging overhaul:
  - use git, advertise it in Vcs-* fields of debian/control
  - use debhelper 7 and dh with override
  - use source format 3.0 (quilt)
* debian/control:
  - set Maintainer to d-o-m, set Uploaders to Sam and myself
  - add Homepage field
  - bump Standards-Version to 3.8.3
* Register PDF documentation into doc-base
* Add debian/watch
* Update debian/copyright

[ Samuel Mimram ]
* Change coq-doc's description to mention that it provides documentation in
  pdf format, not postscript, closes: #543545.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
(************************************************************************)
 
2
(*  v      *   The Coq Proof Assistant  /  The Coq Development Team     *)
 
3
(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
 
4
(*   \VV/  **************************************************************)
 
5
(*    //   *      This file is distributed under the terms of the       *)
 
6
(*         *       GNU Lesser General Public License Version 2.1        *)
 
7
(************************************************************************)
 
8
(****************************************************************************)
 
9
(*                                                                          *)
 
10
(*                         Naive Set Theory in Coq                          *)
 
11
(*                                                                          *)
 
12
(*                     INRIA                        INRIA                   *)
 
13
(*              Rocquencourt                        Sophia-Antipolis        *)
 
14
(*                                                                          *)
 
15
(*                                 Coq V6.1                                 *)
 
16
(*                                                                          *)
 
17
(*                               Gilles Kahn                                *)
 
18
(*                               Gerard Huet                                *)
 
19
(*                                                                          *)
 
20
(*                                                                          *)
 
21
(*                                                                          *)
 
22
(* Acknowledgments: This work was started in July 1993 by F. Prost. Thanks  *)
 
23
(* to the Newton Institute for providing an exceptional work environment    *)
 
24
(* in Summer 1995. Several developments by E. Ledinot were an inspiration.  *)
 
25
(****************************************************************************)
 
26
 
 
27
(*i $Id: Powerset.v 8642 2006-03-17 10:09:02Z notin $ i*)
 
28
 
 
29
Require Export Ensembles.
 
30
Require Export Relations_1.
 
31
Require Export Relations_1_facts.
 
32
Require Export Partial_Order.
 
33
Require Export Cpo.
 
34
 
 
35
Section The_power_set_partial_order.
 
36
Variable U : Type.
 
37
 
 
38
Inductive Power_set (A:Ensemble U) : Ensemble (Ensemble U) :=
 
39
    Definition_of_Power_set :
 
40
      forall X:Ensemble U, Included U X A -> In (Ensemble U) (Power_set A) X.
 
41
Hint Resolve Definition_of_Power_set.
 
42
 
 
43
Theorem Empty_set_minimal : forall X:Ensemble U, Included U (Empty_set U) X.
 
44
intro X; red in |- *.
 
45
intros x H'; elim H'.
 
46
Qed.
 
47
Hint Resolve Empty_set_minimal.
 
48
 
 
49
Theorem Power_set_Inhabited :
 
50
 forall X:Ensemble U, Inhabited (Ensemble U) (Power_set X).
 
51
intro X.
 
52
apply Inhabited_intro with (Empty_set U); auto with sets.
 
53
Qed.
 
54
Hint Resolve Power_set_Inhabited.
 
55
 
 
56
Theorem Inclusion_is_an_order : Order (Ensemble U) (Included U).
 
57
auto 6 with sets.
 
58
Qed.
 
59
Hint Resolve Inclusion_is_an_order.
 
60
 
 
61
Theorem Inclusion_is_transitive : Transitive (Ensemble U) (Included U).
 
62
elim Inclusion_is_an_order; auto with sets.
 
63
Qed.
 
64
Hint Resolve Inclusion_is_transitive.
 
65
 
 
66
Definition Power_set_PO : Ensemble U -> PO (Ensemble U).
 
67
intro A; try assumption.
 
68
apply Definition_of_PO with (Power_set A) (Included U); auto with sets.
 
69
Defined.
 
70
Hint Unfold Power_set_PO.
 
71
 
 
72
Theorem Strict_Rel_is_Strict_Included :
 
73
 same_relation (Ensemble U) (Strict_Included U)
 
74
   (Strict_Rel_of (Ensemble U) (Power_set_PO (Full_set U))).
 
75
auto with sets.
 
76
Qed.
 
77
Hint Resolve Strict_Rel_Transitive Strict_Rel_is_Strict_Included.
 
78
 
 
79
Lemma Strict_inclusion_is_transitive_with_inclusion :
 
80
 forall x y z:Ensemble U,
 
81
   Strict_Included U x y -> Included U y z -> Strict_Included U x z.
 
82
intros x y z H' H'0; try assumption.
 
83
elim Strict_Rel_is_Strict_Included.
 
84
unfold contains in |- *.
 
85
intros H'1 H'2; try assumption.
 
86
apply H'1.
 
87
apply Strict_Rel_Transitive_with_Rel with (y := y); auto with sets.
 
88
Qed.
 
89
 
 
90
Lemma Strict_inclusion_is_transitive_with_inclusion_left :
 
91
 forall x y z:Ensemble U,
 
92
   Included U x y -> Strict_Included U y z -> Strict_Included U x z.
 
93
intros x y z H' H'0; try assumption.
 
94
elim Strict_Rel_is_Strict_Included.
 
95
unfold contains in |- *.
 
96
intros H'1 H'2; try assumption.
 
97
apply H'1.
 
98
apply Strict_Rel_Transitive_with_Rel_left with (y := y); auto with sets.
 
99
Qed.
 
100
 
 
101
Lemma Strict_inclusion_is_transitive :
 
102
 Transitive (Ensemble U) (Strict_Included U).
 
103
apply cong_transitive_same_relation with
 
104
 (R := Strict_Rel_of (Ensemble U) (Power_set_PO (Full_set U)));
 
105
 auto with sets.
 
106
Qed.
 
107
 
 
108
Theorem Empty_set_is_Bottom :
 
109
 forall A:Ensemble U, Bottom (Ensemble U) (Power_set_PO A) (Empty_set U).
 
110
intro A; apply Bottom_definition; simpl in |- *; auto with sets.
 
111
Qed.
 
112
Hint Resolve Empty_set_is_Bottom.
 
113
 
 
114
Theorem Union_minimal :
 
115
 forall a b X:Ensemble U,
 
116
   Included U a X -> Included U b X -> Included U (Union U a b) X.
 
117
intros a b X H' H'0; red in |- *.
 
118
intros x H'1; elim H'1; auto with sets.
 
119
Qed.
 
120
Hint Resolve Union_minimal.
 
121
 
 
122
Theorem Intersection_maximal :
 
123
 forall a b X:Ensemble U,
 
124
   Included U X a -> Included U X b -> Included U X (Intersection U a b).
 
125
auto with sets.
 
126
Qed.
 
127
 
 
128
Theorem Union_increases_l : forall a b:Ensemble U, Included U a (Union U a b).
 
129
auto with sets.
 
130
Qed.
 
131
 
 
132
Theorem Union_increases_r : forall a b:Ensemble U, Included U b (Union U a b).
 
133
auto with sets.
 
134
Qed.
 
135
 
 
136
Theorem Intersection_decreases_l :
 
137
 forall a b:Ensemble U, Included U (Intersection U a b) a.
 
138
intros a b; red in |- *.
 
139
intros x H'; elim H'; auto with sets.
 
140
Qed.
 
141
 
 
142
Theorem Intersection_decreases_r :
 
143
 forall a b:Ensemble U, Included U (Intersection U a b) b.
 
144
intros a b; red in |- *.
 
145
intros x H'; elim H'; auto with sets.
 
146
Qed.
 
147
Hint Resolve Union_increases_l Union_increases_r Intersection_decreases_l
 
148
  Intersection_decreases_r.
 
149
 
 
150
Theorem Union_is_Lub :
 
151
 forall A a b:Ensemble U,
 
152
   Included U a A ->
 
153
   Included U b A ->
 
154
   Lub (Ensemble U) (Power_set_PO A) (Couple (Ensemble U) a b) (Union U a b).
 
155
intros A a b H' H'0.
 
156
apply Lub_definition; simpl in |- *.
 
157
apply Upper_Bound_definition; simpl in |- *; auto with sets.
 
158
intros y H'1; elim H'1; auto with sets.
 
159
intros y H'1; elim H'1; simpl in |- *; auto with sets.
 
160
Qed.
 
161
 
 
162
Theorem Intersection_is_Glb :
 
163
 forall A a b:Ensemble U,
 
164
   Included U a A ->
 
165
   Included U b A ->
 
166
   Glb (Ensemble U) (Power_set_PO A) (Couple (Ensemble U) a b)
 
167
     (Intersection U a b).
 
168
intros A a b H' H'0.
 
169
apply Glb_definition; simpl in |- *.
 
170
apply Lower_Bound_definition; simpl in |- *; auto with sets.
 
171
apply Definition_of_Power_set.
 
172
generalize Inclusion_is_transitive; intro IT; red in IT; apply IT with a;
 
173
 auto with sets.
 
174
intros y H'1; elim H'1; auto with sets.
 
175
intros y H'1; elim H'1; simpl in |- *; auto with sets.
 
176
Qed.
 
177
 
 
178
End The_power_set_partial_order.
 
179
 
 
180
Hint Resolve Empty_set_minimal: sets v62.
 
181
Hint Resolve Power_set_Inhabited: sets v62.
 
182
Hint Resolve Inclusion_is_an_order: sets v62.
 
183
Hint Resolve Inclusion_is_transitive: sets v62.
 
184
Hint Resolve Union_minimal: sets v62.
 
185
Hint Resolve Union_increases_l: sets v62.
 
186
Hint Resolve Union_increases_r: sets v62.
 
187
Hint Resolve Intersection_decreases_l: sets v62.
 
188
Hint Resolve Intersection_decreases_r: sets v62.
 
189
Hint Resolve Empty_set_is_Bottom: sets v62.
 
190
Hint Resolve Strict_inclusion_is_transitive: sets v62.
 
 
b'\\ No newline at end of file'