Skip to content

Commit dd21619

Browse files
committed
Directory Current_work added
1 parent 970cf1a commit dd21619

File tree

4 files changed

+1005
-0
lines changed

4 files changed

+1005
-0
lines changed

Current_work/2013_from_poset.v

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
Unset Automatic Introduction.
2+
3+
Add LoadPath ".." .
4+
5+
Require Export Foundations.hlevel2.finitesets.
6+
7+
(* Standard finite posets and order preserving functions between them. *)
8+
9+
Notation " 'stnel' ( i , j ) " := ( stnpair _ _ ( ctlong natlth isdecrelnatlth j i ( idpath true ) ) ) ( at level 70 ) .
10+
11+
Definition stnposet ( i : nat ) : Poset .
12+
Proof. intro. unfold Poset . split with ( hSetpair ( stn i ) ( isasetstn i ) ) . unfold po. split with ( fun j1 j2 : stn i => natleh j1 j2 ) . split with ( fun j1 j2 j3 : stn i => istransnatleh j1 j2 j3 ) . exact ( fun j : stn i => isreflnatleh j ) . Defined.
13+
14+
Definition issmaller { X : Poset } ( x1 x2 : X ) := dirprod ( pr2 X x1 x2 ) ( neg ( paths x1 x2 ) ) .
15+
16+
Definition ndchains ( i : nat ) ( X : Poset ) := total2 ( fun ndccar: forall j : stn i , X => forall ( j1 j2 : stn i ) ( is : natlth j1 j2 ) , issmaller (ndccar j1 ) (ndccar j2 ) ) .
17+
18+
Definition ndchainstosequences ( i : nat ) ( X : Poset ) : ndchains i X -> ( stn i ) -> X := fun xstar => fun k => ( pr1 xstar ) k .
19+
Coercion ndchainstosequences : ndchains >-> Funclass .
20+
21+
Lemma natlthinndchainstn { i j : nat } ( ch : ndchains j ( stnposet i ) ) { j1 j2 : stn j } ( is : natlth j1 j2 ) : natlth ( stntonat _ ( ch j1 ) ) ( stntonat _ ( ch j2 ) ) .
22+
Proof . intros .
23+
assert ( is10 : natleh ( stntonat _ ( ch j1 ) ) ( stntonat _ ( ch j2 ) ) ) . apply ( pr1 ( pr2 ch j1 j2 is ) ) .
24+
assert ( is110 : neg ( paths ( ch j1 ) ( ch j2 ) ) ) . apply ( pr2 ( pr2 ch j1 j2 is ) ) .
25+
assert ( is11 : natneq ( stntonat _ ( ch j1 ) ) ( stntonat _ ( ch j2 ) ) ) . apply ( negf ( invmaponpathsincl ( stntonat _ ) ( isinclstntonat _ ) (ch j1 ) ( ch j2 ) ) is110 ) .
26+
destruct ( natlehchoice _ _ is10 ) as [ l | e ]. apply l . destruct ( is11 e ) . Defined.
27+
28+
29+
Definition ndchainsrestr { i j : nat } { X : Poset } ( chs : ndchains j ( stnposet i ) ) ( chX : ndchains i X ) : ndchains j X .
30+
Proof . intros . split with ( fun k : stn j => chX ( chs k ) ) . intros j1 j2 . intro is . apply ( pr2 chX _ _ ( natlthinndchainstn chs is ) ) . Defined.
31+
32+
33+
34+
35+
36+
37+
38+
39+
40+
41+
42+
43+
44+
45+
46+
47+
48+
49+
Definition Ind_tuple ( i : nat ) : total2 ( fun
50+
51+
FSkXtoUUcat : forall ( X : Poset ) , UU (* FSkXtoUUcat X := sk_i(N(X)) -> N(UU_cat) *)
52+
53+
=> total2 ( fun XtoT : total2 ( fun
54+
55+
FSkXtoT : forall ( X : Poset ) ( T : UU ) , UU (* FSkXtoT X T := sk_i(N(X)) -> N(T) *)
56+
57+
=>
58+
59+
forall ( X : Poset ) ( T : UU ) ( F : T -> UU ) , FSkXtoT X T -> FSkXtoUUcat X
60+
61+
)
62+
63+
=> dirprod
64+
65+
( forall a : FSkXtoUUcat ( stnposet ( S ( S i ) ) ) , UU ) (* a : sk_i(Delta^{i+1}) -> N(UU_cat) => the type of extensions of a to Delta^{i+1}->N(UU_cat) *)
66+
67+
( total2 ( fun
68+
69+
Phi :forall ( j : nat ) ( is : natgeh j i ) ( X : Poset ) ( xstar : ndchains ( S j ) X ) ( d : FSkXtoUUcat X ) , FSkXtoUUcat ( stnposet ( S j ) )
70+
71+
=>
72+
73+
forall ( j : nat ) ( is : natgeh j ( S i ) ) ( X : Poset ) ( xstar : ndchains ( S j ) X ) ( di : FSkXtoUUcat X ) ( xstar0 : ndchains ( S ( S i ) ) ( stnposet ( S j ) ) ) , paths ( (Phi (S i) (natgehsnn i) (stnposet (S j)) xstar0 (Phi j (istransnatgeh j (S i) i is (natgehsnn i)) X xstar di))) ( Phi (S i) (natgehsnn i) X (ndchainsrestr xstar0 xstar) di )
74+
75+
)))) .
76+
Proof. intros . induction i as [ | i IHi].
77+
78+
(* i=0 *)
79+
80+
split with ( fun X : Poset => ( X -> UU ) ) .
81+
split .
82+
split with ( fun X => fun T => ( X -> T ) ) .
83+
exact ( fun X => fun T => fun F => ( fun d => fun x => F ( d x ) ) ) .
84+
split with ( fun f : stnposet 2 -> UU => ( f ( stnel(2,0) ) -> f ( stnel(2,1) ) ) ) .
85+
split with ( fun j => fun is => fun X => fun xstar => fun d => fun k => d ( xstar k ) ) .
86+
87+
intros . apply idpath.
88+
89+
(* i+1 *)
90+
91+
set ( FSkXtoUUcat := pr1 IHi ) . set ( FSkXtoT := pr1 ( pr1 ( pr2 IHi ) ) ) . set ( FSkXtoTcomp := pr2 ( pr1 ( pr2 IHi ) ) ) . set ( FDT := pr1 ( pr2 ( pr2 IHi ) ) ) . set ( Phi := pr1 ( pr2 ( pr2 ( pr2 IHi ) ) ) ) . set ( h := pr2 ( pr2 ( pr2 ( pr2 IHi ) ) ) ) . simpl in Phi . simpl in FSkXtoT . simpl in FDT. simpl in h .
92+
93+
(*
94+
95+
FSkXtoUUcat X = Hom ( sk_i(N(X)) , N(UU_cat) )
96+
97+
FSkXtoT X T := Hom ( sk_i(N(X)) , N(T) )
98+
99+
FSkXtoTcomp X T F := fun d : sk_i(N(X)) -> N(T) => F \circ d
100+
101+
FDT d = the type of extensions of d : sk_i(Delta^{i+1}) -> N(UU_cat) to functions Delta^{i+1} -> N(UU_cat)
102+
103+
Phi j is X xstar = restriction map Hom ( sk_i(N(X)) , N(UU_cat) ) -> Hom ( sk_i(Delta^j), N(UU_cat) ) defined by the map xstar:Delta^j -> N(X)
104+
105+
*)
106+
107+
(* First split with Hom ( sk_{i+1}(N(X)), N(UU_cat) ) *)
108+
109+
split with ( fun X => total2 ( fun d : FSkXtoUUcat X => forall xstar : ndchains ( S ( S i ) ) X , FDT ( Phi ( S i ) ( natgehsnn i ) X xstar d ) ) ) .
110+
111+
split.
112+
113+
(* we need to define for a poset X and a type T the type of functions sk_{i+1}(N(X)) -> N(T) . We try the following definition. *)
114+
115+
split with ( fun X => fun T => total2 ( fun d : FSkXtoT X T => forall F : T -> UU, forall xstar : ndchains ( S ( S i ) ) X , FDT ( Phi ( S i ) ( natgehsnn i ) X xstar ( FSkXtoTcomp X T F d ) ) ) ) .
116+
117+
(* now we need the composition map d : sk_i(N(X)) -> N(T) => F \circ d where F : T -> UU *)
118+
119+
intros X T F dsi . destruct dsi as [ d dall ] . split with ( FSkXtoTcomp X T F d ) . apply ( dall F ) .
120+
121+
122+
split.
123+
124+
(* now we need to define for any dsi : sk_{i+1}(Delta^{i+2})-> N(UU_cat) the type of the extensions of dsi to a "functor" Delta^{i+2} -> N(UU_cat) *)
125+
126+
intro dsi . destruct dsi as [ d dfill ] .
127+
128+
admit.
129+
130+
assert ( Phi0 : forall j : nat,
131+
natgeh j (S i) ->
132+
forall X : Poset,
133+
ndchains (S j) X ->
134+
total2
135+
(fun d : FSkXtoUUcat X =>
136+
forall xstar0 : ndchains (S (S i)) X,
137+
FDT (Phi (S i) (natgehsnn i) X xstar0 d)) ->
138+
total2
139+
(fun d0 : FSkXtoUUcat (stnposet (S j)) =>
140+
forall xstar0 : ndchains (S (S i)) (stnposet (S j)),
141+
FDT (Phi (S i) (natgehsnn i) (stnposet (S j)) xstar0 d0)) ).
142+
143+
144+
intros j is X xstar.
145+
146+
(* Now we need to define for all j >= i+1 the restriction maps Hom ( sk_{i+1}(N(X)) , N(UU_cat) ) -> Hom ( sk_{i+1}(Delta^j), N(UU_cat) ) defined by
147+
xstar : Delta^j -> N(X) *)
148+
149+
intro d . destruct d as [ di dfdt ] . split with ( Phi j (istransnatgeh _ _ _ is (natgehsnn i)) X xstar di ) .
150+
151+
intro xstar0.
152+
153+
set ( xstar1 := ndchainsrestr xstar0 xstar ) .
154+
155+
(* Now we have xstar0 : Delta^{i+1} -> Delta^j , xstar : Delta^j -> N(X) and di : sk_i(N(X)) -> N(UU_cat) and need to define an extension to Delta^{i+1} of the map sk_i(Delta^{i+1}) -> ( sk_i(Delta^{j}) -> sk_i(N(X)) -> N(UU_cat) ) . The idea is that this map equals to the map
156+
sk_i(Delta^{i+1}->Delta^j->N(X)) -> N(UU_cat) for which we have an extesnion dfdt xstar1 *)
157+
158+
simpl in h . rewrite h . apply ( dfdt xstar1 ) .
159+
160+
split with Phi0 .
161+
162+
intros .

0 commit comments

Comments
 (0)