From 81432e2003b9c1514975e006775fe59056e125a4 Mon Sep 17 00:00:00 2001 From: Claudio Sacerdoti Coen Date: Tue, 6 Jan 2009 13:58:06 +0000 Subject: [PATCH] Ok, even if not stated formally, now we know that the map from REL to OA is a functor! --- .../formal_topology/overlap/relations.ma | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/helm/software/matita/contribs/formal_topology/overlap/relations.ma b/helm/software/matita/contribs/formal_topology/overlap/relations.ma index 738035be0..c9685f220 100644 --- a/helm/software/matita/contribs/formal_topology/overlap/relations.ma +++ b/helm/software/matita/contribs/formal_topology/overlap/relations.ma @@ -379,4 +379,31 @@ lemma orelation_of_relation_preserves_identity: apply (f a1); change with (a1 = a1); apply refl1; | change with (a1 ∈ a → ∀y.a1 ♮(id1 REL o1) y→y∈a); intros; change in f1 with (a1 = y); apply (. f1‡#); apply f;] +qed. + +lemma hint2: ∀S,T. carr2 (arrows2 OA S T) → Type_OF_setoid2 (arrows2 OA S T). + intros; apply c; +qed. +coercion hint2. + +(* CSC: ???? forse un uncertain mancato *) +lemma orelation_of_relation_preserves_composition: + ∀o1,o2,o3:REL.∀F: arrows1 ? o1 o2.∀G: arrows1 ? o2 o3. + orelation_of_relation ?? (G ∘ F) = + comp2 OA (SUBSETS o1) (SUBSETS o2) (SUBSETS o3) + ?? (*(orelation_of_relation ?? F) (orelation_of_relation ?? G)*). + [ apply (orelation_of_relation ?? F); | apply (orelation_of_relation ?? G); ] + intros; split; intro; split; whd; intro; whd in ⊢ (% → %); intros; + [ whd; intros; apply f; exists; [ apply x] split; assumption; + | cases f1; clear f1; cases x1; clear x1; apply (f w); assumption; + | cases e; cases x; cases f; cases x1; clear e x f x1; exists; [ apply w1 ] + split; [ assumption | exists; [apply w] split; assumption ] + | cases e; cases x; cases f1; cases x1; clear e x f1 x1; exists; [apply w1 ] + split; [ exists; [apply w] split; assumption | assumption ] + | cases e; cases x; cases f; cases x1; clear e x f x1; exists; [ apply w1 ] + split; [ assumption | exists; [apply w] split; assumption ] + | cases e; cases x; cases f1; cases x1; clear e x f1 x1; exists; [apply w1 ] + split; [ exists; [apply w] split; assumption | assumption ] + | whd; intros; apply f; exists; [ apply y] split; assumption; + | cases f1; clear f1; cases x; clear x; apply (f w); assumption;] qed. \ No newline at end of file -- 2.39.2