some cleanup, and add a todo list

This commit is contained in:
Floris van Doorn 2018-09-26 19:53:23 +02:00
parent 8937371b33
commit acae548d3a
4 changed files with 33 additions and 21 deletions

View file

@ -58,8 +58,17 @@ namespace group
definition ab_product [constructor] (G G' : AbGroup) : AbGroup := definition ab_product [constructor] (G G' : AbGroup) : AbGroup :=
AbGroup.mk _ (ab_group_prod G G') AbGroup.mk _ (ab_group_prod G G')
definition add_product [constructor] (G G' : AddGroup) : AddGroup :=
group.product G G'
definition add_ab_product [constructor] (G G' : AddAbGroup) : AddAbGroup :=
group.ab_product G G'
infix ` ×g `:60 := group.product infix ` ×g `:60 := group.product
infix ` ×ag `:60 := group.ab_product infix ` ×ag `:60 := group.ab_product
infix ` ×a `:60 := group.add_product
infix ` ×aa `:60 := group.add_ab_product
definition product_inl [constructor] (G H : Group) : G →g G ×g H := definition product_inl [constructor] (G H : Group) : G →g G ×g H :=
homomorphism.mk (λx, (x, one)) (λx y, prod_eq !refl !one_mul⁻¹) homomorphism.mk (λx, (x, one)) (λx y, prod_eq !refl !one_mul⁻¹)

View file

@ -592,17 +592,8 @@ namespace left_module
open int group prod convergence_theorem prod.ops open int group prod convergence_theorem prod.ops
definition Z2 [constructor] : AddAbGroup := ag ×ag ag definition Z2 [constructor] : AddAbGroup := ag ×aa ag
-- set_option pp.coercions true
-- set_option pp.binder_types true
-- todo: move
definition AddAbGroup.struct2 [instance] (G : AddAbGroup) :
add_ab_group (algebra._trans_of_Group_of_AbGroup_2 G) :=
AddAbGroup.struct G
/- TODO: redefine/generalize converges_to so that it supports the usual indexing on × -/
structure converges_to.{u v w} {R : Ring} (E' : ag → ag → LeftModule.{u v} R) structure converges_to.{u v w} {R : Ring} (E' : ag → ag → LeftModule.{u v} R)
(Dinf : ag → LeftModule.{u w} R) : Type.{max u (v+1) (w+1)} := (Dinf : ag → LeftModule.{u w} R) : Type.{max u (v+1) (w+1)} :=
(X : exact_couple.{u 0 w v} R Z2) (X : exact_couple.{u 0 w v} R Z2)
@ -614,16 +605,6 @@ namespace left_module
(deg_d1 : → ag) (deg_d2 : → ag) (deg_d1 : → ag) (deg_d2 : → ag)
(deg_d_eq0 : Π(r : ), deg (d (page X r)) 0 = (deg_d1 r, deg_d2 r)) (deg_d_eq0 : Π(r : ), deg (d (page X r)) 0 = (deg_d1 r, deg_d2 r))
structure converging_spectral_sequence.{u v w} {R : Ring} (E' : ag → ag → LeftModule.{u v} R)
(Dinf : ag → LeftModule.{u w} R) : Type.{max u (v+1) (w+1)} :=
(E : → graded_module.{u 0 v} R Z2)
(d : Π(n : ), E n →gm E n)
(α : Π(n : ) (x : Z2), E (n+1) x ≃lm graded_homology (d n) (d n) x)
(e : Π(n : ) (x : Z2), E 0 x ≃lm E' x.1 x.2)
(s₀ : Z2 → )
(f : Π{n : } {x : Z2} (h : s₀ x ≤ n), E (s₀ x) x ≃lm E n x)
(HDinf : Π(n : ag), is_built_from (Dinf n) (λ(k : ), (λx, E (s₀ x) x) (k, n - k)))
infix ` ⟹ `:25 := converges_to infix ` ⟹ `:25 := converges_to
definition converges_to_g [reducible] (E' : ag → ag → AbGroup) (Dinf : ag → AbGroup) : Type := definition converges_to_g [reducible] (E' : ag → ag → AbGroup) (Dinf : ag → AbGroup) : Type :=
@ -757,6 +738,25 @@ namespace left_module
converges_to_isomorphism c (λn s, lm_iso_int.mk (e' n s)) (λn, lm_iso_int.mk (f' n)) converges_to_isomorphism c (λn s, lm_iso_int.mk (e' n s)) (λn, lm_iso_int.mk (f' n))
structure converging_spectral_sequence.{u v w} {R : Ring} (E' : ag → ag → LeftModule.{u v} R)
(Dinf : ag → LeftModule.{u w} R) : Type.{max u (v+1) (w+1)} :=
(E : → graded_module.{u 0 v} R Z2)
(d : Π(n : ), E n →gm E n)
(α : Π(n : ) (x : Z2), E (n+1) x ≃lm graded_homology (d n) (d n) x)
(e : Π(n : ) (x : Z2), E 0 x ≃lm E' x.1 x.2)
(s₀ : Z2 → )
(f : Π{n : } {x : Z2} (h : s₀ x ≤ n), E (s₀ x) x ≃lm E n x)
(lb : )
(HDinf : Π(n : ag), is_built_from (Dinf n) (λ(k : ), (λx, E (s₀ x) x) (k + lb n, n - (k + lb n))))
/-
todo:
- rename "converges_to" to converging_exact_couple
- double-check the definition of converging_spectral_sequence
- construct converging spectral sequence from a converging exact couple (with the additional hypothesis that the degree of i is (1, -1) or something)
- redefine `⟹` to be a converging spectral sequence
-/
end left_module end left_module
open left_module open left_module
namespace pointed namespace pointed

View file

@ -296,7 +296,6 @@ section serre
begin intro n, apply unreduced_cohomology_isomorphism, exact !sigma_fiber_equiv⁻¹ᵉ end begin intro n, apply unreduced_cohomology_isomorphism, exact !sigma_fiber_equiv⁻¹ᵉ end
qed qed
end serre end serre

View file

@ -7,6 +7,10 @@ open eq nat int susp pointed sigma is_equiv equiv fiber algebra trunc pi group
universe variable u universe variable u
definition AddAbGroup.struct2 [instance] (G : AddAbGroup) :
add_ab_group (algebra._trans_of_Group_of_AbGroup_2 G) :=
AddAbGroup.struct G
namespace eq namespace eq
definition transport_lemma {A : Type} {C : A → Type} {g₁ : A → A} definition transport_lemma {A : Type} {C : A → Type} {g₁ : A → A}