]> matita.cs.unibo.it Git - helm.git/commitdiff
Ok, even if not stated formally, now we know that the map from REL to OA is
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 6 Jan 2009 13:58:06 +0000 (13:58 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 6 Jan 2009 13:58:06 +0000 (13:58 +0000)
a functor!

helm/software/matita/contribs/formal_topology/overlap/relations.ma

index 738035be0c0ac25b56dcb57c42687c11fa1face7..c9685f2207f4cf0e93db0d23f2d89fde0fbd2bf7 100644 (file)
@@ -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