some cleanup
This commit is contained in:
parent
a716ef2108
commit
2de92db5b6
2 changed files with 24 additions and 39 deletions
|
@ -43,7 +43,7 @@ namespace is_conn
|
||||||
{ /- k = 0 -/
|
{ /- k = 0 -/
|
||||||
change (is_equiv (trunc_functor 0 f)), apply is_equiv_trunc_functor_of_is_conn_fun,
|
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)},
|
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,
|
have H2' : k ≤ n, from le.trans !self_le_succ H2,
|
||||||
exact
|
exact
|
||||||
@is_equiv_of_trivial _
|
@is_equiv_of_trivial _
|
||||||
|
@ -84,12 +84,6 @@ namespace hopf
|
||||||
|
|
||||||
open sphere.ops susp circle sphere_index
|
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]
|
attribute hopf [unfold 4]
|
||||||
-- definition phopf (x : psusp A) : Type* :=
|
-- definition phopf (x : psusp A) : Type* :=
|
||||||
-- pointed.MK (hopf A x)
|
-- 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)) :=
|
-- 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
|
-- 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 part_of_complex_hopf : S (of_nat 3) → sigma (hopf S¹) :=
|
||||||
-- definition pjoin_spheres_inv_base (n m : ℕ)
|
begin
|
||||||
-- : (join.spheres 1 1)⁻¹ (cast proof idp qed (@sphere.base 3)) = inl base :=
|
intro x, apply inv (hopf.total S¹), apply inv (join.spheres 1 1), exact x
|
||||||
-- begin
|
end
|
||||||
-- exact sorry
|
|
||||||
-- 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 :=
|
definition pfiber_complex_phopf : pfiber complex_phopf ≃* S. 1 :=
|
||||||
begin
|
begin
|
||||||
|
@ -136,7 +133,7 @@ namespace hopf
|
||||||
(join.spheres 1 1)⁻¹ᵉ _ ⬝e _,
|
(join.spheres 1 1)⁻¹ᵉ _ ⬝e _,
|
||||||
refine fiber.equiv_precompose (hopf.total S¹)⁻¹ᵉ ⬝e _,
|
refine fiber.equiv_precompose (hopf.total S¹)⁻¹ᵉ ⬝e _,
|
||||||
apply fiber_pr1},
|
apply fiber_pr1},
|
||||||
{ exact sorry}
|
{ esimp, refine _ ⬝ part_of_complex_hopf_base2, apply fiber_pr1_fun}
|
||||||
end
|
end
|
||||||
|
|
||||||
open int
|
open int
|
||||||
|
|
|
@ -43,13 +43,6 @@ notation `-ℤ` := sint'
|
||||||
|
|
||||||
definition stratified_type [reducible] (N : succ_str) (n : ℕ) : Type₀ := N × fin (succ n)
|
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)
|
definition stratified_succ {N : succ_str} {n : ℕ} (x : stratified_type N n)
|
||||||
: stratified_type N n :=
|
: stratified_type N n :=
|
||||||
(if val (pr2 x) = n then S (pr1 x) else pr1 x, my_succ (pr2 x))
|
(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 :=
|
definition stratified [reducible] [constructor] (N : succ_str) (n : ℕ) : succ_str :=
|
||||||
succ_str.mk (stratified_type N n) stratified_succ
|
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
|
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
|
||||||
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
|
namespace chain_complex
|
||||||
|
|
||||||
-- are chain complexes with the "set"-requirement removed interesting?
|
-- are chain complexes with the "set"-requirement removed interesting?
|
||||||
|
@ -510,7 +487,12 @@ namespace chain_complex
|
||||||
: is_trunc n (ptrunctype.to_pType X) :=
|
: is_trunc n (ptrunctype.to_pType X) :=
|
||||||
trunctype.struct 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 :=
|
structure pgroup [class] (X : Type*) extends semigroup X, has_inv X :=
|
||||||
(pt_mul : Πa, mul pt a = a)
|
(pt_mul : Πa, mul pt a = a)
|
||||||
(mul_pt : Πa, mul a pt = a)
|
(mul_pt : Πa, mul a pt = a)
|
||||||
|
@ -533,7 +515,13 @@ namespace chain_complex
|
||||||
mul_left_inv_pt := mul.left_inv⦄
|
mul_left_inv_pt := mul.left_inv⦄
|
||||||
end
|
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}
|
definition is_embedding_of_trivial (X : chain_complex N) {n : N}
|
||||||
(H : is_exact_at X n) [HX : is_contr (X (S (S 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)]
|
[pgroup (X n)] [pgroup (X (S n))] [is_homomorphism (cc_to_fn X n)]
|
||||||
|
|
Loading…
Add table
Reference in a new issue