Skip to content

Commit ca46abf

Browse files
committed
_witness -> _inhab
1 parent 29cbcec commit ca46abf

File tree

5 files changed

+45
-45
lines changed

5 files changed

+45
-45
lines changed

apps/derive/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Check is_list_functor : forall A PA QA,
119119
```coq
120120
Elpi derive.param1.trivial is_nat.
121121
Check is_nat_trivial : forall x : nat, { p : is_nat x & forall q, p = q }.
122-
Check is_nat_witness : forall x : nat, is_nat x.
122+
Check is_nat_inhab : forall x : nat, is_nat x.
123123
```
124124

125125
### `induction`

apps/derive/tests/test_derive.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Elpi derive bool.
3434

3535
Check nat_eqb : nat -> nat -> bool.
3636
Check is_nat : nat -> Type.
37-
Check is_nat_witness : forall x, is_nat x.
37+
Check is_nat_inhab : forall x, is_nat x.
3838
Check is_nat_functor : forall x, is_nat x -> is_nat x.
3939
Check nat_induction : forall P, P 0 -> (forall n, P n -> P (S n)) -> forall x, is_nat x -> P x.
4040

apps/derive/tests/test_param1_trivial.v

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -77,30 +77,30 @@ Check is_val_trivial : trivial val is_val.
7777

7878

7979

80-
Check is_empty_witness : full empty is_empty.
81-
Check is_unit_witness : full unit is_unit.
82-
Check is_peano_witness : full peano is_peano.
83-
Check is_option_witness : forall A P, full A P -> full (option A) (is_option A P).
84-
Check is_pair_witness : forall A P, full A P -> forall B Q, full B Q -> full (pair A B) (is_pair A P B Q).
85-
Check is_seq_witness : forall A P, full A P -> full (seq A) (is_seq A P).
86-
Check is_rose_witness : forall A P, full A P -> full (rose A) (is_rose A P).
87-
Fail Check is_nest_witness.
88-
Fail Check is_w_witness : forall A P, full A P -> full (w A) (is_w A P).
89-
Fail Check is_vect_witness : forall A P, full A P -> forall i pi, full (vect A i) (is_vect A P i pi).
90-
Fail Check is_dyn_witness.
91-
Check is_zeta_witness : forall A P, full A P -> full (zeta A) (is_zeta A P).
92-
Check is_beta_witness : forall A P, full A P -> full (beta A) (is_beta A P).
93-
Fail Check is_iota_witness.
94-
Check is_large_witness : full large is_large.
95-
Check is_prim_int_witness : full prim_int is_prim_int.
96-
Check is_prim_float_witness : full prim_float is_prim_float.
80+
Check is_empty_inhab : full empty is_empty.
81+
Check is_unit_inhab : full unit is_unit.
82+
Check is_peano_inhab : full peano is_peano.
83+
Check is_option_inhab : forall A P, full A P -> full (option A) (is_option A P).
84+
Check is_pair_inhab : forall A P, full A P -> forall B Q, full B Q -> full (pair A B) (is_pair A P B Q).
85+
Check is_seq_inhab : forall A P, full A P -> full (seq A) (is_seq A P).
86+
Check is_rose_inhab : forall A P, full A P -> full (rose A) (is_rose A P).
87+
Fail Check is_nest_inhab.
88+
Fail Check is_w_inhab : forall A P, full A P -> full (w A) (is_w A P).
89+
Fail Check is_vect_inhab : forall A P, full A P -> forall i pi, full (vect A i) (is_vect A P i pi).
90+
Fail Check is_dyn_inhab.
91+
Check is_zeta_inhab : forall A P, full A P -> full (zeta A) (is_zeta A P).
92+
Check is_beta_inhab : forall A P, full A P -> full (beta A) (is_beta A P).
93+
Fail Check is_iota_inhab.
94+
Check is_large_inhab : full large is_large.
95+
Check is_prim_int_inhab : full prim_int is_prim_int.
96+
Check is_prim_float_inhab : full prim_float is_prim_float.
9797

98-
Check is_fo_record_witness : full fo_record is_fo_record.
99-
Check is_pa_record_witness : forall A P, full A P -> full (pa_record A) (is_pa_record A P).
100-
Check is_pr_record_witness : forall A P, full A P -> full (pr_record A) (is_pr_record A P).
101-
Check is_enum_witness : full enum is_enum.
98+
Check is_fo_record_inhab : full fo_record is_fo_record.
99+
Check is_pa_record_inhab : forall A P, full A P -> full (pa_record A) (is_pa_record A P).
100+
Check is_pr_record_inhab : forall A P, full A P -> full (pr_record A) (is_pr_record A P).
101+
Check is_enum_inhab : full enum is_enum.
102102

103-
Check is_sigma_bool_witness : full sigma_bool is_sigma_bool.
104-
Check is_ord_witness : forall p px, full (ord p) (is_ord p px).
105-
Check is_ord2_witness : forall p px, full (ord2 p) (is_ord2 p px).
106-
Check is_val_witness : full val is_val.
103+
Check is_sigma_bool_inhab : full sigma_bool is_sigma_bool.
104+
Check is_ord_inhab : forall p px, full (ord p) (is_ord p px).
105+
Check is_ord2_inhab : forall p px, full (ord2 p) (is_ord2 p px).
106+
Check is_val_inhab : full val is_val.

apps/derive/theories/derive/eqOK.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
(* Generates the final, correctness lemma, for equality tests by combinig the
2-
output of eqcorrect and param1_witness.
2+
output of eqcorrect and param1_inhab.
33
44
license: GNU Lesser General Public License Version 2.1 or later
55
------------------------------------------------------------------------- *)

apps/derive/theories/derive/param1_trivial.v

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ From elpi Require Import elpi.
1616
From elpi.apps Require Import derive.param1 derive.param1_congr.
1717

1818

19-
Definition is_uint63_witness x : is_uint63 x. Proof. constructor. Defined.
20-
Register is_uint63_witness as elpi.derive.is_uint63_witness.
19+
Definition is_uint63_inhab x : is_uint63 x. Proof. constructor. Defined.
20+
Register is_uint63_inhab as elpi.derive.is_uint63_inhab.
2121

22-
Definition is_float64_witness x : is_float64 x. Proof. constructor. Defined.
23-
Register is_float64_witness as elpi.derive.is_float64_witness.
22+
Definition is_float64_inhab x : is_float64 x. Proof. constructor. Defined.
23+
Register is_float64_inhab as elpi.derive.is_float64_inhab.
2424

25-
Definition is_eq_witness
25+
Definition is_eq_inhab
2626
A (PA : A -> Type) (HA : trivial A PA) (x : A) (px: PA x) y (py : PA y) (eq_xy : x = y) :
2727
is_eq A PA x px y py eq_xy.
2828
Proof.
@@ -33,15 +33,15 @@ Proof.
3333
rewrite <- (trivial_uniq A PA HA x py); clear py.
3434
apply (is_eq_refl A PA x (trivial_full A PA HA x)).
3535
Defined.
36-
Register is_eq_witness as elpi.derive.is_eq_witness.
36+
Register is_eq_inhab as elpi.derive.is_eq_inhab.
3737

3838
Definition is_uint63_trivial : trivial PrimInt63.int is_uint63 :=
39-
fun x => contracts _ is_uint63 x (is_uint63_witness x)
39+
fun x => contracts _ is_uint63 x (is_uint63_inhab x)
4040
(fun y => match y with uint63 i => eq_refl end).
4141
Register is_uint63_trivial as elpi.derive.is_uint63_trivial.
4242

4343
Definition is_float64_trivial : trivial PrimFloat.float is_float64 :=
44-
fun x => contracts _ is_float64 x (is_float64_witness x)
44+
fun x => contracts _ is_float64 x (is_float64_inhab x)
4545
(fun y => match y with float64 i => eq_refl end).
4646
Register is_float64_trivial as elpi.derive.is_float64_trivial.
4747

@@ -50,14 +50,14 @@ Lemma is_eq_trivial A (PA : A -> Type) (HA : trivial A PA) (x : A) (px: PA x)
5050
: trivial (x = y) (is_eq A PA x px y py).
5151
Proof.
5252
intro p.
53-
apply (contracts (x = y) (is_eq A PA x px y py) p (is_eq_witness A PA HA x px y py p)).
53+
apply (contracts (x = y) (is_eq A PA x px y py) p (is_eq_inhab A PA HA x px y py p)).
5454
revert py.
5555
case p; clear p y.
5656
rewrite <- (trivial_uniq _ _ HA x px). clear px.
5757
intros py.
5858
rewrite <- (trivial_uniq _ _ HA x py). clear py.
5959
intro v; case v; clear v.
60-
unfold is_eq_witness.
60+
unfold is_eq_inhab.
6161
unfold trivial_full.
6262
unfold trivial_uniq.
6363
case (HA x); intros it def_it; compute.
@@ -73,9 +73,9 @@ Elpi Db derive.param1.trivial.db lp:{{
7373

7474
type param1-inhab-db term -> term -> prop.
7575

76-
param1-inhab-db {{ lib:elpi.derive.is_uint63 }} {{ lib:elpi.derive.is_uint63_witness }}.
77-
param1-inhab-db {{ lib:elpi.derive.is_float64 }} {{ lib:elpi.derive.is_float64_witness }}.
78-
param1-inhab-db {{ lib:elpi.derive.is_eq }} {{ lib:elpi.derive.is_eq_witness }}.
76+
param1-inhab-db {{ lib:elpi.derive.is_uint63 }} {{ lib:elpi.derive.is_uint63_inhab }}.
77+
param1-inhab-db {{ lib:elpi.derive.is_float64 }} {{ lib:elpi.derive.is_float64_inhab }}.
78+
param1-inhab-db {{ lib:elpi.derive.is_eq }} {{ lib:elpi.derive.is_eq_inhab }}.
7979

8080
param1-inhab-db (fun `f` (prod `_` S _\ T) f\
8181
prod `x` S x\ prod `px` (RS x) _)
@@ -89,7 +89,7 @@ Elpi Db derive.param1.trivial.db lp:{{
8989

9090
param1-inhab-db
9191
{{ lib:elpi.derive.is_eq lp:A lp:PA lp:X lp:PX lp:Y lp:PY }}
92-
{{ lib:elpi.derive.is_eq_witness lp:A lp:PA lp:QA lp:X lp:PX lp:Y lp:PY }} :- !,
92+
{{ lib:elpi.derive.is_eq_inhab lp:A lp:PA lp:QA lp:X lp:PX lp:Y lp:PY }} :- !,
9393
param1-trivial-db PA QA.
9494

9595
param1-inhab-db (app [Hd|Args]) (app[P|PArgs]) :-
@@ -150,7 +150,7 @@ Elpi Accumulate File param1_inhab.
150150
Elpi Accumulate File param1_trivial.
151151
Elpi Accumulate lp:{{
152152
main [str I] :- !, coq.locate I (indt GR),
153-
derive.param1.inhab.main GR "_witness" CL,
153+
derive.param1.inhab.main GR "_inhab" CL,
154154
CL => derive.param1.trivial.main GR "_trivial" _.
155155
main _ :- usage.
156156

@@ -169,7 +169,7 @@ Elpi Accumulate Db derive.param1.trivial.db.
169169
Elpi Accumulate File param1_inhab.
170170
Elpi Accumulate lp:{{
171171
main [str I] :- !, coq.locate I (indt GR),
172-
derive.param1.inhab.main GR "_witness" _.
172+
derive.param1.inhab.main GR "_inhab" _.
173173
main _ :- usage.
174174

175175
usage :-
@@ -188,7 +188,7 @@ dep1 "param1_trivial" "param1_inhab".
188188
dep1 "param1_trivial" "param1_congr".
189189
dep1 "param1_inhab" "param1".
190190

191-
derivation (indt T) _ (derive "param1_inhab" (derive.on_param1 T derive.param1.inhab.main "_witness") (derive.on_param1 T (T\_\_\param1-inhab-done T) _ _)).
191+
derivation (indt T) _ (derive "param1_inhab" (derive.on_param1 T derive.param1.inhab.main "_inhab") (derive.on_param1 T (T\_\_\param1-inhab-done T) _ _)).
192192
derivation (indt T) _ (derive "param1_trivial" (derive.on_param1 T derive.param1.trivial.main "_trivial") (derive.on_param1 T (T\_\_\param1-trivial-done T) _ _)).
193193

194194
}}.

0 commit comments

Comments
 (0)