aboutsummaryrefslogtreecommitdiff
path: root/checker
diff options
context:
space:
mode:
authorGaëtan Gilbert2019-06-13 15:39:43 +0200
committerGaëtan Gilbert2020-07-01 13:06:22 +0200
commit2ded4c25e532c5dfca0483c211653768ebed01a7 (patch)
treea04b2f787490c8971590e6bdf7dd1ec4220e0290 /checker
parentb017e302f69f20fc4fc3d4088a305194f6c387fa (diff)
UIP in SProp
Diffstat (limited to 'checker')
-rw-r--r--checker/checkFlags.ml1
-rw-r--r--checker/checker.ml1
-rw-r--r--checker/values.ml5
3 files changed, 5 insertions, 2 deletions
diff --git a/checker/checkFlags.ml b/checker/checkFlags.ml
index 1f5e76bd83..369623e8c5 100644
--- a/checker/checkFlags.ml
+++ b/checker/checkFlags.ml
@@ -18,6 +18,7 @@ let set_local_flags flags env =
check_universes = flags.check_universes;
conv_oracle = flags.conv_oracle;
cumulative_sprop = flags.cumulative_sprop;
+ allow_uip = flags.allow_uip;
}
in
Environ.set_typing_flags flags env
diff --git a/checker/checker.ml b/checker/checker.ml
index 086acc482c..ab0ea41a36 100644
--- a/checker/checker.ml
+++ b/checker/checker.ml
@@ -299,6 +299,7 @@ let explain_exn = function
| UnsatisfiedConstraints _ -> str"UnsatisfiedConstraints"
| DisallowedSProp -> str"DisallowedSProp"
| BadRelevance -> str"BadRelevance"
+ | BadInvert -> str"BadInvert"
| UndeclaredUniverse _ -> str"UndeclaredUniverse"))
| InductiveError e ->
diff --git a/checker/values.ml b/checker/values.ml
index cce0ce7203..178a3d8624 100644
--- a/checker/values.ml
+++ b/checker/values.ml
@@ -147,7 +147,7 @@ let rec v_constr =
[|v_puniverses v_cst|]; (* Const *)
[|v_puniverses v_ind|]; (* Ind *)
[|v_puniverses v_cons|]; (* Construct *)
- [|v_caseinfo;v_constr;v_constr;Array v_constr|]; (* Case *)
+ [|v_caseinfo;v_constr;v_case_invert;v_constr;Array v_constr|]; (* Case *)
[|v_fix|]; (* Fix *)
[|v_cofix|]; (* CoFix *)
[|v_proj;v_constr|]; (* Proj *)
@@ -159,6 +159,7 @@ and v_prec = Tuple ("prec_declaration",
[|Array (v_binder_annot v_name); Array v_constr; Array v_constr|])
and v_fix = Tuple ("pfixpoint", [|Tuple ("fix2",[|Array Int;Int|]);v_prec|])
and v_cofix = Tuple ("pcofixpoint",[|Int;v_prec|])
+and v_case_invert = Sum ("case_inversion", 1, [|[|v_instance;Array v_constr|]|])
let v_rdecl = v_sum "rel_declaration" 0
[| [|v_binder_annot v_name; v_constr|]; (* LocalAssum *)
@@ -244,7 +245,7 @@ let v_typing_flags =
v_tuple "typing_flags"
[|v_bool; v_bool; v_bool;
v_oracle; v_bool; v_bool;
- v_bool; v_bool; v_bool|]
+ v_bool; v_bool; v_bool; v_bool|]
let v_univs = v_sum "universes" 0 [|[|v_context_set|]; [|v_abs_context|]|]