begin LESs
This commit is contained in:
parent
2f150dce1f
commit
c926955c8b
1 changed files with 72 additions and 0 deletions
72
homotopy/long_exact_sequence.hlean
Normal file
72
homotopy/long_exact_sequence.hlean
Normal file
|
@ -0,0 +1,72 @@
|
|||
import types.pointed types.int types.fiber
|
||||
|
||||
open algebra nat int pointed unit sigma fiber sigma.ops eq
|
||||
|
||||
namespace LES
|
||||
|
||||
structure LES : Type :=
|
||||
(car : ℤ → Type*)
|
||||
(fn : Π{n : ℤ}, car (n + 1) →* car n)
|
||||
(chain_complex : Π{n : ℤ} (x : car ((n + 1) + 1)), fn (fn x) = pt)
|
||||
(is_exact : Π{n : ℤ} (x : car (n + 1)), fn x = pt → Σ(y : car ((n + 1) + 1)), fn y = x)
|
||||
|
||||
structure LLES : Type := -- "left" long exact sequence
|
||||
(car : ℕ → Type*)
|
||||
(fn : Π{n : ℕ}, car (n + 1) →* car n)
|
||||
(chain_complex : Π{n : ℕ} (x : car ((n + 1) + 1)), fn (fn x) = pt)
|
||||
(is_exact : Π{n : ℕ} (x : car (n + 1)), fn x = pt → Σ(y : car ((n + 1) + 1)), fn y = x)
|
||||
|
||||
structure RLES : Type := -- "right" long exact sequence
|
||||
(car : ℕ → Type*)
|
||||
(fn : Π{n : ℕ}, car n →* car (n + 1))
|
||||
(chain_complex : Π{n : ℕ} (x : car n), fn (fn x) = pt)
|
||||
(is_exact : Π{n : ℕ} (x : car (n + 1)), fn x = pt → Σ(y : car n), fn y = x)
|
||||
|
||||
open LES LLES RLES
|
||||
|
||||
/-
|
||||
this construction is currently wrong. We need to add one element between the sequence
|
||||
-/
|
||||
definition LES_of_LLES (X : LLES) : LES :=
|
||||
LES.mk (int.rec (car X) (λn, Unit))
|
||||
begin
|
||||
intro n, fconstructor,
|
||||
{ induction n with n n,
|
||||
{ exact @fn X n},
|
||||
{ esimp, intro x, exact star}},
|
||||
{ induction n with n n,
|
||||
{ apply respect_pt},
|
||||
{ reflexivity}}
|
||||
end
|
||||
begin
|
||||
intro n, induction n with n n,
|
||||
{ exact chain_complex X},
|
||||
{ esimp, intro x, reflexivity}
|
||||
end
|
||||
begin
|
||||
intro n, induction n with n n,
|
||||
{ exact is_exact X},
|
||||
{ esimp, intro x p, exact sorry}
|
||||
end
|
||||
|
||||
definition fiber_sequence_helper (v : Σ(X Y : Type*), X →* Y) : Σ(Z X : Type*), Z →* X :=
|
||||
⟨pointed_fiber v.2.2 pt, v.1, pmap.mk point rfl⟩
|
||||
-- match v with
|
||||
-- | ⟨X, Y, f⟩ := ⟨pointed_fiber f pt, X, pmap.mk point rfl⟩
|
||||
-- end
|
||||
|
||||
exit
|
||||
definition fiber_sequence.{u} {X Y : Pointed.{u}} (f : X →* Y) : LLES.{u} :=
|
||||
begin
|
||||
fconstructor,
|
||||
{ intro n, cases n with n,
|
||||
{ exact Y},
|
||||
{ exact (iterate fiber_sequence_helper n ⟨X, Y, f⟩).1}},
|
||||
{ intro n, cases n with n,
|
||||
{ exact f},
|
||||
{ exact pmap.mk point rfl}},
|
||||
{ intro n x, exact sorry},
|
||||
{ exact sorry}
|
||||
end
|
||||
|
||||
end LES
|
Loading…
Reference in a new issue