使用 Coq 证明谓词逻辑 - 初学者语法

发布于 2024-08-31 10:38:48 字数 168 浏览 8 评论 0原文

我试图在 Coq 中证明以下内容:

Goal (forall x:X, P(x) /\ Q(x)) -> ((对于所有 x:X, P (x)) // (对于所有 x:X, Q (x)))。

有人可以帮忙吗?我不确定是否要分裂,做出假设等。

我很抱歉我是一个十足的菜鸟

I'm trying to prove the following in Coq:

Goal (forall x:X, P(x) /\ Q(x)) -> ((forall x:X, P (x)) /\ (forall x:X, Q (x))).

Can someone please help? I'm not sure whether to split, make an assumption etc.

My apologies for being a complete noob

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半衬遮猫 2024-09-07 10:38:48
Goal forall (X : Type) (P Q : X->Prop), 
    (forall x : X, P x /\ Q x) -> (forall x : X, P x) /\ (forall x : X, Q x).
Proof.
  intros X P Q H; split; intro x; apply (H x).
Qed.
Goal forall (X : Type) (P Q : X->Prop), 
    (forall x : X, P x /\ Q x) -> (forall x : X, P x) /\ (forall x : X, Q x).
Proof.
  intros X P Q H; split; intro x; apply (H x).
Qed.
红玫瑰 2024-09-07 10:38:48

只是一些提示:
我建议你使用简介来命名你的假设,拆分以分隔目标,
并准确提供证明条款(可能涉及 proj1 或 proj2)。

Just some hints:
I recommand you use intros to name your hypothesis, split to separate the goals,
and exact to provide the proof terms (which may involve proj1 or proj2).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文