搜索Coq库

搜索Coq库,coq,Coq,我试图证明搜索引理的命令叫做Search。(对于较旧的Coq版本,它被分为SearchAbout,SearchPattern等)有关所有可能的变体,请参阅 在你的例子中,你正在寻找一个引理,它的结果是_+_ a <= b /\ c <= d -> a+c <= b+d (***********) (* imports *) (***********) Require Import Nat. Require Import Init.Nat. Require Import

我试图证明搜索引理的命令叫做
Search
。(对于较旧的Coq版本,它被分为
SearchAbout
SearchPattern
等)有关所有可能的变体,请参阅

在你的例子中,你正在寻找一个引理,它的结果是
_+_
a <= b /\ c <= d -> a+c <= b+d
(***********)
(* imports *)
(***********)
Require Import Nat.
Require Import Init.Nat.
Require Import Coq.Arith.PeanoNat.

(************************)
(* exponential function *)
(************************)
Definition f (a : nat) : nat := 2^a.

(**********************)
(* inequality theorem *)
(**********************)
Theorem a_leq_pow_2_a: forall a, a <= f(a).
Proof.
  induction a as[|a' IHa].
  - apply le_0_n.
  - unfold f.
    rewrite Nat.pow_succ_r.
    * rewrite Nat.mul_comm.
      rewrite Nat.mul_succ_r.
      rewrite Nat.mul_1_r.
      unfold f in IHa.
      (* stuck here *)
Qed.
Search (_ + _ <= _ + _).
(*
Nat.add_le_mono_r: forall n m p : nat, n <= m <-> n + p <= m + p
Nat.add_le_mono: forall n m p q : nat, n <= m -> p <= q -> n + p <= m + q
...
*)