Recent changes
Unreleased changes
Changed
Added
Renamed
Removed
Deprecated
Version 9.0
Changes in 9.0.0
Changed
Changed the requirement prefix of the standard library from
Coq
toStdlib
and made it mandatory. As a temporary measure, for backward compatibility with older versions,Coq
, or a missingFrom Stdlib
, is immediatly translated toStdlib
with a warning. It is thus not recommended to name anythingCoq
orCoq.*
. The recommended transition path is to first potentially silence the warnings, adding the lines-arg -w -arg -deprecated-from-Coq
,-arg -w -arg -deprecated-dirpath-Coq
and-arg -w -arg -deprecated-missing-stdlib
or simply the more generic-arg -compat -arg 8.20
to your_CoqProject
. Then, when droping support for Coq <= 8.20, replacing requirement of Stdlib modules byFrom Stdlib Require {Import,Export,} <LibraryModules>.
. Beware that the Stdlib still has a handful redundant names, that is for modulesByte
, you still have to useFrom Stdlib.Strings
orFrom Stdlib.Init
, forTactics
useFrom Stdlib.Program
orFrom Stdlib.Init
, forTauto
useFrom Stdlib.micromega
orFrom Stdlib.Init
and forWf
, useFrom Stdlib.Program
orFrom Stdlib.Init
(#19310 and #19530, the latter starting to implement CEP#83 by Pierre Roux).in
Fin.v
case_L_R'
andcase_L_R
made transparent definitions (#19655, by Andrej Dudenhefner).
in
List.v
lemmas that were using the letter
O
in their name to refer to zero now use instead the digit0
(#19479, by Hugo Herbelin).
in several files
remove transitive requirements or export of theories about
Z
, you may need to add explicitRequire
orImport
ofZArith
orLia
(#19801, by Andres Erbsen).
in
Zbool.v
definition of
Zeq_bool
is now an alias forZ.eqb
, this is expected to simplify simultaneous compatibility with 8.20 and 9.0 (#19801, by Andres Erbsen).
Added
file
All.v
which doesRequire Export
of all other files in Stdlib (#19914, by Gaëtan Gilbert).in
BinPos.v
lemma
BinPos.iter_op_correct
, relatingPos.iter_op
for associative operations to the more generalPos.iter
(#19749, by Andres Erbsen).
in
Eqdep_dec.v
inLogic
lemmas
UIP_None_l
,UIP_None_r
,UIP_None_None
,UIP_nil_l
,UIP_nil_r
,UIP_nil_nil
(#19483, by Andres Erbsen).
in
EquivDec.v
inClasses
EqDec
instance foroption
(#19949, by Daniil Iaitskov).
in
Fin.v
lemmas
case_L_R'_L
,case_L_R'_R
,case_L_R_L
,case_L_R_R
(#19655, by Andrej Dudenhefner).
in
Inverse_Image.v
inWellfounded
lemmas
Acc_simulation
andwf_simulation
(#18183, by Andrej Dudenhefner).
in
List.v
lemmas
length_cons
andlength_nil
(#19479, by Hugo Herbelin).Proper
instance to enablesetoid_rewrite
to rewrite inside the function argument ofList.map
(#19515, by Andres Erbsen).lemmas
length_tl
,tl_map
,filter_rev
,filter_map_swap
,filter_true
,filter_false
,list_prod_as_flat_map
,skipn_seq
,map_const
,fst_list_prod
,snd_list_prod
,Injective_map_NoDup_in
, andPermutation_map_same_l
(#19748, by Andres Erbsen).lemma
length_app_comm
(#75, by Nicholas Hubbard).
file
List_Extension.v
inWellfounded
(#18183, by Andrej Dudenhefner).in
List_Extension.v
well-founded list extension
list_ext
of a well-founded relation, including infrastructure lemmas. It can be used for well-foundedness proofs such aswf_lex_exp
inLexicographic_Exponentiation.v
(#18183, by Andrej Dudenhefner).
in
NatInt.v
lemmas
mul_reg_l
andmul_reg_r
(#17560, by Remzi Yang).
in
Operators_Properties.v
inRelations
lemma
clos_t_clos_rt
(#18183, by Andrej Dudenhefner).
in
Reals
new file
Zfloor.v
with definitions ofZfloor
andZceil
and corresponding lemmasup_Zfloor
,IZR_up_Zfloor
,Zfloor_bound
,Zfloor_lub
,Zfloor_eq
,Zfloor_le
,Zfloor_addz
,ZfloorZ
,ZfloorNZ
,ZfloorD_cond
,Zceil_eq
,Zceil_le
,Zceil_addz
,ZceilD_cond
,ZfloorB_cond
,ZceilB_cond
(#89, by Laurent Théry).
in
VectorSpec.v
lemma
Forall2_cons_iff
(#19269, by Lucas Donati and Andrej Dudenhefner and Pierre Rousselin).
in
Zdiv.v
lemma
Z.mod_id_iff
generalizesZ.mod_small
. (#19752, by Andres Erbsen).lemmas
Z.mod_opp_mod_opp
,Z.mod_mod_opp_r
,Z.mod_opp_r_mod
,Z.mod_mod_abs_r
,Z.mod_abs_r_mod
combiningZ.modulo
withZ.opp
orZ.abs
(#19752, by Andres Erbsen).Lemmas
cong_iff_0
andcong_iff_ex
can be used to reduce congruence equalities to equations where only one side is headed byZ.modulo
. (#19752, by Andres Erbsen).Lemmas
Z.gcd_mod_l
andZ.gcd_mod_r
generalizeZ.gcd_mod
. (#19752, by Andres Erbsen).Lemma
Z.mod_mod_divide
generalizesZmod_mod
. (#19752, by Andres Erbsen).Lemma
Z.mod_pow_l
allows pushing modulo inside exponentiation (#19752, by Andres Erbsen).
file
Zdiv_facts.v
(#19752, by Andres Erbsen).in
Zdiv_facts.v
in
Znat.v
lemmas
N2Z.inj_lxor
,N2Z.inj_land
,N2Z.inj_lor
,N2Z.inj_ldiff
,N2Z.inj_shiftl
, andN2Z.inj_shiftr
relating bitwise operations onN
to those onZ
(#19750, by Andres Erbsen).
Deprecated
Previous versions
The standard library historically used to be distributed with Coq, please look in Coq own changelog for details about older changes.