You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Coq如何证明SFv1中的plus_le_compat_l加法左保序定理?

SFv1 plus_le_compat_l 定理证明思路提示

核心优化思路

你当前选择对n做归纳的路径会引入不必要的复杂度,建议优先对*左侧的加数p*做归纳——因为Coq标准库中加法是对第一个参数做结构递归定义的,归纳p刚好匹配p + n的化简方向,证明流程会非常简洁。

最简证明实现

Theorem plus_le_compat_l : forall n m p,
  n <= m ->
  p + n <= p + m.
Proof.
  intros n m p H.
  (* 对左侧加数p做归纳 *)
  induction p as [| p' IHp].
  - (* 基例:p = 0 *)
    simpl. (* 化简后目标为 n <= m,直接应用前提即可 *)
    apply H.
  - (* 归纳步:p = S p' *)
    simpl. (* 化简后目标为 S (p' + n) <= S (p' + m) *)
    apply n_le_m__Sn_le_Sm. (* 消去两侧的S构造子 *)
    apply IHp. (* 直接应用归纳假设即可得证 *)
Qed.

你当前卡住分支的补全方案

如果要继续沿你原有对n归纳的路径走,当前子目标n + S n' <= n + m可以按以下步骤处理:

  1. 用rewrite (plus_comm n (S n'))和rewrite (plus_comm n m)将目标重写为S n' + n <= m + n
  2. 此时目标等价于右侧加数保序的性质,如果你已经证明过plus_le_compat_r(右侧加固定数保序),直接应用该定理加前提H即可完成证明

内容的提问来源于stack exchange,提问作者Felipe Balbi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 02:06:04