我正在阅读B.Russell的“数学哲学导论”一书,试图将其中描述的所有定理形式化。
以下文字(contexts on book)描述了一对多的关系。
可以将一对多关系定义为关系,如果x具有 与y有关的关系,没有其他术语x'也有 与y的关系。
或者,再次,它们可以定义如下:给定 两个项x和x',x具有给定关系的项 x'所拥有的那些没有共同的成员。
或者,再次,他们可能 被定义为关系,使得其中一个的相对产物 而它的相反意味着身份,两者的“相对产物” 关系R和S是在x和z之间保持的关系 存在中间项y,使得x具有R与y的关系 y具有S到z的关系。
它提出了三种定义方式。我已经成功地描述了前两个,并证明了它们的等价性。当我被困在第三个时候,我试图摆脱“相对产品”的概念,直接得到它的内涵,但也失败了。
以下是我的定义,我是否犯过任何错误?
Definition one_many {X} (R : relation X) : Prop :=
forall x y, R x y -> forall x', x <> x' -> ~(R x' y).
Definition one_many' {X} (R : relation X) : Prop :=
forall x x' y, R x y -> R x' y -> x = x'.
Inductive relative_product
{X} (R: relation X) (S: relation X) : relation X :=
| rp0 : forall x y, forall z, R x y -> S y z -> relative_product R S x z.
Inductive converse {X} (R : relation X) : relation X :=
| cv0 : forall x y, R x y -> converse R y x.
Inductive id {X} : relation X :=
| id0 : forall x, id x x.
Definition one_many'' {X} (R : relation X) : Prop :=
forall x y, relative_product R (converse R) x y <-> id x y.
下面是我如何解释第三个的定义,而且我也未能证明它们的等价性。
Goal forall {X} (R : relation X),
one_many'' R <-> (forall x y, R x y -> forall x', converse R y x' -> x = x').
Proof.
intros. unfold one_many''. split.
intros.
assert (relative_product R (converse R) x x' <-> id x x'). apply H.
inversion H2. apply id_eqv. apply H3.
apply rp0 with y. assumption. assumption.
intros.
split. intro.
inversion H0. subst.
apply id_eqv. apply H with y0.
assumption. assumption.
(* I'm stuck here. This subgoal is obviously not provable. *)
其中证明id_eqv
为Lemma id_eqv : forall {X} (x:X) (y:X), x = y <-> id x y
,可以提前轻松证明。
有人可以帮我弄清楚或者给我一个关于我哪里出错的提示吗?提前谢谢。
答案 0 :(得分:4)
我认为你错误翻译了第三个定义。原文说:
或者,再次,它们可以被定义为关系,使得其中一个的相对乘积与其相反的暗示身份
(强调我的)。这将转化为:
forall x y, relative_product R (converse R) x y -> id x y
也就是说,它应该是一个直接的含义,而不是你断言的等价。你不能希望从其他任何一个证明你的第三个陈述,因为它不等同:考虑非空集上的空关系。这肯定是一对多关系,但相反的相对产品也是空的,所以不是完全的身份关系。
答案 1 :(得分:0)
狂野猜测,但您可能需要R
反身或不空。使用你的脚本我最终必须证明
1 subgoal
X : Type
R : relation X
H : forall x y : X, R x y -> forall x' : X, converse R y x' -> x = x'
y : X
______________________________________(1/1)
relative_product R (converse R) y y
所以你有一个关系R
和一个居民y:X
。为了证明您的目标,您需要有z
和R y z
的见证人R z y
。在没有任何其他信息的情况下,我想您唯一的注意事项是让R
具有反身性,z
为y
。