Skip to content

Commit a8a27e9

Browse files
authored
Remove some complexity for PER (#59)
1 parent 4c73b78 commit a8a27e9

File tree

2 files changed

+12
-23
lines changed

2 files changed

+12
-23
lines changed

theories/Core/Semantic/PER.v

+12-13
Original file line numberDiff line numberDiff line change
@@ -123,17 +123,16 @@ Section Per_univ_elem_core_def.
123123

124124
#[derive(equations=no, eliminator=no)]
125125
Equations per_univ_elem_core_strong_ind a b R (H : {{ DF a ≈ b ∈ per_univ_elem_core ↘ R }}) : {{ DF a ≈ b ∈ motive ↘ R }} :=
126-
per_univ_elem_core_strong_ind a b R (per_univ_elem_core_univ lt_j_i eq) := case_U _ _ lt_j_i eq;
127-
per_univ_elem_core_strong_ind a b R per_univ_elem_core_nat := case_nat;
128-
per_univ_elem_core_strong_ind a b R
129-
(per_univ_elem_core_pi in_rel out_rel equiv_a_a' per HT HE) :=
130-
case_Pi out_rel equiv_a_a' (per_univ_elem_core_strong_ind _ _ _ equiv_a_a') per
131-
(fun _ _ equiv_c_c' => match HT _ _ equiv_c_c' with
132-
| mk_rel_mod_eval b b' evb evb' Rel =>
133-
mk_rel_mod_eval b b' evb evb' (conj _ (per_univ_elem_core_strong_ind _ _ _ Rel))
134-
end)
135-
HE;
136-
per_univ_elem_core_strong_ind a b R (per_univ_elem_core_neut equiv_b_b') := case_ne equiv_b_b'.
126+
| a, b, R, (per_univ_elem_core_univ lt_j_i eq) => case_U _ _ lt_j_i eq;
127+
| a, b, R, per_univ_elem_core_nat => case_nat;
128+
| a, b, R, (per_univ_elem_core_pi in_rel out_rel equiv_a_a' per HT HE) =>
129+
case_Pi out_rel equiv_a_a' (per_univ_elem_core_strong_ind _ _ _ equiv_a_a') per
130+
(fun _ _ equiv_c_c' => match HT _ _ equiv_c_c' with
131+
| mk_rel_mod_eval b b' evb evb' Rel =>
132+
mk_rel_mod_eval b b' evb evb' (conj _ (per_univ_elem_core_strong_ind _ _ _ Rel))
133+
end)
134+
HE;
135+
| a, b, R, (per_univ_elem_core_neut equiv_b_b') => case_ne equiv_b_b'.
137136

138137
End Per_univ_elem_core_def.
139138

@@ -193,7 +192,7 @@ Section Per_univ_elem_ind_def.
193192
#[derive(equations=no, eliminator=no), tactic="def_simp"]
194193
Equations per_univ_elem_ind' (i : nat) (a b : domain) (R : relation domain)
195194
(H : {{ DF a ≈ b ∈ per_univ_elem_core i (fun j lt_j_i a a' => exists R', {{ DF a ≈ a' ∈ per_univ_elem j ↘ R' }}) ↘ R }}) : {{ DF a ≈ b ∈ motive i ↘ R }} by wf i :=
196-
per_univ_elem_ind' i a b R H :=
195+
| i, a, b, R, H =>
197196
per_univ_elem_core_strong_ind i _ (motive i)
198197
(fun j j' j_lt_i eq => case_U j j' i j_lt_i eq (fun A B R' H' => per_univ_elem_ind' _ A B R' _))
199198
(case_N i)
@@ -203,7 +202,7 @@ Section Per_univ_elem_ind_def.
203202

204203
#[derive(equations=no, eliminator=no), tactic="def_simp"]
205204
Equations per_univ_elem_ind i a b R (H : per_univ_elem i a b R) : motive i a b R :=
206-
per_univ_elem_ind i a b R H := per_univ_elem_ind' i a b R _.
205+
| i, a, b, R, H := per_univ_elem_ind' i a b R _.
207206

208207
End Per_univ_elem_ind_def.
209208

theories/Core/Semantic/PERLemmas.v

-10
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,6 @@ Qed.
6363
#[export]
6464
Hint Resolve per_bot_trans : mcltt.
6565

66-
Lemma PER_per_bot : PER per_bot.
67-
Proof with solve [mauto].
68-
econstructor...
69-
Qed.
70-
7166
Lemma per_top_sym : forall m n,
7267
{{ Dom m ≈ n ∈ per_top }} ->
7368
{{ Dom n ≈ m ∈ per_top }}.
@@ -93,11 +88,6 @@ Qed.
9388
#[export]
9489
Hint Resolve per_top_trans : mcltt.
9590

96-
Lemma PER_per_top : PER per_top.
97-
Proof with solve [mauto].
98-
econstructor...
99-
Qed.
100-
10191
Lemma per_top_typ_sym : forall m n,
10292
{{ Dom m ≈ n ∈ per_top_typ }} ->
10393
{{ Dom n ≈ m ∈ per_top_typ }}.

0 commit comments

Comments
 (0)