some cleanup

This commit is contained in:
Floris van Doorn 2016-04-12 17:59:15 -04:00
parent a716ef2108
commit 2de92db5b6
2 changed files with 24 additions and 39 deletions

View file

@ -43,7 +43,7 @@ namespace is_conn
{ /- k = 0 -/
change (is_equiv (trunc_functor 0 f)), apply is_equiv_trunc_functor_of_is_conn_fun,
refine is_conn_fun_of_le f (zero_le_of_nat n)},
{ /- k > 0 even -/
{ /- k > 0 -/
have H2' : k ≤ n, from le.trans !self_le_succ H2,
exact
@is_equiv_of_trivial _
@ -84,12 +84,6 @@ namespace hopf
open sphere.ops susp circle sphere_index
-- definition complex_phopf : S. 3 →* S. 2 :=
-- proof pmap.mk complex_hopf idp qed
-- variable (A : Type)
-- variables [h_space A] [is_conn 0 A]
attribute hopf [unfold 4]
-- definition phopf (x : psusp A) : Type* :=
-- pointed.MK (hopf A x)
@ -120,13 +114,16 @@ namespace hopf
-- definition pjoin_pspheres (n m : ) : join (S. n) (S. m) ≃ (S. (n + m + 1)) :=
-- join.spheres n m ⬝e begin esimp, apply equiv_of_eq, apply ap S, apply add_plus_one_of_nat end
-- set_option pp.all true
-- definition pjoin_spheres_inv_base (n m : )
-- : (join.spheres 1 1)⁻¹ (cast proof idp qed (@sphere.base 3)) = inl base :=
-- begin
-- exact sorry
-- end
definition part_of_complex_hopf : S (of_nat 3) → sigma (hopf S¹) :=
begin
intro x, apply inv (hopf.total S¹), apply inv (join.spheres 1 1), exact x
end
definition part_of_complex_hopf_base2
: (part_of_complex_hopf (@sphere.base 3)).2 = circle.base :=
begin
exact sorry
end
definition pfiber_complex_phopf : pfiber complex_phopf ≃* S. 1 :=
begin
@ -136,7 +133,7 @@ namespace hopf
(join.spheres 1 1)⁻¹ᵉ _ ⬝e _,
refine fiber.equiv_precompose (hopf.total S¹)⁻¹ᵉ ⬝e _,
apply fiber_pr1},
{ exact sorry}
{ esimp, refine _ ⬝ part_of_complex_hopf_base2, apply fiber_pr1_fun}
end
open int

View file

@ -43,13 +43,6 @@ notation `-` := sint'
definition stratified_type [reducible] (N : succ_str) (n : ) : Type₀ := N × fin (succ n)
-- definition stratified_succ' {N : succ_str} : Π{n : }, N → ifin n → stratified_type N n
-- | (succ k) n (fz k) := (S n, ifin.max k)
-- | (succ k) n (fs x) := (n, ifin.incl x)
-- definition stratified_succ {N : succ_str} {n : } (x : stratified_type N n) : stratified_type N n :=
-- stratified_succ' (pr1 x) (pr2 x)
definition stratified_succ {N : succ_str} {n : } (x : stratified_type N n)
: stratified_type N n :=
(if val (pr2 x) = n then S (pr1 x) else pr1 x, my_succ (pr2 x))
@ -57,8 +50,6 @@ definition stratified_succ {N : succ_str} {n : } (x : stratified_type N n)
definition stratified [reducible] [constructor] (N : succ_str) (n : ) : succ_str :=
succ_str.mk (stratified_type N n) stratified_succ
--example (n : ) : flatten (n, (2 : ifin (nat.succ (nat.succ 4)))) = 6*n+2 := proof rfl qed
notation `+3` := stratified + 2
notation `-3` := stratified - 2
notation `+3` := stratified + 2
@ -68,20 +59,6 @@ notation `-6` := stratified - 5
notation `+6` := stratified + 5
notation `-6` := stratified - 5
-- definition triple_type (N : succ_str) : Type₀ := N ⊎ N ⊎ N
-- definition triple_succ {N : succ_str} : triple_type N → triple_type N
-- | (inl n) := inr (inl n)
-- | (inr (inl n)) := inr (inr n)
-- | (inr (inr n)) := inl (S n)
-- definition triple [reducible] [constructor] (N : succ_str) : succ_str :=
-- succ_str.mk (triple_type N) triple_succ
-- notation `+3` := triple +
-- notation `-3` := triple -
-- notation `+3` := triple +
-- notation `-3` := triple -
namespace chain_complex
-- are chain complexes with the "set"-requirement removed interesting?
@ -510,7 +487,12 @@ namespace chain_complex
: is_trunc n (ptrunctype.to_pType X) :=
trunctype.struct X
/- a group where the point in the pointed corresponds with 1 in the group -/
/-
A group where the point in the pointed type corresponds with 1 in the group.
We need this structure because a chain complex is a sequence of pointed types, and we need
to assume for some of the theorems below that some of these pointed types are groups, where the
unit for multiplication is the point.
-/
structure pgroup [class] (X : Type*) extends semigroup X, has_inv X :=
(pt_mul : Πa, mul pt a = a)
(mul_pt : Πa, mul a pt = a)
@ -533,7 +515,13 @@ namespace chain_complex
mul_left_inv_pt := mul.left_inv⦄
end
-- the following theorems would also be true of the replace "is_contr" by "is_prop"
/-
The following theorems state that in a chain complex, if certain types are contractible, and
the chain complex is exact at the right spots, a map in the chain complex is an
embedding/surjection/equivalence. For the first and third we also need to assume that
the map is a group homomorphism (and hence that the two types around it are groups).
-/
definition is_embedding_of_trivial (X : chain_complex N) {n : N}
(H : is_exact_at X n) [HX : is_contr (X (S (S n)))]
[pgroup (X n)] [pgroup (X (S n))] [is_homomorphism (cc_to_fn X n)]