Skip to content

Commit 3161f5c

Browse files
hyperpolymathclaude
andcommitted
fix(proofs): prove all 3 remaining Admitted theorems — 0 Admitted left
Resolve the nested array value representation gap that blocked array_elements_progress, progress, and preservation proofs: - Add S_Array_val step rule: EArray (map ELit vs) reduces to ELit (VArray vs), normalizing fully-evaluated arrays to their value-level representation - Add T_Lit_Array typing rule: ELit (VArray vs) has type TArray t when all elements are well-typed - Add expr_size/in_list_size_fold for well-founded induction, providing the IH for array elements that standard induction on has_type cannot generate - Add forall_progress_from_ih helper for constructing element-wise progress Forall from a size-based IH and a typing Forall - Rewrite progress proof using well-founded induction (well_founded_ltof) to properly handle T_Array, T_Okay, and T_Oops cases - Complete preservation proof with Forall_map transformation for S_Array_val and deep inversion for T_Lit_Array cases All 3 theorems (array_elements_progress, progress, preservation) are now fully proved (Qed). Verified clean compilation on Rocq 9.1.1 / coqc. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent e8f1ae6 commit 3161f5c

1 file changed

Lines changed: 297 additions & 75 deletions

File tree

0 commit comments

Comments
 (0)