Skip to content

Commit 30b65bf

Browse files
committed
fix README
1 parent 7cdc851 commit 30b65bf

3 files changed

Lines changed: 14 additions & 21 deletions

File tree

README.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,7 @@ A note about factorions is available [here](https://inria.hal.science/hal-052656
109109

110110
## Building and installation instructions
111111

112-
The easiest way to install the latest released version of mathcomp-extra
113-
is via [OPAM](https://opam.ocaml.org/doc/Install.html):
114-
115-
```shell
116-
opam repo add rocq-released https://rocq-prover.org/opam/released
117-
opam install coq-mathcomp-extra
118-
```
119-
120-
To instead build and install manually, do:
112+
To build and install manually, do:
121113

122114
``` shell
123115
git clone https://github.com/thery/mathcomp-extra.git

binception.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ case: n => //= [] [|n]//.
1313
have pbin2 m : 'C(m, 2).*2 = m.-1 * m.
1414
by case: m => //= m; rewrite -mul2n mul_bin_left bin1 subn1.
1515
have pbin4 m : 24 * 'C(m.+3, 4) = m * m.+1 * m.+2 * m.+3.
16-
rewrite -[24]/(2 * 3 *4) -!mulnA mul_bin_left [3 * _]mulnCA mul_bin_left.
16+
rewrite -[24]/(2 * 3 * 4) -!mulnA mul_bin_left [3 * _]mulnCA mul_bin_left.
1717
rewrite !subSS !subn0 mulnCA; congr muln.
1818
by rewrite mulnCA mul_bin_left bin1 subn1.
1919
apply: double_inj; rewrite pbin2.

repeatxy.v

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ From mathcomp Require Import all_boot.
33
From Stdlib Require Import NArith.
44
Require Import digitn.
55

6+
67
(******************************************************************************)
78
(* *)
89
(* A formalisation of the wrong fact *)
@@ -329,7 +330,7 @@ Proof. by []. Qed.
329330

330331
Lemma is_repeat_digit n p :
331332
size p = n.*2 -> is_repeat p =
332-
[forall i : 'I_n.*2, digitn 10 (n10nat p) i == digitn 10 (n10nat p) (i %%2)].
333+
[forall i : 'I_n.*2, digitn 10 (n10nat p) i == digitn 10 (n10nat p) (i %% 2)].
333334
Proof.
334335
have dL d : dval d < 10 by case: d.
335336
elim: n p => [|n IH] [|d1 [|d2 [|d3 [|d4 p]]]] H //.
@@ -520,7 +521,7 @@ Qed.
520521
Definition get_list n := let: Res l _ _ := run_res n in [seq n10nat i | i <- l].
521522

522523
Lemma get_list_correct n i : i <= (10%N ^ n.+1.*2)./2 ->
523-
(forall j, j < n.+1.*2 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %%2)) ->
524+
(forall j, j < n.+1.*2 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %% 2)) ->
524525
(i ^ 2) %% 100 \in get_list n.
525526
Proof.
526527
move=> iLp Hf.
@@ -541,7 +542,7 @@ Qed.
541542

542543
Lemma get_list_all_correct n i :
543544
0 < n ->
544-
(forall j, j < n.+1.*2 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %%2)) ->
545+
(forall j, j < n.+1.*2 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %% 2)) ->
545546
(i ^ 2) %% 100 \in get_list n.
546547
Proof.
547548
move=> n_pos Hf.
@@ -582,31 +583,31 @@ by apply: Hf1.
582583
Qed.
583584

584585
Lemma get_list_all_correct4 i :
585-
(forall j, j < 4 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %%2)) ->
586+
(forall j, j < 4 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %% 2)) ->
586587
(i ^ 2) %% 100 \in [:: 00; 04; 16; 21; 29; 36; 61; 64; 69; 84; 96].
587588
Proof.
588589
move=> Hf.
589-
pose l := [:: 00; 04; 16; 96; 36; 61; 64; 84; 69; 29; 21].
590-
have -> : [:: 00; 04; 16; 21; 29; 36; 61; 64; 69; 84; 96] =i l.
590+
pose l := [:: 00; 04; 16; 96; 36; 61; 64; 84; 69; 29; 21].
591+
have -> : [:: 00; 04; 16; 21; 29; 36; 61; 64; 69; 84; 96] =i l.
591592
by move=> j; rewrite !inE; do 11 (case:eqP => //).
592593
have -> : l = get_list 1 by vm_cast_no_check (refl_equal l).
593594
by apply: get_list_all_correct.
594595
Qed.
595596

596597
Lemma get_list_all_correct6 i :
597-
(forall j, j < 6 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %%2)) ->
598+
(forall j, j < 6 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %% 2)) ->
598599
(i ^ 2) %% 100 \in [:: 00; 16; 21; 29; 61; 64; 69; 84].
599600
Proof.
600601
move=> Hf.
601-
pose l := [:: 00; 16; 64; 61; 29; 84; 21; 69].
602+
pose l := [:: 00; 16; 64; 61; 29; 84; 21; 69].
602603
have -> : [:: 00; 16; 21; 29; 61; 64; 69; 84] =i l.
603604
by move=> j; rewrite !inE; do 8 (case:eqP => //).
604605
have -> : l = get_list 2 by vm_cast_no_check (refl_equal l).
605606
by apply: get_list_all_correct.
606607
Qed.
607608

608609
Lemma get_list_all_correct8 i :
609-
(forall j, j < 8 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %%2)) ->
610+
(forall j, j < 8 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %% 2)) ->
610611
(i ^ 2) %% 100 \in [:: 00; 21; 29; 61; 64; 69; 84].
611612
Proof.
612613
move=> Hf.
@@ -633,11 +634,11 @@ Compute (509895478 ^ 2)%N.
633634
(* This takes 3 hours *)
634635
635636
Lemma get_list_all_correct10 i :
636-
(forall j, j < 10 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %%2)) ->
637+
(forall j, j < 10 -> digitn 10 (i ^ 2) j = digitn 10 (i ^ 2) (j %% 2)) ->
637638
(i ^ 2) %% 100 \in [:: 00; 21; 29; 61; 69; 84].
638639
Proof.
639640
move=> Hf.
640-
pose l := [:: 0; 29; 21; 84; 69; 61].
641+
pose l := [:: 00; 29; 21; 84; 69; 61].
641642
have -> : [:: 00; 21; 29; 61; 69; 84] =i l.
642643
move=> j; rewrite !inE; do 6 (case:eqP => //).
643644
have -> : l = get_list 4 by vm_cast_no_check (refl_equal l).

0 commit comments

Comments
 (0)