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