X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Flogic%2Fequality.ma;h=f4f12ec6c103a8290765517c95b151985e04cbab;hb=f538a0b46ba4164a21a76e47a6ed3b3e9deb5041;hp=01c60e8fc9b17c40c720b235be2bcac605e2a8e9;hpb=ea651f11cbc6edb17e8d0d16c239e0cf3f526959;p=helm.git diff --git a/helm/software/matita/library/logic/equality.ma b/helm/software/matita/library/logic/equality.ma index 01c60e8fc..f4f12ec6c 100644 --- a/helm/software/matita/library/logic/equality.ma +++ b/helm/software/matita/library/logic/equality.ma @@ -1,5 +1,5 @@ (**************************************************************************) -(* ___ *) +(* ___ *) (* ||M|| *) (* ||A|| A project by Andrea Asperti *) (* ||T|| *) @@ -12,20 +12,14 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/logic/equality/". - include "higher_order_defs/relations.ma". inductive eq (A:Type) (x:A) : A \to Prop \def refl_eq : eq A x x. -(*CSC: the URI must disappear: there is a bug now *) -interpretation "leibnitz's equality" - 'eq x y = (cic:/matita/logic/equality/eq.ind#xpointer(1/1) _ x y). -(*CSC: the URI must disappear: there is a bug now *) -interpretation "leibnitz's non-equality" - 'neq x y = (cic:/matita/logic/connectives/Not.con - (cic:/matita/logic/equality/eq.ind#xpointer(1/1) _ x y)). +interpretation "leibnitz's equality" 'eq t x y = (eq t x y). + +interpretation "leibnitz's non-equality" 'neq t x y = (Not (eq t x y)). theorem eq_rect': \forall A. \forall x:A. \forall P: \forall y:A. x=y \to Type. @@ -54,6 +48,13 @@ qed. variant trans_eq : \forall A:Type.\forall x,y,z:A. x=y \to y=z \to x=z \def transitive_eq. +theorem symmetric_not_eq: \forall A:Type. symmetric A (λx,y.x ≠ y). +unfold symmetric.simplify.intros.unfold.intro.apply H.apply sym_eq.assumption. +qed. + +variant sym_neq: ∀A:Type.∀x,y.x ≠ y →y ≠ x +≝ symmetric_not_eq. + theorem eq_elim_r: \forall A:Type.\forall x:A. \forall P: A \to Prop. P x \to \forall y:A. y=x \to P y. @@ -83,8 +84,8 @@ intros.elim H.apply refl_eq. qed. (* *) -coercion cic:/matita/logic/equality/sym_eq.con. -coercion cic:/matita/logic/equality/eq_f.con. +coercion sym_eq. +coercion eq_f. (* *) default "equality"