Recent changes¶
Unreleased changes¶
Added¶
in
NatInt.vlemmas
mul_reg_landmul_reg_r(#17560, by Remzi Yang).
file
List_Extension.vinWellfounded(#18183, by Andrej Dudenhefner).in
Inverse_Image.vinWellfoundedlemmas
Acc_simulationandwf_simulation(#18183, by Andrej Dudenhefner).
in
Operators_Properties.vinRelationslemma
clos_t_clos_rt(#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
VectorSpec.vlemma
Forall2_cons_iff(#19269, by Lucas Donati and Andrej Dudenhefner and Pierre Rousselin).
in
List.vlemmas
length_consandlength_nil(#19479, by Hugo Herbelin).
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
List.vProperinstance to enablesetoid_rewriteto rewrite inside the function argument ofList.map(#19515, by Andres Erbsen).
in
Fin.vlemmas
case_L_R'_L,case_L_R'_R,case_L_R_L,case_L_R_R(#19655, by Andrej Dudenhefner).
in
List.vlemmas
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).
in
BinPos.vlemma
BinPos.iter_op_correct, relatingPos.iter_opfor associative operations to the more generalPos.iter(#19749, by Andres Erbsen).
in
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).
file
Zdiv_facts.v(#19752, by Andres Erbsen).in file
Zdiv_facts.vin file
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).
Deprecated: module
ZArith_Base, moduleZtac, andZeq_bool. UseZArith(orBinInt),Lia, andZ.eqbinstead. Reducing use of the deprecated modules in stdlib changed the transitive dependencies of several stdlib files; you may now need toRequireorImportZArithorLia. The definition ofZeq_boolwas also changed to be an alias forZ.eqb; this is expected to simplify simultaneous compatibility with 8.20 and 9.0 (#19801, by Andres Erbsen).Added:
Stdlib.Allwhich doesRequire Exportof all other files in the stdlib (#19914, by Gaëtan Gilbert).in
EquivDec.vinClasses(#19949, by Daniil Iaitskov).EqDecinstance foroption
in
List.vlemma
length_app_comm(#75, by Nicholas Hubbard).
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
List.vlemmas that were using the letter
Oin their name to refer to zero now use instead the digit0(#19479, by Hugo Herbelin).
in
Fin.vcase_L_R'andcase_L_Rmade transparent definitions (#19655, by Andrej Dudenhefner).
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).
Renamed¶
Deprecated¶
Changed¶
Previous versions¶
The standard library historically used to be distributed with Coq, please look in Coq own changelog for details about older changes.