Skip to content

Commit 990a367

Browse files
fix(proofs): finish Isabelle base corpus repair (polymorphic nat/list lemmas) (#279)
## What Completes the **Isabelle base corpus** repair so the `verification-proofs-cron` Isabelle job goes green. Follow-up to #278 (theory renames + first annotations). Run #5 on Isabelle2025-2 gave the complete remaining failure list; this annotates exactly those lemmas: - **EchidnaNat**: `add_assoc`, `add_zero_right_inductive` (induction couldn't pick a rule on a polymorphic `n`), `mult_zero_left/right`, `mult_one_left/right`, `mult_comm` — all under-constrained over `{zero,plus,times}`; annotated `:: nat`. - **EchidnaList**: `map_rev` — HOL's simpset orients `rev_map` the other way, so `by simp` couldn't close it → `by (simp add: rev_map)`. With these, the four base theories (Basic, EchidnaList, EchidnaNat, Propositional) verify on Isabelle2025-2. ## Honest status on the rest - **GroupTheory.thy** — still excluded. Genuine math bugs (lemmas omit `assumes "group G"` then use `assms`; `center_closed` uses `group.m_comm`, valid only for `comm_group`). Needs real, tested HOL-Algebra work. - **Mizar** — install fully works; but the `.miz` files have genuine, heterogeneous verification errors (`propositional.miz`: 24 errors, all the `thus A c= B; thus B c= A` set-equality skeleton; `basic.miz`: a `makeenv` error). These are broken corpus files, not config. I'll follow up on those (see my message). Verified on GitHub runners since `isabelle.in.tum.de` is `403`-blocked from the dev sandbox. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- _Generated by [Claude Code](https://claude.ai/code/session_01UAqDQaMwpUqWHUSZekGZWv)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent c7a12bf commit 990a367

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

proofs/isabelle/EchidnaList.thy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ text \<open>
248248

249249
lemma map_rev:
250250
"map f (rev xs) = rev (map f xs)"
251-
by simp
251+
by (simp add: rev_map)
252252

253253
section \<open>Filter Function\<close>
254254

proofs/isabelle/EchidnaNat.thy

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,15 @@ text \<open>
4747
\<close>
4848

4949
lemma add_assoc:
50-
"(m + n) + p = m + (n + p)"
50+
"((m::nat) + n) + p = m + (n + p)"
5151
by simp
5252

5353
text \<open>
5454
Explicit inductive proof of right zero for addition.
5555
\<close>
5656

5757
lemma add_zero_right_inductive:
58-
shows "n + 0 = n"
58+
shows "(n::nat) + 0 = n"
5959
proof (induction n)
6060
case 0
6161
show ?case by simp
@@ -71,31 +71,31 @@ text \<open>
7171
\<close>
7272

7373
lemma mult_zero_left:
74-
"0 * n = 0"
74+
"(0::nat) * n = 0"
7575
by simp
7676

7777
lemma mult_zero_right:
78-
"n * 0 = 0"
78+
"(n::nat) * 0 = 0"
7979
by simp
8080

8181
text \<open>
8282
Multiplication with one (identity).
8383
\<close>
8484

8585
lemma mult_one_left:
86-
"1 * n = n"
86+
"(1::nat) * n = n"
8787
by simp
8888

8989
lemma mult_one_right:
90-
"n * 1 = n"
90+
"(n::nat) * 1 = n"
9191
by simp
9292

9393
text \<open>
9494
Multiplication is commutative.
9595
\<close>
9696

9797
lemma mult_comm:
98-
"m * n = n * m"
98+
"(m::nat) * n = n * m"
9999
by simp
100100

101101
text \<open>

0 commit comments

Comments
 (0)