GOALS = all opt clean clean.opt
-DEVELS = dama dama_didactic
+DEVELS = dama dama_didactic dama_duality
$(GOALS):
@$(foreach DEVEL, $(DEVELS), $(MAKE) -C $(DEVEL) $@;)
inductive exT (A:Type) (P:A→CProp) : CProp ≝
ex_introT: ∀w:A. P w → exT A P.
-inductive ex (A:Type) (P:A→Prop) : Type ≝ (* ??? *)
- ex_intro: ∀w:A. P w → ex A P.
-
-interpretation "constructive exists" 'exists \eta.x =
- (cic:/matita/dama/cprop_connectives/ex.ind#xpointer(1/1) _ x).
-
-interpretation "constructive exists (Type)" 'exists \eta.x =
+interpretation "CProp exists" 'exists \eta.x =
(cic:/matita/dama/cprop_connectives/exT.ind#xpointer(1/1) _ x).
inductive False : CProp ≝ .
cprop_connectives.ma logic/equality.ma
bishop_set_rewrite.ma bishop_set.ma
sequence.ma nat/nat.ma
-supremum.ma ordered_set.ma sequence.ma
+supremum.ma bishop_set.ma ordered_set.ma sequence.ma
logic/equality.ma
nat/nat.ma
lemma uniq_supremum:
∀O:ordered_set.∀s:sequence O.∀t1,t2:O.
- t1 is_upper_bound s → t2 is_upper_bound s → t1 ≈ t2.
-intros (O s t1 t2 Ht1 Ht2); apply le_le_eq; cases Ht1; cases Ht2;
+ t1 is_strong_sup s → t2 is_strong_sup s → t1 ≈ t2.
+intros (O s t1 t2 Ht1 Ht2); cases Ht1 (U1 H1); cases Ht2 (U2 H2);
+apply le_le_eq; intro X;
+[1: cases (H1 ? X); apply (U2 w); assumption
+|2: cases (H2 ? X); apply (U1 w); assumption]
+qed.
+
+