- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是 Coq 标准库中定义的完备性公理。
Definition is_upper_bound (E:R -> Prop) (m:R) := forall x:R, E x -> x <= m.
Definition bound (E:R -> Prop) := exists m : R, is_upper_bound E m.
Definition is_lub (E:R -> Prop) (m:R) :=
is_upper_bound E m /\ (forall b:R, is_upper_bound E b -> m <= b).
Axiom completeness :
forall E:R -> Prop,
bound E -> (exists x : R, E x) -> { m:R | is_lub E m }.
假设我加入
Axiom supremum :forall E:R -> Prop,
(exists l : R,is_upper_bound E l) ->
(exists x : R, E x) ->
{ m:R | is_lub E m /\ (forall x:R, x<m -> exists y:R,(E y /\ y >x))}.
这是必需的吗? (即它是从其他人那里得到的)一致性会不会有任何问题?另外,为什么这不是标准库中的定义(我猜这部分是主观的)。
最佳答案
你的supremum
公理等价于排中律,换句话说,通过引入这个公理,你将经典逻辑带到了表格中。
完整性
公理已经暗示了 weak form排中律,如 sig_not_dec
引理(Rlogic
模块)所示,它说明了否定公式的可判定性:
Lemma sig_not_dec : forall P : Prop, {~~ P} + {~ P}.
supremum
公理蕴含 LEM让我们使用sig_not_dec
引理的标准证明来证明,利用更强的完备性公理(supremum
),我们可以推导出排中律的强形式。
Lemma supremum_implies_lem : forall P : Prop, P \/ ~ P.
Proof.
intros P.
set (E := fun x => x = 0 \/ (x = 1 /\ P)).
destruct (supremum E) as (x & H & Hclas).
exists 1. intros x [->|[-> _]].
apply Rle_0_1. apply Rle_refl. exists 0; now left.
destruct (Rle_lt_dec 1 x) as [H'|H'].
- left.
pose proof (Rlt_le_trans 0 1 x Rlt_0_1 H') as Hx0.
destruct (Hclas 0 Hx0) as (y & [contra | (_ & Hp)] & Hy0).
+ now apply Rgt_not_eq in Hy0.
+ exact Hp.
- right. intros HP.
apply (Rlt_not_le _ _ H'), H; now right.
Qed.
supremum
公理现在,让我们证明 LEM 的强版本蕴含了 supremum
公理。为此,我们展示了在建设性设置中,我们可以推导出 supremum
的negated 形式,其中 存在 y:R, E y/\y > x
部分被替换为 ~ (forall y, y > x -> ~ E y)
,然后使用通常的经典事实,我们证明原始陈述成立好吧。
Require Import Classical.
Lemma helper (z : R) (E : R -> Prop) :
(forall y, y > z -> ~ E y) -> is_upper_bound E z.
Proof.
intros H x Ex.
destruct (Rle_dec x z).
- assumption.
- specialize (H x (Rnot_le_gt x z n)); contradiction.
Qed.
Lemma supremum :forall E:R -> Prop,
(exists l : R,is_upper_bound E l) ->
(exists x : R, E x) ->
{m:R | is_lub E m /\ (forall x:R, x<m -> exists y:R, E y /\ y > x)}.
Proof.
intros E Hbound Hnonempty.
pose proof (completeness E Hbound Hnonempty) as [m Hlub].
clear Hbound Hnonempty.
exists m. split; auto.
intros x Hlt.
assert (~ (forall y, y > x -> ~ E y)) as Hclass.
intro Hcontra; apply helper in Hcontra.
destruct Hlub as [Hup Hle].
specialize (Hle x Hcontra).
apply Rle_not_lt in Hle; contradiction.
(* classical part starts here *)
apply not_all_ex_not in Hclass as [y Hclass]; exists y.
apply imply_to_and in Hclass as [Hyx HnotnotEy].
now apply NNPP in HnotnotEy.
Qed.
关于coq - Coq 中实数的更强完备性公理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41326216/
我正在尝试使用基于 this 的 OWLFunctionalSyntaxParser 将字符串解析回 OWL Axioms例子。这对于简单的公理来说效果很好,例如ObjectPropertyAsser
有没有一种方法可以对读取堆并返回与堆无关的快照的函数进行编码?这对于我想开发的实验编码非常有用。 例如,我尝试编写一个名为 edges 的 Dafny 函数,我打算仅将其用于规范。它应该采用一组 No
我正在从 localhost:8080(前端)到 localhost:8000(后端)进行 axios 调用。 前端使用vue、webpack、node编写,后端使用lumen-laravel框架。
各位, 我只是想知道如何使用 AXIOM xml 流程库通过给定标签名称从给定 xml 中删除 xml 元素。 到目前为止我已经成功构建了文档。 StAXOMBuilder builder = new
我使用以下命令在每个传出请求上附加一个值为“Bearer {access_token}”的授权 header :window.axios.defaults.headers.common['Author
我有一个非常大的 ID 数组(数千个 ID)。我想遍历这个数组并为每个值,像这样向 API 发出请求: [12, 32, 657, 1, 67, ...].forEach((id) => {
我在我的 java 项目中遇到这个异常 Caused by: java.lang.ClassNotFoundException: org.apache.axiom.om.OMDataSource
请不要将其标记为重复。我已阅读有关堆栈溢出的所有相关答案,但尚未针对此问题得出明确的解决方案。 我现在正在使用带有 axios 的 vue 服务器来尝试从 https://coinmarketcap.
我对 Vue.js 和 Axios 很陌生。我想学习它来创建一个 REST CRUD 界面。从HTTP GET请求开始,目前我找到的例子都是在页面加载打印返回数据时执行HTTP GET。这很好用。 另
例如 (async() => { let apiRes = null; try { apiRes = await axios.get('https://silex.edgeprop.m
在这个测试用例中,我发送一个带有用户 ID 和密码的 axios post 请求到本地运行 passportjs 的 ExpressJS 服务器。服务器以状态代码 200 响应,并使用 set-coo
我正在尝试从 onesignal api 发送 POST 请求 代码 axios({ method: 'post', url: 'https://onesignal.com/api/v1/no
我是一名优秀的程序员,十分优秀!