coq现场策略未能简化,yeilds“;m<&燃气轮机;0%R";

coq现场策略未能简化,yeilds“;m<&燃气轮机;0%R";,coq,Coq,我是Coq的新手。我一直在努力。我正在踏入新的领域 我第一次尝试使用字段策略。我在下面的定理中使用了三次。两次失败,产生m0%R,其中m是上下文中的一个术语 我肯定我就是不懂正确使用。有人能启发我吗?(我试着阅读,但没有得到太多的理解!) 这是意料之中的。您第一次使用字段的目标类似于(m*x)/m=x。当m等于0时,绝对没有办法定义实数的除法,从而使此等式适用于所有实数x。因此,字段策略只有在您能够证明m0的情况下才能证明这个等式。您第三次使用字段是在一个相等的(x/m)*m=x上,同样,如果您

我是Coq的新手。我一直在努力。我正在踏入新的领域

我第一次尝试使用
字段
策略。我在下面的定理中使用了三次。两次失败,产生
m0%R
,其中m是上下文中的一个术语

我肯定我就是不懂正确使用。有人能启发我吗?(我试着阅读,但没有得到太多的理解!)


这是意料之中的。您第一次使用
字段
的目标类似于
(m*x)/m=x
。当
m
等于
0
时,绝对没有办法定义实数的除法,从而使此等式适用于所有实数
x
。因此,
字段
策略只有在您能够证明
m0
的情况下才能证明这个等式。您第三次使用
字段
是在一个相等的
(x/m)*m=x
上,同样,如果您知道
m
为非零,它只能用于任何
x

Ahhh。。。这在某种程度上是相当明显的,但我可能会试图从信息中推断出这一点!此外,Coq标准库中似乎不存在正实数,所以我将尝试破解这种类型。。。
From Coq Require Import Reals.Reals. 
Require Import Field.

Definition simple_compound (A r n m : R) : R :=
  A * (Rpower (1 + r / m) (m * n)). 
Definition continuous_compound (A r n: R) : R :=
  A * (exp (r * n)).
Definition simple_to_continuous_interest (Rs n m: R) : R :=
  m * ln (1 + Rs / m). 
Definition continuous_to_simple_interest (Rc n m: R) : R :=
  m * ((exp (Rc / m)) - 1). 

Theorem continuous_to_simple_works : forall (A Rc n m : R),
  continuous_compound A Rc n = simple_compound A (continuous_to_simple_interest Rc n m) n m. 
Proof.
  intros A Rc n m.
  unfold continuous_compound. unfold simple_compound. unfold continuous_to_simple_interest.
  unfold Rpower. apply f_equal.
  assert (H: (m * (exp (Rc / m) - 1) / m)%R = (exp (Rc / m) - 1)%R). {
    field. admit.
  }
  rewrite -> H. 
  assert (H2: (1 + (exp (Rc / m) - 1))%R = (exp (Rc / m))%R). {
    field. 
  }
  rewrite -> H2. 
  assert (H3: (m * n * ln (exp (Rc / m)))%R = (ln (exp (Rc / m)) * m * n)%R). {
    rewrite -> Rmult_comm. rewrite -> Rmult_assoc. reflexivity. 
  }
  rewrite -> H3. 
  rewrite -> ln_exp. 
  assert (H4: (Rc / m * m)%R = Rc%R). {
    field. admit. 
  }
  rewrite -> H4. 
  reflexivity. 
Admitted.