add simpler versions of is_trunc_ppi and is_strunc_spi
This commit is contained in:
parent
aa1d1bd333
commit
9b895beeee
2 changed files with 44 additions and 6 deletions
|
@ -87,6 +87,13 @@ definition is_strunc_change_int {k l : ℤ} (E : spectrum) (p : k = l)
|
||||||
: is_strunc k E → is_strunc l E :=
|
: is_strunc k E → is_strunc l E :=
|
||||||
begin induction p, exact id end
|
begin induction p, exact id end
|
||||||
|
|
||||||
|
definition is_strunc_of_le {k l : ℤ} (E : spectrum) (H : k ≤ l)
|
||||||
|
: is_strunc k E → is_strunc l E :=
|
||||||
|
begin
|
||||||
|
intro T, intro n, exact is_trunc_of_le (E n)
|
||||||
|
(maxm2_monotone (algebra.add_le_add_right H n))
|
||||||
|
end
|
||||||
|
|
||||||
definition is_strunc_strunc (k : ℤ) (E : spectrum)
|
definition is_strunc_strunc (k : ℤ) (E : spectrum)
|
||||||
: is_strunc k (strunc k E) :=
|
: is_strunc k (strunc k E) :=
|
||||||
λ n, is_trunc_trunc (maxm2 (k + n)) (E n)
|
λ n, is_trunc_trunc (maxm2 (k + n)) (E n)
|
||||||
|
@ -179,11 +186,11 @@ section
|
||||||
definition is_trunc_maxm2_ppi (k : ℤ) (P : A → (maxm2 (n+1+k))-Type*)
|
definition is_trunc_maxm2_ppi (k : ℤ) (P : A → (maxm2 (n+1+k))-Type*)
|
||||||
: is_trunc (maxm2 k) (Π*(a : A), P a) :=
|
: is_trunc (maxm2 k) (Π*(a : A), P a) :=
|
||||||
is_trunc_maxm2_of_maxm1 (Π*(a : A), P a) k
|
is_trunc_maxm2_of_maxm1 (Π*(a : A), P a) k
|
||||||
(@is_trunc_ppi A (maxm1m1 n)
|
(@is_trunc_ppi_of_is_conn A (maxm1m1 n)
|
||||||
(is_conn_maxm1_of_maxm2 A n H) (maxm1m1 k)
|
(is_conn_maxm1_of_maxm2 A n H) (maxm1m1 k)
|
||||||
(λ a, ptrunctype.mk (P a) (is_trunc_of_le (P a) (maxm2_le n k)) pt))
|
(λ a, ptrunctype.mk (P a) (is_trunc_of_le (P a) (maxm2_le n k)) pt))
|
||||||
|
|
||||||
definition is_strunc_spi (k : ℤ) (P : A → (n+1+k)-spectrum)
|
definition is_strunc_spi_of_is_conn (k : ℤ) (P : A → (n+1+k)-spectrum)
|
||||||
: is_strunc k (spi A P) :=
|
: is_strunc k (spi A P) :=
|
||||||
begin
|
begin
|
||||||
intro m, unfold spi,
|
intro m, unfold spi,
|
||||||
|
@ -195,4 +202,15 @@ section
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
definition is_strunc_spi (A : Type*) (k n : ℤ) (H : n ≤ k) (P : A → n-spectrum)
|
||||||
|
: is_strunc k (spi A P) :=
|
||||||
|
begin
|
||||||
|
assert K : n ≤ -[1+ 0] + 1 + k,
|
||||||
|
{ krewrite (int.zero_add k), exact H },
|
||||||
|
{ exact @is_strunc_spi_of_is_conn A (-[1+ 0])
|
||||||
|
(is_conn.is_conn_minus_two A) k
|
||||||
|
(λ a, truncspectrum.mk (P a) (is_strunc_of_le (P a) K
|
||||||
|
(truncspectrum.struct (P a)))) }
|
||||||
|
end
|
||||||
|
|
||||||
end spectrum
|
end spectrum
|
||||||
|
|
|
@ -4,9 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE.
|
||||||
Authors: Ulrik Buchholtz, Floris van Doorn
|
Authors: Ulrik Buchholtz, Floris van Doorn
|
||||||
-/
|
-/
|
||||||
|
|
||||||
import homotopy.connectedness types.pointed2
|
import homotopy.connectedness types.pointed2 .move_to_lib
|
||||||
|
|
||||||
open eq pointed equiv sigma is_equiv
|
open eq pointed equiv sigma is_equiv trunc
|
||||||
|
|
||||||
/-
|
/-
|
||||||
In this file we define dependent pointed maps and properties of them.
|
In this file we define dependent pointed maps and properties of them.
|
||||||
|
@ -464,6 +464,8 @@ end pointed open pointed
|
||||||
|
|
||||||
open is_trunc is_conn
|
open is_trunc is_conn
|
||||||
namespace is_conn
|
namespace is_conn
|
||||||
|
section
|
||||||
|
|
||||||
variables (A : Type*) (n : ℕ₋₂) [H : is_conn (n.+1) A]
|
variables (A : Type*) (n : ℕ₋₂) [H : is_conn (n.+1) A]
|
||||||
include H
|
include H
|
||||||
|
|
||||||
|
@ -477,7 +479,7 @@ namespace is_conn
|
||||||
{ krewrite (is_conn.elim_β n), apply con.left_inv }
|
{ krewrite (is_conn.elim_β n), apply con.left_inv }
|
||||||
end
|
end
|
||||||
|
|
||||||
definition is_trunc_ppi (k : ℕ₋₂) (P : A → (n.+1+2+k)-Type*)
|
definition is_trunc_ppi_of_is_conn (k : ℕ₋₂) (P : A → (n.+1+2+k)-Type*)
|
||||||
: is_trunc k.+1 (Π*(a : A), P a) :=
|
: is_trunc k.+1 (Π*(a : A), P a) :=
|
||||||
begin
|
begin
|
||||||
induction k with k IH,
|
induction k with k IH,
|
||||||
|
@ -497,6 +499,24 @@ namespace is_conn
|
||||||
definition is_trunc_pmap_of_is_conn (k : ℕ₋₂) (B : (n.+1+2+k)-Type*)
|
definition is_trunc_pmap_of_is_conn (k : ℕ₋₂) (B : (n.+1+2+k)-Type*)
|
||||||
: is_trunc k.+1 (A →* B) :=
|
: is_trunc k.+1 (A →* B) :=
|
||||||
@is_trunc_equiv_closed _ _ k.+1 (ppi_equiv_pmap A B)
|
@is_trunc_equiv_closed _ _ k.+1 (ppi_equiv_pmap A B)
|
||||||
(is_trunc_ppi A n k (λ a, B))
|
(is_trunc_ppi_of_is_conn A n k (λ a, B))
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
-- this is probably much easier to prove directly
|
||||||
|
definition is_trunc_ppi (A : Type*) (n k : ℕ₋₂) (H : n ≤ k) (P : A → n-Type*)
|
||||||
|
: is_trunc k (Π*(a : A), P a) :=
|
||||||
|
begin
|
||||||
|
cases k with k,
|
||||||
|
{ apply trunc.is_contr_of_merely_prop,
|
||||||
|
{ exact @is_trunc_ppi_of_is_conn A -2 (is_conn_minus_one A (tr pt)) -2
|
||||||
|
(λ a, ptrunctype.mk (P a) (is_trunc_of_le (P a)
|
||||||
|
(trunc_index.le.step H)) pt) },
|
||||||
|
{ exact tr pt } },
|
||||||
|
{ assert K : n ≤ -1 +2+ k,
|
||||||
|
{ rewrite (trunc_index.add_plus_two_comm -1 k), exact H },
|
||||||
|
{ exact @is_trunc_ppi_of_is_conn A -2 (is_conn_minus_one A (tr pt)) k
|
||||||
|
(λ a, ptrunctype.mk (P a) (is_trunc_of_le (P a) K) pt) } }
|
||||||
|
end
|
||||||
|
|
||||||
end is_conn
|
end is_conn
|
||||||
|
|
Loading…
Reference in a new issue