Recent changes
Version 9.0
Changes in 9.0.0
Changed
Changed the requirement prefix of the standard library from
CoqtoStdliband made it mandatory. As a temporary measure, for backward compatibility with older versions,Coq, or a missingFrom Stdlib, is immediatly translated toStdlibwith a warning. It is thus not recommended to name anythingCoqorCoq.*. 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-Coqand-arg -w -arg -deprecated-missing-stdlibor simply the more generic-arg -compat -arg 8.20to 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.StringsorFrom Stdlib.Init, forTacticsuseFrom Stdlib.ProgramorFrom Stdlib.Init, forTautouseFrom Stdlib.micromegaorFrom Stdlib.Initand forWf, useFrom Stdlib.ProgramorFrom Stdlib.Init(#19310 and #19530, the latter starting to implement CEP#83 by Pierre Roux).in
Fin.vcase_L_R'andcase_L_Rmade transparent definitions (#19655, by Andrej Dudenhefner).
in
List.vlemmas that were using the letter
Oin 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 explicitRequireorImportofZArithorLia(#19801, by Andres Erbsen).
in
Zbool.vdefinition of
Zeq_boolis 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.vwhich doesRequire Exportof all other files in Stdlib (#19914, by Gaëtan Gilbert).in
BinPos.vlemma
BinPos.iter_op_correct, relatingPos.iter_opfor associative operations to the more generalPos.iter(#19749, by Andres Erbsen).
in
Eqdep_dec.vinLogiclemmas
UIP_None_l,UIP_None_r,UIP_None_None,UIP_nil_l,UIP_nil_r,UIP_nil_nil(#19483, by Andres Erbsen).
in
EquivDec.vinClassesEqDecinstance foroption(#19949, by Daniil Iaitskov).
in
Fin.vlemmas
case_L_R'_L,case_L_R'_R,case_L_R_L,case_L_R_R(#19655, by Andrej Dudenhefner).
in
Inverse_Image.vinWellfoundedlemmas
Acc_simulationandwf_simulation(#18183, by Andrej Dudenhefner).
in
List.vlemmas
length_consandlength_nil(#19479, by Hugo Herbelin).Properinstance to enablesetoid_rewriteto 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.vinWellfounded(#18183, by Andrej Dudenhefner).in
List_Extension.vwell-founded list extension
list_extof a well-founded relation, including infrastructure lemmas. It can be used for well-foundedness proofs such aswf_lex_expinLexicographic_Exponentiation.v(#18183, by Andrej Dudenhefner).
in
NatInt.vlemmas
mul_reg_landmul_reg_r(#17560, by Remzi Yang).
in
Operators_Properties.vinRelationslemma
clos_t_clos_rt(#18183, by Andrej Dudenhefner).
in
Realsnew file
Zfloor.vwith definitions ofZfloorandZceiland 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.vlemma
Forall2_cons_iff(#19269, by Lucas Donati and Andrej Dudenhefner and Pierre Rousselin).
in
Zdiv.vlemma
Z.mod_id_iffgeneralizesZ.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_modcombiningZ.modulowithZ.opporZ.abs(#19752, by Andres Erbsen).Lemmas
cong_iff_0andcong_iff_excan be used to reduce congruence equalities to equations where only one side is headed byZ.modulo. (#19752, by Andres Erbsen).Lemmas
Z.gcd_mod_landZ.gcd_mod_rgeneralizeZ.gcd_mod. (#19752, by Andres Erbsen).Lemma
Z.mod_mod_dividegeneralizesZmod_mod. (#19752, by Andres Erbsen).Lemma
Z.mod_pow_lallows pushing modulo inside exponentiation (#19752, by Andres Erbsen).
file
Zdiv_facts.v(#19752, by Andres Erbsen).in
Zdiv_facts.vin
Znat.vlemmas
N2Z.inj_lxor,N2Z.inj_land,N2Z.inj_lor,N2Z.inj_ldiff,N2Z.inj_shiftl, andN2Z.inj_shiftrrelating bitwise operations onNto 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.