| Age | Commit message (Collapse) | Author |
|
Reviewed-by: gares
Ack-by: Janno
Ack-by: CohenCyril
Ack-by: Zimmi48
Ack-by: jfehrle
Ack-by: SkySkimmer
|
|
|
|
Reviewed-by: mattam82
Ack-by: Zimmi48
|
|
Reviewed-by: Zimmi48
Reviewed-by: vbgl
|
|
- to zify the conclusion, we are using Tactics.apply (not rewrite)
Closes #11089
- constrain the arguments of Add Zify X to be GlobRef.t
Unset Primitive Projections so that projections are GlobRef.t.
Closes #14043
Update doc/sphinx/addendum/micromega.rst
Co-authored-by: Théo Zimmermann <theo.zimmi@gmail.com>
|
|
The role of the `zify_saturate` tactic is to augment the goal with
positivity constraints. The premisses were previously obtained from
the context. If they are not present, we instantiate the saturation
lemma anyway.
Also,
- Remove saturation rules for Z.mul, the reasoning is performed by lia/nia
- Run zify_saturate after zify_to_euclidean_division_equations
- Better lemma for Z.power
- Ensure that lemma are generated once
Co-authored-by: Andrej Dudenhefner <mrhaandi>
Closes #12184, #11656
|
|
Reviewed-by: vbgl
|
|
The vernacular command takes a reference instead of a constr.
Moreover, the head symbol is checked i.e
Add Zify InjTyp ref checks that the referenced term has type
Intyp X1 ... Xn
Closes #14054, #13242
Co-authored-by: Vincent Laporte <vbgl@users.noreply.github.com>
|
|
Reviewed-by: SkySkimmer
Reviewed-by: jfehrle
Reviewed-by: silene
|
|
Reviewed-by: olaure01
Ack-by: jfehrle
|
|
Reviewed-by: ejgallego
|
|
|
|
|
|
|
|
From an OCaml library point of view.
|
|
|
|
add polynomial specifications of to_nat
add changelog and doc entries
|
|
Reviewed-by: pi8027
|
|
|
|
The documentation of extraction became outdated when the big.ml wrapper
got modified by 094e4649c29e2426daca0476c140439de901dafe.
|
|
fix unexpectedly broken MSetGenTree.v
add changelog entry
|
|
Forall_map, Forall_concat, Forall_flat_map, nth_error_map, nth_repeat, nth_error_repeat
|
|
Reviewed-by: anton-trunov
|
|
Reviewed-by: anton-trunov
|
|
Reviewed-by: anton-trunov
|
|
|
|
We introduce a new package structure for Coq:
- `coq-core`: Coq's OCaml tools code and plugins
- `coq-stdlib`: Coq's stdlib [.vo files]
- `coq`: meta-package that pulls `coq-{core,stdlib}`
This has several advantages, in particular it allows to install Coq
without the stdlib which is useful in several scenarios, it also open
the door towards a versioning of the stdlib at the package level.
The main user-visible change is that Coq's ML development files now
live in `$lib/coq-core`, for compatibility in the regular build we
install a symlink and support both setups for a while.
Note that plugin developers and even `coq_makefile` should actually
rely on `ocamlfind` to locate Coq's OCaml libs as to be more robust.
There is a transient state where we actually look for both
`$coqlib/plugins` and `$coqlib/../coq-core/plugins` as to support
the non-ocamlfind plus custom variables.
This will be much improved once #13617 is merged (which requires this
PR first), then, we will introduce a `coq.boot` library so finally
`coqdep`, `coqchk`, etc... can share the same path setup code.
IMHO the plan should work fine.
|
|
Signed primitive integers defined on top of the existing unsigned ones
with two's complement.
The module Sint63 includes the theory of signed primitive integers that
differs from the unsigned case.
Additions to the kernel:
les (signed <=), lts (signed <), compares (signed compare),
divs (signed division), rems (signed remainder),
asr (arithmetic shift right)
(The s suffix is not used when importing the Sint63 module.)
The printing and parsing of primitive ints was updated and the
int63_syntax_plugin was removed (we use Number Notation instead).
A primitive int is parsed / printed as unsigned or signed depending on
the scope. In the default (Set Printing All) case, it is printed in
hexadecimal.
|
|
Reviewed-by: anton-trunov
|
|
|
|
|
|
|
|
|
|
|
|
The function returned by DRealAbstr starts by a call to the axiom
sig_forall_dec, so it is not computable anyway.
|
|
Since the proofs start by applying or destructuring Qed-ed lemmas, they cannot
be used in a computational setting, so no need for them to be Defined.
|
|
|
|
Reviewed-by: SkySkimmer
Reviewed-by: Zimmi48
|
|
|
|
This reduces the tactic invocation time from 10s to 0.25s on my machine. I
was growing tired of having to wait for that file while compiling the stdlib.
|
|
Ack-by: SkySkimmer
Reviewed-by: ppedrot
|
|
We deprecate unspecified locality as was done for Hint.
Close #13724
|
|
Also works for simpl.
|
|
|
|
|
|
|
|
|
|
I used `match goal` a lot to access hypotheses without knowing their
name.
|
|
|
|
|