Recent changes¶
Unreleased changes¶
Added¶
- in - NatInt.v- lemmas - mul_reg_land- mul_reg_r(#17560, by Remzi Yang).
 
- file - List_Extension.vin- Wellfounded(#18183, by Andrej Dudenhefner).
- in - Inverse_Image.vin- Wellfounded- lemmas - Acc_simulationand- wf_simulation(#18183, by Andrej Dudenhefner).
 
- in - Operators_Properties.vin- Relations- lemma - clos_t_clos_rt(#18183, by Andrej Dudenhefner).
 
- in - List_Extension.v- well-founded list extension - list_extof a well-founded relation, including infrastructure lemmas. It can be used for well-foundedness proofs such as- wf_lex_expin- Lexicographic_Exponentiation.v(#18183, by Andrej Dudenhefner).
 
- in - VectorSpec.v- lemma - Forall2_cons_iff(#19269, by Lucas Donati and Andrej Dudenhefner and Pierre Rousselin).
 
- in - List.v- lemmas - length_consand- length_nil(#19479, by Hugo Herbelin).
 
- in - Eqdep_dec.vin- Logic- lemmas - UIP_None_l,- UIP_None_r,- UIP_None_None,- UIP_nil_l,- UIP_nil_r,- UIP_nil_nil(#19483, by Andres Erbsen).
 
- in - List.v- Properinstance to enable- setoid_rewriteto rewrite inside the function argument of- List.map(#19515, by Andres Erbsen).
 
- 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 - List.v- 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, and- Permutation_map_same_l(#19748, by Andres Erbsen).
 
- in - BinPos.v- lemma - BinPos.iter_op_correct, relating- Pos.iter_opfor associative operations to the more general- Pos.iter(#19749, by Andres Erbsen).
 
- in - Znat.v- lemmas - N2Z.inj_lxor,- N2Z.inj_land,- N2Z.inj_lor,- N2Z.inj_ldiff,- N2Z.inj_shiftl, and- N2Z.inj_shiftrrelating bitwise operations on- Nto those on- Z(#19750, by Andres Erbsen).
 
- file - Zdiv_facts.v(#19752, by Andres Erbsen).
- in file - Zdiv_facts.v
- in file - Zdiv.v- lemma - Z.mod_id_iffgeneralizes- Z.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_modcombining- Z.modulowith- Z.oppor- Z.abs(#19752, by Andres Erbsen).
- Lemmas - cong_iff_0and- cong_iff_excan be used to reduce congruence equalities to equations where only one side is headed by- Z.modulo. (#19752, by Andres Erbsen).
- Lemmas - Z.gcd_mod_land- Z.gcd_mod_rgeneralize- Z.gcd_mod. (#19752, by Andres Erbsen).
- Lemma - Z.mod_mod_dividegeneralizes- Zmod_mod. (#19752, by Andres Erbsen).
- Lemma - Z.mod_pow_lallows pushing modulo inside exponentiation (#19752, by Andres Erbsen).
 
- Deprecated: module - ZArith_Base, module- Ztac, and- Zeq_bool. Use- ZArith(or- BinInt),- Lia, and- Z.eqbinstead. Reducing use of the deprecated modules in stdlib changed the transitive dependencies of several stdlib files; you may now need to- Requireor- Import- ZArithor- Lia. The definition of- Zeq_boolwas also changed to be an alias for- Z.eqb; this is expected to simplify simultaneous compatibility with 8.20 and 9.0 (#19801, by Andres Erbsen).
- Added: - Stdlib.Allwhich does- Require Exportof all other files in the stdlib (#19914, by Gaëtan Gilbert).
- in - EquivDec.vin- Classes(#19949, by Daniil Iaitskov).- EqDecinstance for- option
 
- in - List.v- lemma - length_app_comm(#75, by Nicholas Hubbard).
 
Changed¶
- Changed the requirement prefix of the standard library from - Coqto- Stdliband made it mandatory. As a temporary measure, for backward compatibility with older versions,- Coq, or a missing- From Stdlib, is immediatly translated to- Stdlibwith a warning. It is thus not recommended to name anything- Coqor- Coq.*. 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 by- From Stdlib Require {Import,Export,} <LibraryModules>.. Beware that the Stdlib still has a handful redundant names, that is for modules- Byte, you still have to use- From Stdlib.Stringsor- From Stdlib.Init, for- Tacticsuse- From Stdlib.Programor- From Stdlib.Init, for- Tautouse- From Stdlib.micromegaor- From Stdlib.Initand for- Wf, use- From Stdlib.Programor- From Stdlib.Init(#19310 and #19530, the latter starting to implement CEP#83 by Pierre Roux).
- in - List.v- lemmas that were using the letter - Oin their name to refer to zero now use instead the digit- 0(#19479, by Hugo Herbelin).
 
- in - Fin.v- case_L_R'and- case_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 explicit- Requireor- Importof- ZArithor- Lia(#19801, by Andres Erbsen).
 
- in - Zbool.v- definition of - Zeq_boolis now an alias for- Z.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.