Skip to content

Commit 4f23d76

Browse files
committed
Semi-final version for MSCS
1 parent 7c03a56 commit 4f23d76

File tree

10 files changed

+379
-381
lines changed

10 files changed

+379
-381
lines changed

Generalities/uu0.v

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1867,7 +1867,7 @@ Proof. intros. apply isofhleveltotal2. assumption. intro. assumption. Defined.
18671867
(** *** Basics about types of h-level 1 - "propositions" *)
18681868

18691869

1870-
Definition isaprop := isofhlevel (S O) .
1870+
Definition isaprop := isofhlevel (S O) .
18711871

18721872
Notation isapropunit := iscontrpathsinunit .
18731873

@@ -1940,18 +1940,12 @@ Theorem isapropempty: isaprop empty.
19401940
Proof. unfold isaprop. unfold isofhlevel. intros x x' . destruct x. Defined.
19411941

19421942

1943-
Theorem isapropempty2 { X : UU } ( a : X -> empty ) : isaprop X .
1943+
Theorem isapropifnegtrue { X : UU } ( a : X -> empty ) : isaprop X .
19441944
Proof . intros . set ( w := weqpair _ ( isweqtoempty a ) ) . apply ( isofhlevelweqb 1 w isapropempty ) . Defined .
19451945

19461946

19471947

19481948

1949-
Lemma isapropifnegtrue { X : UU } ( X0 : neg X ) : isaprop X.
1950-
Proof. intros X X0. assert (is:isweq X0). intro. apply (fromempty y). apply (isofhlevelweqb (S O) ( weqpair _ is ) isapropempty). Defined.
1951-
1952-
1953-
1954-
19551949
(** *** Functional extensionality for functions to the empty type *)
19561950

19571951
Axiom funextempty : forall ( X : UU ) ( f g : X -> empty ) , paths f g .
@@ -2084,7 +2078,9 @@ apply ( isapropifcontr is4 ). Defined.
20842078

20852079
(** *** Basics about types of h-level 2 - "sets" *)
20862080

2087-
Definition isaset ( X : UU ) : UU := forall x x' : X , isaprop ( paths x x' ) .
2081+
Definition isaset ( X : UU ) : UU := forall x x' : X , isaprop ( paths x x' ) .
2082+
2083+
(* Definition isaset := isofhlevel 2 . *)
20882084

20892085
Notation isasetdirprod := ( isofhleveldirprod 2 ) .
20902086

@@ -2943,6 +2939,7 @@ Definition sectohfibertosec { X : UU } (P:X -> UU): forall a: forall x:X, P x, p
29432939

29442940
Axiom funextfunax : forall (X Y:UU)(f g:X->Y), (forall x:X, paths (f x) (g x)) -> (paths f g).
29452941

2942+
29462943
Lemma isweqlcompwithweq { X X' : UU} (w: weq X X') (Y:UU) : isweq (fun a:X'->Y => (fun x:X => a (w x))).
29472944
Proof. intros. set (f:= (fun a:X'->Y => (fun x:X => a (w x)))). set (g := fun b:X-> Y => fun x':X' => b ( invweq w x')).
29482945
set (egf:= (fun a:X'->Y => funextfunax X' Y (fun x':X' => (g (f a)) x') a (fun x': X' => maponpaths a (homotweqinvweq w x')))).
@@ -3163,7 +3160,7 @@ Definition weqforalltohfiber { X : UU } (P Q : X -> UU) (f: forall x:X, P x ->
31633160

31643161

31653162

3166-
(** *** The weqk equivalence between section spaces (dependent products) defined by a family of weak equivalences [ weq ( P x ) ( Q x ) ] *)
3163+
(** *** The weak equivalence between section spaces (dependent products) defined by a family of weak equivalences [ weq ( P x ) ( Q x ) ] *)
31673164

31683165

31693166

@@ -3434,7 +3431,7 @@ Proof. intros. apply impred. intro. assumption. Defined.
34343431

34353432

34363433
Theorem isapropneg2 ( X : UU ) { Y : UU } ( is : neg Y ) : isaprop ( X -> Y ) .
3437-
Proof . intros . apply impred . intro . apply ( isapropempty2 is ) . Defined .
3434+
Proof . intros . apply impred . intro . apply ( isapropifnegtrue is ) . Defined .
34383435

34393436

34403437

@@ -3609,7 +3606,7 @@ Proof . intro . apply ( isofhlevelsnweqtohlevelsn 0 _ _ ( isapropempty ) ) . Def
36093606

36103607

36113608
Theorem isapropweqtoempty2 ( X : UU ) { Y : UU } ( is : neg Y ) : isaprop ( weq X Y ) .
3612-
Proof. intros . apply ( isofhlevelsnweqtohlevelsn 0 _ _ ( isapropempty2 is ) ) . Defined .
3609+
Proof. intros . apply ( isofhlevelsnweqtohlevelsn 0 _ _ ( isapropifnegtrue is ) ) . Defined .
36133610

36143611

36153612
(** *** Weak equivalences from an empty type *)
@@ -3618,7 +3615,7 @@ Theorem isapropweqfromempty ( X : UU ) : isaprop ( weq empty X ) .
36183615
Proof . intro . apply ( isofhlevelsnweqfromhlevelsn 0 X _ ( isapropempty ) ) . Defined .
36193616

36203617
Theorem isapropweqfromempty2 ( X : UU ) { Y : UU } ( is : neg Y ) : isaprop ( weq Y X ) .
3621-
Proof. intros . apply ( isofhlevelsnweqfromhlevelsn 0 X _ ( isapropempty2 is ) ) . Defined .
3618+
Proof. intros . apply ( isofhlevelsnweqfromhlevelsn 0 X _ ( isapropifnegtrue is ) ) . Defined .
36223619

36233620

36243621

hlevel1/hProp.v

Lines changed: 47 additions & 48 deletions
Large diffs are not rendered by default.

hlevel2/algebra1a.v

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,19 @@ Require Export Foundations.hlevel2.hSet .
2828

2929
(** **** General definitions *)
3030

31-
Definition binop ( X : UU0 ) := X -> X -> X .
31+
Definition binop ( X : UU ) := X -> X -> X .
3232

33-
Definition islcancelable { X : UU0 } ( opp : binop X ) ( x : X ) := isincl ( fun x0 : X => opp x x0 ) .
33+
Definition islcancelable { X : UU } ( opp : binop X ) ( x : X ) := isincl ( fun x0 : X => opp x x0 ) .
3434

35-
Definition isrcancelable { X : UU0 } ( opp : binop X ) ( x : X ) := isincl ( fun x0 : X => opp x0 x ) .
35+
Definition isrcancelable { X : UU } ( opp : binop X ) ( x : X ) := isincl ( fun x0 : X => opp x0 x ) .
3636

37-
Definition iscancelable { X : UU0 } ( opp : binop X ) ( x : X ) := dirprod ( islcancelable opp x ) ( isrcancelable opp x ) .
37+
Definition iscancelable { X : UU } ( opp : binop X ) ( x : X ) := dirprod ( islcancelable opp x ) ( isrcancelable opp x ) .
3838

39-
Definition islinvertible { X : UU0 } ( opp : binop X ) ( x : X ) := isweq ( fun x0 : X => opp x x0 ) .
39+
Definition islinvertible { X : UU } ( opp : binop X ) ( x : X ) := isweq ( fun x0 : X => opp x x0 ) .
4040

41-
Definition isrinvertible { X : UU0 } ( opp : binop X ) ( x : X ) := isweq ( fun x0 : X => opp x0 x ) .
41+
Definition isrinvertible { X : UU } ( opp : binop X ) ( x : X ) := isweq ( fun x0 : X => opp x0 x ) .
4242

43-
Definition isinvertible { X : UU0 } ( opp : binop X ) ( x : X ) := dirprod ( islinvertible opp x ) ( isrinvertible opp x ) .
43+
Definition isinvertible { X : UU } ( opp : binop X ) ( x : X ) := dirprod ( islinvertible opp x ) ( isrinvertible opp x ) .
4444

4545

4646

@@ -422,7 +422,7 @@ Definition isbinopfun { X Y : setwithbinop } ( f : X -> Y ) := forall x x' : X ,
422422
Lemma isapropisbinopfun { X Y : setwithbinop } ( f : X -> Y ) : isaprop ( isbinopfun f ) .
423423
Proof . intros . apply impred . intro x . apply impred . intro x' . apply ( setproperty Y ) . Defined .
424424

425-
Definition binopfun ( X Y : setwithbinop ) : UU0 := total2 ( fun f : X -> Y => isbinopfun f ) .
425+
Definition binopfun ( X Y : setwithbinop ) : UU := total2 ( fun f : X -> Y => isbinopfun f ) .
426426
Definition binopfunpair { X Y : setwithbinop } ( f : X -> Y ) ( is : isbinopfun f ) : binopfun X Y := tpair _ f is .
427427
Definition pr1binopfun ( X Y : setwithbinop ) : binopfun X Y -> ( X -> Y ) := @pr1 _ _ .
428428
Coercion pr1binopfun : binopfun >-> Funclass .
@@ -438,7 +438,7 @@ Opaque isbinopfuncomp .
438438
Definition binopfuncomp { X Y Z : setwithbinop } ( f : binopfun X Y ) ( g : binopfun Y Z ) : binopfun X Z := binopfunpair ( funcomp ( pr1 f ) ( pr1 g ) ) ( isbinopfuncomp f g ) .
439439

440440

441-
Definition binopmono ( X Y : setwithbinop ) : UU0 := total2 ( fun f : incl X Y => isbinopfun ( pr1 f ) ) .
441+
Definition binopmono ( X Y : setwithbinop ) : UU := total2 ( fun f : incl X Y => isbinopfun ( pr1 f ) ) .
442442
Definition binopmonopair { X Y : setwithbinop } ( f : incl X Y ) ( is : isbinopfun f ) : binopmono X Y := tpair _ f is .
443443
Definition pr1binopmono ( X Y : setwithbinop ) : binopmono X Y -> incl X Y := @pr1 _ _ .
444444
Coercion pr1binopmono : binopmono >-> incl .
@@ -449,7 +449,7 @@ Coercion binopincltobinopfun : binopmono >-> binopfun .
449449

450450
Definition binopmonocomp { X Y Z : setwithbinop } ( f : binopmono X Y ) ( g : binopmono Y Z ) : binopmono X Z := binopmonopair ( inclcomp ( pr1 f ) ( pr1 g ) ) ( isbinopfuncomp f g ) .
451451

452-
Definition binopiso ( X Y : setwithbinop ) : UU0 := total2 ( fun f : weq X Y => isbinopfun f ) .
452+
Definition binopiso ( X Y : setwithbinop ) : UU := total2 ( fun f : weq X Y => isbinopfun f ) .
453453
Definition binopisopair { X Y : setwithbinop } ( f : weq X Y ) ( is : isbinopfun f ) : binopiso X Y := tpair _ f is .
454454
Definition pr1binopiso ( X Y : setwithbinop ) : binopiso X Y -> weq X Y := @pr1 _ _ .
455455
Coercion pr1binopiso : binopiso >-> weq .
@@ -804,7 +804,7 @@ Definition istwobinopfun { X Y : setwith2binop } ( f : X -> Y ) := dirprod ( for
804804
Lemma isapropistwobinopfun { X Y : setwith2binop } ( f : X -> Y ) : isaprop ( istwobinopfun f ) .
805805
Proof . intros . apply isofhleveldirprod . apply impred . intro x . apply impred . intro x' . apply ( setproperty Y ) . apply impred . intro x . apply impred . intro x' . apply ( setproperty Y ) . Defined .
806806

807-
Definition twobinopfun ( X Y : setwith2binop ) : UU0 := total2 ( fun f : X -> Y => istwobinopfun f ) .
807+
Definition twobinopfun ( X Y : setwith2binop ) : UU := total2 ( fun f : X -> Y => istwobinopfun f ) .
808808
Definition twobinopfunpair { X Y : setwith2binop } ( f : X -> Y ) ( is : istwobinopfun f ) : twobinopfun X Y := tpair _ f is .
809809
Definition pr1twobinopfun ( X Y : setwith2binop ) : twobinopfun X Y -> ( X -> Y ) := @pr1 _ _ .
810810
Coercion pr1twobinopfun : twobinopfun >-> Funclass .
@@ -827,7 +827,7 @@ Opaque istwobinopfuncomp .
827827
Definition twobinopfuncomp { X Y Z : setwith2binop } ( f : twobinopfun X Y ) ( g : twobinopfun Y Z ) : twobinopfun X Z := twobinopfunpair ( funcomp ( pr1 f ) ( pr1 g ) ) ( istwobinopfuncomp f g ) .
828828

829829

830-
Definition twobinopmono ( X Y : setwith2binop ) : UU0 := total2 ( fun f : incl X Y => istwobinopfun f ) .
830+
Definition twobinopmono ( X Y : setwith2binop ) : UU := total2 ( fun f : incl X Y => istwobinopfun f ) .
831831
Definition twobinopmonopair { X Y : setwith2binop } ( f : incl X Y ) ( is : istwobinopfun f ) : twobinopmono X Y := tpair _ f is .
832832
Definition pr1twobinopmono ( X Y : setwith2binop ) : twobinopmono X Y -> incl X Y := @pr1 _ _ .
833833
Coercion pr1twobinopmono : twobinopmono >-> incl .
@@ -841,7 +841,7 @@ Definition binop2mono { X Y : setwith2binop } ( f : twobinopmono X Y ) : binopmo
841841

842842
Definition twobinopmonocomp { X Y Z : setwith2binop } ( f : twobinopmono X Y ) ( g : twobinopmono Y Z ) : twobinopmono X Z := twobinopmonopair ( inclcomp ( pr1 f ) ( pr1 g ) ) ( istwobinopfuncomp f g ) .
843843

844-
Definition twobinopiso ( X Y : setwith2binop ) : UU0 := total2 ( fun f : weq X Y => istwobinopfun f ) .
844+
Definition twobinopiso ( X Y : setwith2binop ) : UU := total2 ( fun f : weq X Y => istwobinopfun f ) .
845845
Definition twobinopisopair { X Y : setwith2binop } ( f : weq X Y ) ( is : istwobinopfun f ) : twobinopiso X Y := tpair _ f is .
846846
Definition pr1twobinopiso ( X Y : setwith2binop ) : twobinopiso X Y -> weq X Y := @pr1 _ _ .
847847
Coercion pr1twobinopiso : twobinopiso >-> weq .

hlevel2/algebra1b.v

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Definition ismonoidfun { X Y : monoid } ( f : X -> Y ) := dirprod ( isbinopfun f
6262
Lemma isapropismonoidfun { X Y : monoid } ( f : X -> Y ) : isaprop ( ismonoidfun f ) .
6363
Proof . intros . apply isofhleveldirprod . apply isapropisbinopfun . apply ( setproperty Y ) . Defined .
6464

65-
Definition monoidfun ( X Y : monoid ) : UU0 := total2 ( fun f : X -> Y => ismonoidfun f ) .
65+
Definition monoidfun ( X Y : monoid ) : UU := total2 ( fun f : X -> Y => ismonoidfun f ) .
6666
Definition monoidfunconstr { X Y : monoid } { f : X -> Y } ( is : ismonoidfun f ) : monoidfun X Y := tpair _ f is .
6767
Definition pr1monoidfun ( X Y : monoid ) : monoidfun X Y -> ( X -> Y ) := @pr1 _ _ .
6868

@@ -82,7 +82,7 @@ Opaque ismonoidfuncomp .
8282
Definition monoidfuncomp { X Y Z : monoid } ( f : monoidfun X Y ) ( g : monoidfun Y Z ) : monoidfun X Z := monoidfunconstr ( ismonoidfuncomp f g ) .
8383

8484

85-
Definition monoidmono ( X Y : monoid ) : UU0 := total2 ( fun f : incl X Y => ismonoidfun f ) .
85+
Definition monoidmono ( X Y : monoid ) : UU := total2 ( fun f : incl X Y => ismonoidfun f ) .
8686
Definition monoidmonopair { X Y : monoid } ( f : incl X Y ) ( is : ismonoidfun f ) : monoidmono X Y := tpair _ f is .
8787
Definition pr1monoidmono ( X Y : monoid ) : monoidmono X Y -> incl X Y := @pr1 _ _ .
8888
Coercion pr1monoidmono : monoidmono >-> incl .
@@ -96,7 +96,7 @@ Coercion monoidmonotobinopmono : monoidmono >-> binopmono .
9696
Definition monoidmonocomp { X Y Z : monoid } ( f : monoidmono X Y ) ( g : monoidmono Y Z ) : monoidmono X Z := monoidmonopair ( inclcomp ( pr1 f ) ( pr1 g ) ) ( ismonoidfuncomp f g ) .
9797

9898

99-
Definition monoidiso ( X Y : monoid ) : UU0 := total2 ( fun f : weq X Y => ismonoidfun f ) .
99+
Definition monoidiso ( X Y : monoid ) : UU := total2 ( fun f : weq X Y => ismonoidfun f ) .
100100
Definition monoidisopair { X Y : monoid } ( f : weq X Y ) ( is : ismonoidfun f ) : monoidiso X Y := tpair _ f is .
101101
Definition pr1monoidiso ( X Y : monoid ) : monoidiso X Y -> weq X Y := @pr1 _ _ .
102102
Coercion pr1monoidiso : monoidiso >-> weq .

hlevel2/algebra1d.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Require Export Foundations.hlevel2.algebra1c .
2222

2323
(** To hSet *)
2424

25-
Lemma rtoneq { X : UU0 } { R : hrel X } ( is : isirrefl R ) { a b : X } ( r : R a b ) : neg ( paths a b ) .
25+
Lemma rtoneq { X : UU } { R : hrel X } ( is : isirrefl R ) { a b : X } ( r : R a b ) : neg ( paths a b ) .
2626
Proof . intros . intro e . rewrite e in r . apply ( is b r ) . Defined .
2727

2828
(** To one binary operation *)

0 commit comments

Comments
 (0)