Skip to content

Commit c09e5f7

Browse files
committed
added proof using annotations for quick compilation, added quick task to Makefile
1 parent d215eb2 commit c09e5f7

6 files changed

Lines changed: 136 additions & 133 deletions

File tree

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@ endif
77
default: Makefile.coq
88
$(MAKE) -f Makefile.coq
99

10+
quick: Makefile.coq
11+
$(MAKE) -f Makefile.coq quick
12+
1013
Makefile.coq: _CoqProject
1114
coq_makefile -f _CoqProject -o Makefile.coq
1215

1316
clean:
1417
$(MAKE) -f Makefile.coq clean
1518
rm Makefile.coq
1619

17-
.PHONY: default clean
20+
.PHONY: default clean quick

classical.v

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Variable T : Type.
88
Lemma weak_until_until_or_always :
99
forall (J P : infseq T -> Prop) (s : infseq T),
1010
weak_until J P s -> until J P s \/ always J s.
11-
Proof.
11+
Proof using.
1212
intros J P s.
1313
case (classic (eventually P s)).
1414
- intros evP wu.
@@ -32,7 +32,7 @@ Qed.
3232
Lemma not_until_weak_until :
3333
forall (J P : infseq T -> Prop) (s : infseq T),
3434
~ until J P s -> weak_until (J /\_ ~_ P) (~_ J /\_ ~_ P) s.
35-
Proof.
35+
Proof using.
3636
intros J P.
3737
cofix c.
3838
intros s.
@@ -60,7 +60,7 @@ Qed.
6060
Lemma not_weak_until_until :
6161
forall (J P : infseq T -> Prop) (s : infseq T),
6262
~ weak_until J P s -> until (J /\_ ~_ P) (~_ J /\_ ~_ P) s.
63-
Proof.
63+
Proof using.
6464
intros J P s wun.
6565
case (classic (until (J /\_ ~_ P) (~_ J /\_ ~_ P) s)); trivial.
6666
intros un.
@@ -91,7 +91,7 @@ Qed.
9191
Lemma not_eventually_not_always :
9292
forall (P : infseq T -> Prop) (s : infseq T),
9393
~ eventually (~_ P) s -> always P s.
94-
Proof.
94+
Proof using.
9595
intros P.
9696
cofix c.
9797
intro s.
@@ -114,7 +114,7 @@ Qed.
114114
Lemma not_always_eventually_not :
115115
forall (P : infseq T -> Prop) (s : infseq T),
116116
~ always P s -> eventually (~_ P) s.
117-
Proof.
117+
Proof using.
118118
intros P s alP.
119119
case (classic ((eventually (~_ P)) s)); trivial.
120120
intros evP.
@@ -126,7 +126,7 @@ Qed.
126126
Lemma not_until_release :
127127
forall (J P : infseq T -> Prop) (s : infseq T),
128128
~ until (~_ J) (~_ P) s -> release J P s.
129-
Proof.
129+
Proof using.
130130
intros J P.
131131
cofix c.
132132
intros s.
@@ -157,7 +157,7 @@ Qed.
157157
Lemma not_release_until :
158158
forall (J P : infseq T -> Prop) (s : infseq T),
159159
~ release (~_ J) (~_ P) s -> until J P s.
160-
Proof.
160+
Proof using.
161161
intros J P s rl.
162162
case (classic (until J P s)); trivial.
163163
intros un.
@@ -188,7 +188,7 @@ Qed.
188188
Lemma not_inf_often_continuously_not :
189189
forall (P : infseq T -> Prop) (s : infseq T),
190190
~ inf_often P s -> continuously (~_ P) s.
191-
Proof.
191+
Proof using.
192192
intros P s ioP.
193193
apply not_always_eventually_not in ioP.
194194
induction ioP.
@@ -202,7 +202,7 @@ Qed.
202202
Lemma not_continously_inf_often_not :
203203
forall (P : infseq T -> Prop) (s : infseq T),
204204
~ continuously P s -> inf_often (~_ P) s.
205-
Proof.
205+
Proof using.
206206
intros P.
207207
cofix c.
208208
intros [x s] cnyP.
@@ -223,7 +223,7 @@ Qed.
223223
Lemma not_tl_and_tl_or_tl :
224224
forall (P Q : infseq T -> Prop) (s : infseq T),
225225
(~_ (P /\_ Q)) s -> ((~_ P) \/_ (~_ Q)) s.
226-
Proof.
226+
Proof using.
227227
intros P Q s; unfold not_tl, and_tl, or_tl.
228228
apply not_and_or.
229229
Qed.

exteq.v

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,26 @@ CoInductive exteq : infseq T -> infseq T -> Prop :=
1313
Lemma exteq_inversion :
1414
forall (x1:T) s1 x2 s2,
1515
exteq (Cons x1 s1) (Cons x2 s2) -> x1 = x2 /\ exteq s1 s2.
16-
Proof.
16+
Proof using.
1717
intros x1 s1 x2 s2 e.
1818
change (hd (Cons x1 s1) = hd (Cons x2 s2) /\
1919
exteq (tl (Cons x1 s1)) (tl (Cons x2 s2))).
2020
case e; clear e x1 s1 x2 s2. simpl. intros; split; trivial.
2121
Qed.
2222

2323
Lemma exteq_refl : forall s, exteq s s.
24-
Proof.
24+
Proof using.
2525
cofix cf. intros (x, s). constructor. apply cf.
2626
Qed.
2727

2828
Lemma exteq_sym : forall s1 s2, exteq s1 s2 -> exteq s2 s1.
29-
Proof.
29+
Proof using.
3030
cofix cf. destruct 1. constructor. apply cf. assumption.
3131
Qed.
3232

3333
Lemma exteq_trans :
3434
forall s1 s2 s3, exteq s1 s2 -> exteq s2 s3 -> exteq s1 s3.
35-
Proof.
35+
Proof using.
3636
cofix cf.
3737
intros (x1, s1) (x2, s2) (x3, s3) e12 e23.
3838
case (exteq_inversion _ _ _ _ e12); clear e12; intros e12 ex12.
@@ -61,20 +61,20 @@ Definition extensional (P: infseq T -> Prop) :=
6161

6262
Lemma extensional_True_tl :
6363
extensional True_tl.
64-
Proof.
64+
Proof using.
6565
intros s1 s2 eq; auto.
6666
Qed.
6767

6868
Lemma extensional_False_tl :
6969
extensional False_tl.
70-
Proof.
70+
Proof using.
7171
intros s1 s2 eq; auto.
7272
Qed.
7373

7474
Lemma extensional_and_tl :
7575
forall (P Q: infseq T -> Prop),
7676
extensional P -> extensional Q -> extensional (P /\_ Q).
77-
Proof.
77+
Proof using.
7878
intros P Q eP eQ s1 s2 e. destruct e; simpl. unfold and_tl. intuition.
7979
- apply eP with (Cons x s1); [constructor; assumption | assumption].
8080
- apply eQ with (Cons x s1); [constructor; assumption | assumption].
@@ -83,7 +83,7 @@ Qed.
8383
Lemma extensional_or_tl :
8484
forall (P Q: infseq T -> Prop),
8585
extensional P -> extensional Q -> extensional (P \/_ Q).
86-
Proof.
86+
Proof using.
8787
intros P Q eP eQ s1 s2 e. destruct e; simpl. unfold or_tl. intuition.
8888
- left; apply eP with (Cons x s1); [constructor; assumption | assumption].
8989
- right; apply eQ with (Cons x s1); [constructor; assumption | assumption].
@@ -92,7 +92,7 @@ Qed.
9292
Lemma extensional_impl_tl :
9393
forall (P Q: infseq T -> Prop),
9494
extensional P -> extensional Q -> extensional (P ->_ Q).
95-
Proof.
95+
Proof using.
9696
intros P Q eP eQ s1 s2 e. destruct e; simpl. unfold impl_tl.
9797
intros PQ1 P2.
9898
apply eQ with (Cons x s1); [constructor; assumption | idtac].
@@ -104,7 +104,7 @@ Qed.
104104
Lemma extensional_not_tl :
105105
forall (P: infseq T -> Prop),
106106
extensional P -> extensional (~_ P).
107-
Proof.
107+
Proof using.
108108
intros P eP s1 s2 e; destruct e; simpl. unfold not_tl.
109109
intros P1 nP2.
110110
contradict P1.
@@ -116,28 +116,28 @@ Qed.
116116

117117
Lemma extensional_now :
118118
forall (P: T -> Prop), extensional (now P).
119-
Proof.
119+
Proof using.
120120
intros P s1 s2 e. destruct e; simpl. trivial.
121121
Qed.
122122

123123
Lemma extensional_next :
124124
forall (P: infseq T -> Prop),
125125
extensional P -> extensional (next P).
126-
Proof.
126+
Proof using.
127127
intros P eP s1 s2 exP; destruct exP; simpl.
128128
apply eP; assumption.
129129
Qed.
130130

131131
Lemma extensional_consecutive :
132132
forall (P: T -> T -> Prop), extensional (consecutive P).
133-
Proof.
133+
Proof using.
134134
intros P s1 s2 e. do 2 destruct e; simpl. trivial.
135135
Qed.
136136

137137
Lemma extensional_always :
138138
forall (P: infseq T -> Prop),
139139
extensional P -> extensional (always P).
140-
Proof.
140+
Proof using.
141141
intros P eP. cofix cf.
142142
intros (x1, s1) (x2, s2) e al1. case (always_Cons al1); intros Px1s1 als1. constructor.
143143
- eapply eP; eassumption.
@@ -147,7 +147,7 @@ Qed.
147147
Lemma extensional_weak_until :
148148
forall (P Q: infseq T -> Prop),
149149
extensional P -> extensional Q -> extensional (weak_until P Q).
150-
Proof.
150+
Proof using.
151151
intros P Q eP eQ. cofix cf.
152152
intros (x1, s1) (x2, s2) e un1. case (weak_until_Cons un1).
153153
- intro Q1. constructor 1. eapply eQ; eassumption.
@@ -159,7 +159,7 @@ Qed.
159159
Lemma extensional_until :
160160
forall (P Q: infseq T -> Prop),
161161
extensional P -> extensional Q -> extensional (until P Q).
162-
Proof.
162+
Proof using.
163163
intros P Q eP eQ s1 s2 e un1; genclear e; genclear s2.
164164
induction un1.
165165
- intros s2 e; apply U0; apply eQ with s; assumption.
@@ -173,7 +173,7 @@ Qed.
173173
Lemma extensional_release :
174174
forall (P Q: infseq T -> Prop),
175175
extensional P -> extensional Q -> extensional (release P Q).
176-
Proof.
176+
Proof using.
177177
intros P Q eP eQ. cofix cf.
178178
intros (x1, s1) (x2, s2) e rl1. case (release_Cons rl1). intros Qx orR. case orR; intro orRx.
179179
- apply R0.
@@ -187,7 +187,7 @@ Qed.
187187
Lemma extensional_eventually :
188188
forall (P: infseq T -> Prop),
189189
extensional P -> extensional (eventually P).
190-
Proof.
190+
Proof using.
191191
intros P eP s1 s2 e ev1. genclear e; genclear s2.
192192
induction ev1 as [s1 ev1 | x1 s1 ev1 induc_hyp].
193193
- intros s2 e. constructor 1. apply eP with s1; assumption.
@@ -198,14 +198,14 @@ Qed.
198198
Lemma extensional_inf_often :
199199
forall (P: infseq T -> Prop),
200200
extensional P -> extensional (inf_often P).
201-
Proof.
201+
Proof using.
202202
intros P eP; apply extensional_always; apply extensional_eventually; assumption.
203203
Qed.
204204

205205
Lemma extensional_continuously :
206206
forall (P: infseq T -> Prop),
207207
extensional P -> extensional (continuously P).
208-
Proof.
208+
Proof using.
209209
intros P eP; apply extensional_eventually; apply extensional_always; assumption.
210210
Qed.
211211

0 commit comments

Comments
 (0)