diff options
| author | Pierre-Marie Pédrot | 2019-06-10 12:27:37 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2019-06-17 15:20:03 +0200 |
| commit | a69bb15b1d76b71628b61bc42eb8d79c098074a8 (patch) | |
| tree | 942ea34a92f2eebf7a442288546233b25065856a /stm | |
| parent | 5316d205993bb3fe3f69e8984fe53d4d50aa8d2a (diff) | |
Merge universe quantification and delayed constraints in opaque proofs.
This enforces more invariants statically.
Diffstat (limited to 'stm')
| -rw-r--r-- | stm/stm.ml | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/stm/stm.ml b/stm/stm.ml index bae51d1794..6577309909 100644 --- a/stm/stm.ml +++ b/stm/stm.ml @@ -1751,13 +1751,14 @@ end = struct (* {{{ *) let () = assert (Univ.AUContext.is_empty ctx) in let () = match priv with | Opaqueproof.PrivateMonomorphic () -> () - | Opaqueproof.PrivatePolymorphic ctx -> assert (Univ.ContextSet.is_empty ctx) + | Opaqueproof.PrivatePolymorphic (univs, uctx) -> + let () = assert (Int.equal (Univ.AUContext.size ctx) univs) in + assert (Univ.ContextSet.is_empty uctx) in let pr = Constr.hcons pr in - let (ci, univs, dummy) = p.(bucket) in + let (ci, dummy) = p.(bucket) in let () = assert (Option.is_empty dummy) in - let () = assert (Int.equal (Univ.AUContext.size ctx) univs) in - p.(bucket) <- ci, univs, Some (pr, priv); + p.(bucket) <- ci, Some (pr, priv); Univ.ContextSet.union cst uc, false let check_task name l i = |
