order of arguments in group.mk has changed
This commit is contained in:
parent
d6de922d1f
commit
c0b7740f13
9 changed files with 36 additions and 16 deletions
|
@ -8,8 +8,8 @@ namespace group
|
||||||
definition group_arrow [instance] (A B : Type) [group B] : group (A → B) :=
|
definition group_arrow [instance] (A B : Type) [group B] : group (A → B) :=
|
||||||
begin
|
begin
|
||||||
fapply group.mk,
|
fapply group.mk,
|
||||||
{ intro f g a, exact f a * g a },
|
|
||||||
{ apply is_trunc_arrow },
|
{ apply is_trunc_arrow },
|
||||||
|
{ intro f g a, exact f a * g a },
|
||||||
{ intros, apply eq_of_homotopy, intro a, apply mul.assoc },
|
{ intros, apply eq_of_homotopy, intro a, apply mul.assoc },
|
||||||
{ intro a, exact 1 },
|
{ intro a, exact 1 },
|
||||||
{ intros, apply eq_of_homotopy, intro a, apply one_mul },
|
{ intros, apply eq_of_homotopy, intro a, apply one_mul },
|
||||||
|
@ -31,9 +31,9 @@ namespace group
|
||||||
definition pgroup_ppmap [instance] (A B : Type*) [pgroup B] : pgroup (ppmap A B) :=
|
definition pgroup_ppmap [instance] (A B : Type*) [pgroup B] : pgroup (ppmap A B) :=
|
||||||
begin
|
begin
|
||||||
fapply pgroup.mk,
|
fapply pgroup.mk,
|
||||||
|
{ apply is_trunc_pmap },
|
||||||
{ intro f g, apply pmap.mk (λa, f a * g a),
|
{ intro f g, apply pmap.mk (λa, f a * g a),
|
||||||
exact ap011 mul (respect_pt f) (respect_pt g) ⬝ !one_mul },
|
exact ap011 mul (respect_pt f) (respect_pt g) ⬝ !one_mul },
|
||||||
{ apply is_trunc_pmap },
|
|
||||||
{ intros, apply pmap_eq_of_homotopy, intro a, apply mul.assoc },
|
{ intros, apply pmap_eq_of_homotopy, intro a, apply mul.assoc },
|
||||||
{ intro f, apply pmap.mk (λa, (f a)⁻¹), apply inv_eq_one, apply respect_pt },
|
{ intro f, apply pmap.mk (λa, (f a)⁻¹), apply inv_eq_one, apply respect_pt },
|
||||||
{ intros, apply pmap_eq_of_homotopy, intro a, apply one_mul },
|
{ intros, apply pmap_eq_of_homotopy, intro a, apply one_mul },
|
||||||
|
|
|
@ -137,7 +137,7 @@ namespace group
|
||||||
|
|
||||||
variables (X)
|
variables (X)
|
||||||
definition group_free_ab_group [constructor] : ab_group (fcg_carrier X) :=
|
definition group_free_ab_group [constructor] : ab_group (fcg_carrier X) :=
|
||||||
ab_group.mk fcg_mul _ fcg_mul_assoc fcg_one fcg_one_mul fcg_mul_one
|
ab_group.mk _ fcg_mul fcg_mul_assoc fcg_one fcg_one_mul fcg_mul_one
|
||||||
fcg_inv fcg_mul_left_inv fcg_mul_comm
|
fcg_inv fcg_mul_left_inv fcg_mul_comm
|
||||||
|
|
||||||
definition free_ab_group [constructor] : AbGroup :=
|
definition free_ab_group [constructor] : AbGroup :=
|
||||||
|
|
|
@ -112,8 +112,8 @@ namespace group
|
||||||
-- export [reduce_hints] free_group
|
-- export [reduce_hints] free_group
|
||||||
variables (X)
|
variables (X)
|
||||||
definition group_free_group [constructor] : group (free_group_carrier X) :=
|
definition group_free_group [constructor] : group (free_group_carrier X) :=
|
||||||
group.mk free_group_mul _ free_group_mul_assoc free_group_one free_group_one_mul free_group_mul_one
|
group.mk _ free_group_mul free_group_mul_assoc free_group_one free_group_one_mul
|
||||||
free_group_inv free_group_mul_left_inv
|
free_group_mul_one free_group_inv free_group_mul_left_inv
|
||||||
|
|
||||||
definition free_group [constructor] : Group :=
|
definition free_group [constructor] : Group :=
|
||||||
Group.mk _ (group_free_group X)
|
Group.mk _ (group_free_group X)
|
||||||
|
|
|
@ -46,7 +46,7 @@ namespace group
|
||||||
|
|
||||||
variables (G G')
|
variables (G G')
|
||||||
definition group_prod [constructor] : group (G × G') :=
|
definition group_prod [constructor] : group (G × G') :=
|
||||||
group.mk product_mul _ product_mul_assoc product_one product_one_mul product_mul_one
|
group.mk _ product_mul product_mul_assoc product_one product_one_mul product_mul_one
|
||||||
product_inv product_mul_left_inv
|
product_inv product_mul_left_inv
|
||||||
|
|
||||||
definition product [constructor] : Group :=
|
definition product [constructor] : Group :=
|
||||||
|
|
|
@ -125,7 +125,7 @@ namespace group
|
||||||
|
|
||||||
variable (N)
|
variable (N)
|
||||||
definition group_qg [constructor] : group (qg N) :=
|
definition group_qg [constructor] : group (qg N) :=
|
||||||
group.mk quotient_mul _ quotient_mul_assoc quotient_one quotient_one_mul quotient_mul_one
|
group.mk _ quotient_mul quotient_mul_assoc quotient_one quotient_one_mul quotient_mul_one
|
||||||
quotient_inv quotient_mul_left_inv
|
quotient_inv quotient_mul_left_inv
|
||||||
|
|
||||||
definition quotient_group [constructor] : Group :=
|
definition quotient_group [constructor] : Group :=
|
||||||
|
|
|
@ -214,7 +214,7 @@ namespace group
|
||||||
|
|
||||||
variable (H)
|
variable (H)
|
||||||
definition group_sg [constructor] : group (sg H) :=
|
definition group_sg [constructor] : group (sg H) :=
|
||||||
group.mk subgroup_mul _ subgroup_mul_assoc subgroup_one subgroup_one_mul subgroup_mul_one
|
group.mk _ subgroup_mul subgroup_mul_assoc subgroup_one subgroup_one_mul subgroup_mul_one
|
||||||
subgroup_inv subgroup_mul_left_inv
|
subgroup_inv subgroup_mul_left_inv
|
||||||
|
|
||||||
definition subgroup [constructor] : Group :=
|
definition subgroup [constructor] : Group :=
|
||||||
|
|
|
@ -188,12 +188,12 @@ namespace seq_colim
|
||||||
seq_diagram (λn, Πx, A x n) :=
|
seq_diagram (λn, Πx, A x n) :=
|
||||||
λn f x, g (f x)
|
λn f x, g (f x)
|
||||||
|
|
||||||
namespace seq_colim.ops
|
namespace ops
|
||||||
abbreviation ι [constructor] := @inclusion
|
abbreviation ι [constructor] := @inclusion
|
||||||
abbreviation pι [constructor] {A} (f) {n} := @pinclusion A f n
|
abbreviation pι [constructor] {A} (f) {n} := @pinclusion A f n
|
||||||
abbreviation pι' [constructor] [parsing_only] := @pinclusion
|
abbreviation pι' [constructor] [parsing_only] := @pinclusion
|
||||||
abbreviation ι' [constructor] [parsing_only] {A} (f n) := @inclusion A f n
|
abbreviation ι' [constructor] [parsing_only] {A} (f n) := @inclusion A f n
|
||||||
end seq_colim.ops
|
end ops
|
||||||
open seq_colim.ops
|
open seq_colim.ops
|
||||||
|
|
||||||
definition rep0_glue (k : ℕ) (a : A 0) : ι f (rep0 f k a) = ι f a :=
|
definition rep0_glue (k : ℕ) (a : A 0) : ι f (rep0 f k a) = ι f a :=
|
||||||
|
|
|
@ -8,7 +8,9 @@ Reduced cohomology
|
||||||
|
|
||||||
import algebra.arrow_group .spectrum homotopy.EM
|
import algebra.arrow_group .spectrum homotopy.EM
|
||||||
|
|
||||||
open eq spectrum int trunc pointed EM group algebra circle sphere nat EM.ops
|
open eq spectrum int trunc pointed EM group algebra circle sphere nat EM.ops equiv susp
|
||||||
|
|
||||||
|
namespace cohomology
|
||||||
|
|
||||||
definition EM_spectrum /-[constructor]-/ (G : AbGroup) : spectrum :=
|
definition EM_spectrum /-[constructor]-/ (G : AbGroup) : spectrum :=
|
||||||
spectrum.Mk (K G) (λn, (loop_EM G n)⁻¹ᵉ*)
|
spectrum.Mk (K G) (λn, (loop_EM G n)⁻¹ᵉ*)
|
||||||
|
@ -43,3 +45,21 @@ definition cohomology_homomorphism_compose {X X' X'' : Type*} (g : X'' →* X')
|
||||||
(Y : spectrum) (n : ℤ) (h : H^n[X, Y]) : cohomology_homomorphism (f ∘* g) Y n h ~*
|
(Y : spectrum) (n : ℤ) (h : H^n[X, Y]) : cohomology_homomorphism (f ∘* g) Y n h ~*
|
||||||
cohomology_homomorphism g Y n (cohomology_homomorphism f Y n h) :=
|
cohomology_homomorphism g Y n (cohomology_homomorphism f Y n h) :=
|
||||||
!passoc⁻¹*
|
!passoc⁻¹*
|
||||||
|
|
||||||
|
end cohomology
|
||||||
|
|
||||||
|
exit
|
||||||
|
definition cohomology_psusp (X : Type*) (Y : spectrum) (n : ℤ) :
|
||||||
|
H^n+1[psusp X, Y] ≃ H^n[X, Y] :=
|
||||||
|
calc
|
||||||
|
H^n+1[psusp X, Y] ≃ psusp X →* πg[2] (Y (2+(n+1))) : by reflexivity
|
||||||
|
... ≃ X →* Ω (πg[2] (Y (2+(n+1)))) : psusp_adjoint_loop_unpointed
|
||||||
|
-- ... ≃ X →* πg[3] (Y (2+(n+1))) : _
|
||||||
|
--... ≃ X →* πag[3] (Y ((2+n)+1)) : _
|
||||||
|
... ≃ X →* πg[2] (Y (2+n)) :
|
||||||
|
begin
|
||||||
|
refine equiv_of_pequiv (pequiv_ppcompose_left _),
|
||||||
|
refine !homotopy_group_succ_o ⬝ _,
|
||||||
|
exact sorry --refine _ ⬝e* _ ⬝e* _
|
||||||
|
end
|
||||||
|
... ≃ H^n[X, Y] : by reflexivity
|
||||||
|
|
|
@ -858,8 +858,8 @@ namespace category
|
||||||
begin
|
begin
|
||||||
have foo : Π(g : A), @inv A G g = (@inv A G g * g) * @inv A H g,
|
have foo : Π(g : A), @inv A G g = (@inv A G g * g) * @inv A H g,
|
||||||
from λg, !mul_inv_cancel_right⁻¹,
|
from λg, !mul_inv_cancel_right⁻¹,
|
||||||
cases G with Gm Gs Gh1 G1 Gh2 Gh3 Gi Gh4,
|
cases G with Gs Gm Gh1 G1 Gh2 Gh3 Gi Gh4,
|
||||||
cases H with Hm Hs Hh1 H1 Hh2 Hh3 Hi Hh4,
|
cases H with Hs Hm Hh1 H1 Hh2 Hh3 Hi Hh4,
|
||||||
change Gi ~ Hi, intro g, have p' : Gm ~2 Hm, from p,
|
change Gi ~ Hi, intro g, have p' : Gm ~2 Hm, from p,
|
||||||
calc
|
calc
|
||||||
Gi g = Hm (Hm (Gi g) g) (Hi g) : foo
|
Gi g = Hm (Hm (Gi g) g) (Hi g) : foo
|
||||||
|
@ -910,9 +910,9 @@ namespace category
|
||||||
induction G with G g, induction H with H h,
|
induction G with G g, induction H with H h,
|
||||||
esimp [Group.sigma_char2] at p, induction p,
|
esimp [Group.sigma_char2] at p, induction p,
|
||||||
refine !pathover_idp ⬝e _,
|
refine !pathover_idp ⬝e _,
|
||||||
induction g with m s ma o om mo i mi, induction h with μ σ μa ε εμ με ι μι,
|
induction g with s m ma o om mo i mi, induction h with σ μ μa ε εμ με ι μι,
|
||||||
exact Group_eq_equiv_lemma2 (Group.sigma_char2 (Group.mk G (group.mk m s ma o om mo i mi))).2.2
|
exact Group_eq_equiv_lemma2 (Group.sigma_char2 (Group.mk G (group.mk s m ma o om mo i mi))).2.2
|
||||||
(Group.sigma_char2 (Group.mk G (group.mk μ σ μa ε εμ με ι μι))).2.2
|
(Group.sigma_char2 (Group.mk G (group.mk σ μ μa ε εμ με ι μι))).2.2
|
||||||
end
|
end
|
||||||
|
|
||||||
definition isomorphism.sigma_char (G H : Group) : (G ≃g H) ≃ Σ(e : G ≃ H), is_mul_hom e :=
|
definition isomorphism.sigma_char (G H : Group) : (G ≃g H) ≃ Σ(e : G ≃ H), is_mul_hom e :=
|
||||||
|
|
Loading…
Add table
Reference in a new issue