Skip to content

Commit 88d9a85

Browse files
committed
modernized proofs with bullets
1 parent 2ca9f63 commit 88d9a85

5 files changed

Lines changed: 389 additions & 396 deletions

File tree

classical.v

Lines changed: 87 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,22 @@ Lemma weak_until_until_or_always :
1111
Proof.
1212
intros J P s.
1313
case (classic (eventually P s)).
14-
intros evP wu.
14+
- intros evP wu.
1515
left.
1616
induction evP.
17-
apply U0. assumption.
18-
apply weak_until_Cons in wu.
19-
case wu.
20-
intros PC.
21-
apply U0. assumption.
22-
intros [Js wu'].
23-
apply U_next; trivial.
24-
apply IHevP.
25-
assumption.
26-
intros evP wu.
27-
right.
28-
apply not_eventually_always_not in evP.
29-
apply weak_until_always_not_always in wu; trivial.
17+
* apply U0. assumption.
18+
* apply weak_until_Cons in wu.
19+
case wu.
20+
+ intros PC.
21+
apply U0. assumption.
22+
+ intros [Js wu'].
23+
apply U_next; trivial.
24+
apply IHevP.
25+
assumption.
26+
- intros evP wu.
27+
right.
28+
apply not_eventually_always_not in evP.
29+
apply weak_until_always_not_always in wu; trivial.
3030
Qed.
3131

3232
Lemma not_until_weak_until :
@@ -37,24 +37,24 @@ intros J P.
3737
cofix c.
3838
intros s.
3939
case (classic (P s)).
40-
intros Ps un.
40+
- intros Ps un.
4141
contradict un.
4242
apply U0.
4343
assumption.
44-
intros Ps.
45-
case (classic (J s)); destruct s as [x s].
46-
intros Js un.
47-
apply W_tl.
48-
unfold and_tl, not_tl.
44+
- intros Ps.
45+
case (classic (J s)); destruct s as [x s].
46+
* intros Js un.
47+
apply W_tl.
48+
+ unfold and_tl, not_tl.
49+
split; trivial.
50+
+ simpl.
51+
apply c.
52+
intros unn.
53+
contradict un.
54+
apply U_next; trivial.
55+
* intros Js un.
56+
apply W0.
4957
split; trivial.
50-
simpl.
51-
apply c.
52-
intros unn.
53-
contradict un.
54-
apply U_next; trivial.
55-
intros Js un.
56-
apply W0.
57-
split; trivial.
5858
Qed.
5959

6060
Lemma not_weak_until_until :
@@ -69,23 +69,23 @@ revert s un.
6969
cofix c.
7070
intros s.
7171
case (classic (P s)).
72-
intros Ps un.
72+
- intros Ps un.
7373
apply W0.
7474
assumption.
75-
intros Ps.
76-
case (classic (J s)); destruct s as [x s].
77-
intros Js un.
78-
apply W_tl; trivial.
79-
simpl.
80-
apply c.
81-
intros unn.
82-
contradict un.
83-
apply U_next; trivial.
84-
split; trivial.
85-
intros Js un.
86-
contradict un.
87-
apply U0.
88-
split; trivial.
75+
- intros Ps.
76+
case (classic (J s)); destruct s as [x s].
77+
* intros Js un.
78+
apply W_tl; trivial.
79+
simpl.
80+
apply c.
81+
intros unn.
82+
contradict un.
83+
apply U_next; trivial.
84+
split; trivial.
85+
* intros Js un.
86+
contradict un.
87+
apply U0.
88+
split; trivial.
8989
Qed.
9090

9191
Lemma not_eventually_not_always :
@@ -98,17 +98,17 @@ intro s.
9898
destruct s as [e s].
9999
intros evnP.
100100
apply Always.
101-
case (classic (P (Cons e s))); trivial.
101+
- case (classic (P (Cons e s))); trivial.
102102
intros orP.
103103
apply (E0 _ (~_ P)) in orP.
104104
contradict evnP.
105105
assumption.
106-
apply c.
107-
simpl.
108-
intros evP.
109-
contradict evnP.
110-
apply E_next.
111-
assumption.
106+
- apply c.
107+
simpl.
108+
intros evP.
109+
contradict evnP.
110+
apply E_next.
111+
assumption.
112112
Qed.
113113

114114
Lemma not_always_eventually_not :
@@ -131,27 +131,27 @@ intros J P.
131131
cofix c.
132132
intros s.
133133
case (classic (J s)).
134-
intros Js un.
134+
- intros Js un.
135135
destruct s as [x s].
136136
apply R0; trivial.
137-
case (classic (P (Cons x s))); trivial.
138-
intros Ps.
139-
contradict un.
140-
apply U0.
141-
apply Ps.
142-
intros Js un.
143-
destruct s as [x s].
144-
apply R_tl.
145137
case (classic (P (Cons x s))); trivial.
146138
intros Ps.
147139
contradict un.
148140
apply U0.
149141
apply Ps.
150-
simpl.
151-
apply c.
152-
intros unn.
153-
contradict un.
154-
apply U_next; trivial.
142+
- intros Js un.
143+
destruct s as [x s].
144+
apply R_tl.
145+
* case (classic (P (Cons x s))); trivial.
146+
intros Ps.
147+
contradict un.
148+
apply U0.
149+
apply Ps.
150+
* simpl.
151+
apply c.
152+
intros unn.
153+
contradict un.
154+
apply U_next; trivial.
155155
Qed.
156156

157157
Lemma not_release_until :
@@ -166,23 +166,23 @@ revert s un.
166166
cofix c.
167167
intros s un.
168168
case (classic (P s)).
169-
intros Ps.
169+
- intros Ps.
170170
contradict un.
171171
apply U0.
172172
assumption.
173-
intros Ps.
174-
case (classic (J s)).
175-
intros Js.
176-
destruct s as [x s].
177-
apply R_tl; trivial.
178-
simpl.
179-
apply c.
180-
intros unn.
181-
contradict un.
182-
apply U_next; trivial.
183-
intros Js.
184-
destruct s as [x s].
185-
apply R0; unfold not_tl; assumption.
173+
- intros Ps.
174+
case (classic (J s)).
175+
* intros Js.
176+
destruct s as [x s].
177+
apply R_tl; trivial.
178+
simpl.
179+
apply c.
180+
intros unn.
181+
contradict un.
182+
apply U_next; trivial.
183+
* intros Js.
184+
destruct s as [x s].
185+
apply R0; unfold not_tl; assumption.
186186
Qed.
187187

188188
Lemma not_inf_often_continuously_not :
@@ -192,11 +192,11 @@ Proof.
192192
intros P s ioP.
193193
apply not_always_eventually_not in ioP.
194194
induction ioP.
195-
apply not_eventually_always_not in H.
195+
- apply not_eventually_always_not in H.
196196
apply E0.
197197
assumption.
198-
apply E_next.
199-
assumption.
198+
- apply E_next.
199+
assumption.
200200
Qed.
201201

202202
Lemma not_continously_inf_often_not :
@@ -207,17 +207,17 @@ intros P.
207207
cofix c.
208208
intros [x s] cnyP.
209209
apply Always.
210-
unfold continuously in cnyP.
210+
- unfold continuously in cnyP.
211211
apply not_eventually_always_not in cnyP.
212212
apply always_now in cnyP.
213213
unfold not_tl in cnyP.
214214
apply not_always_eventually_not in cnyP.
215215
assumption.
216-
apply c.
217-
intros cnynP.
218-
contradict cnyP.
219-
apply E_next.
220-
assumption.
216+
- apply c.
217+
intros cnynP.
218+
contradict cnyP.
219+
apply E_next.
220+
assumption.
221221
Qed.
222222

223223
Lemma not_tl_and_tl_or_tl :

exteq.v

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ Lemma extensional_or_tl :
7373
extensional P -> extensional Q -> extensional (P \/_ Q).
7474
Proof.
7575
intros P Q eP eQ s1 s2 e. destruct e; simpl. unfold or_tl. intuition.
76-
left; apply eP with (Cons x s1); [constructor; assumption | assumption].
77-
right; apply eQ with (Cons x s1); [constructor; assumption | assumption].
76+
- left; apply eP with (Cons x s1); [constructor; assumption | assumption].
77+
- right; apply eQ with (Cons x s1); [constructor; assumption | assumption].
7878
Qed.
7979

8080
Lemma extensional_impl_tl :
@@ -83,10 +83,10 @@ Lemma extensional_impl_tl :
8383
Proof.
8484
intros P Q eP eQ s1 s2 e. destruct e; simpl. unfold impl_tl.
8585
intros PQ1 P2.
86-
apply eQ with (Cons x s1); [constructor; assumption | idtac].
87-
apply PQ1. apply eP with (Cons x s2).
88-
constructor. apply exteq_sym. assumption.
89-
assumption.
86+
apply eQ with (Cons x s1); [constructor; assumption | idtac].
87+
apply PQ1. apply eP with (Cons x s2).
88+
- constructor. apply exteq_sym. assumption.
89+
- assumption.
9090
Qed.
9191

9292
Lemma extensional_not_tl :
@@ -126,10 +126,10 @@ Lemma extensional_always :
126126
forall (P: infseq T -> Prop),
127127
extensional P -> extensional (always P).
128128
Proof.
129-
intros P eP. cofix cf.
130-
intros (x1, s1) (x2, s2) e al1. case (always_Cons al1); intros Px1s1 als1. constructor.
131-
eapply eP; eassumption.
132-
simpl. apply cf with s1; try assumption. case (exteq_inversion e); trivial.
129+
intros P eP. cofix cf.
130+
intros (x1, s1) (x2, s2) e al1. case (always_Cons al1); intros Px1s1 als1. constructor.
131+
- eapply eP; eassumption.
132+
- simpl. apply cf with s1; try assumption. case (exteq_inversion e); trivial.
133133
Qed.
134134

135135
Lemma extensional_weak_until :
@@ -138,10 +138,10 @@ Lemma extensional_weak_until :
138138
Proof.
139139
intros P Q eP eQ. cofix cf.
140140
intros (x1, s1) (x2, s2) e un1. case (weak_until_Cons un1).
141-
intro Q1. constructor 1. eapply eQ; eassumption.
142-
intros (Px1s1, uns1). constructor 2.
143-
eapply eP; eassumption.
144-
simpl. apply cf with s1; try assumption. case (exteq_inversion e); trivial.
141+
- intro Q1. constructor 1. eapply eQ; eassumption.
142+
- intros (Px1s1, uns1). constructor 2.
143+
* eapply eP; eassumption.
144+
* simpl. apply cf with s1; try assumption. case (exteq_inversion e); trivial.
145145
Qed.
146146

147147
Lemma extensional_until :
@@ -150,12 +150,12 @@ Lemma extensional_until :
150150
Proof.
151151
intros P Q eP eQ s1 s2 e un1; genclear e; genclear s2.
152152
induction un1.
153-
intros s2 e; apply U0; apply eQ with s; assumption.
154-
intros (x2, s2) e.
155-
apply U_next.
156-
apply eP with (Cons x s); assumption.
157-
apply IHun1.
158-
case (exteq_inversion e). trivial.
153+
- intros s2 e; apply U0; apply eQ with s; assumption.
154+
- intros (x2, s2) e.
155+
apply U_next.
156+
* apply eP with (Cons x s); assumption.
157+
* apply IHun1.
158+
case (exteq_inversion e). trivial.
159159
Qed.
160160

161161
Lemma extensional_release :
@@ -164,12 +164,12 @@ Lemma extensional_release :
164164
Proof.
165165
intros P Q eP eQ. cofix cf.
166166
intros (x1, s1) (x2, s2) e rl1. case (release_Cons rl1). intros Qx orR. case orR; intro orRx.
167-
apply R0.
168-
eapply eQ; eassumption.
169-
eapply eP; eassumption.
170-
apply R_tl.
171-
eapply eQ; eassumption.
172-
simpl. apply cf with s1; trivial. case (exteq_inversion e); trivial.
167+
- apply R0.
168+
* eapply eQ; eassumption.
169+
* eapply eP; eassumption.
170+
- apply R_tl.
171+
* eapply eQ; eassumption.
172+
* simpl. apply cf with s1; trivial. case (exteq_inversion e); trivial.
173173
Qed.
174174

175175
Lemma extensional_eventually :
@@ -178,9 +178,9 @@ Lemma extensional_eventually :
178178
Proof.
179179
intros P eP s1 s2 e ev1. genclear e; genclear s2.
180180
induction ev1 as [s1 ev1 | x1 s1 ev1 induc_hyp].
181-
intros s2 e. constructor 1. apply eP with s1; assumption.
182-
intros (x2, s2) e. constructor 2. apply induc_hyp.
183-
case (exteq_inversion e). trivial.
181+
- intros s2 e. constructor 1. apply eP with s1; assumption.
182+
- intros (x2, s2) e. constructor 2. apply induc_hyp.
183+
case (exteq_inversion e). trivial.
184184
Qed.
185185

186186
Lemma extensional_inf_often :

0 commit comments

Comments
 (0)