Definitions for Cohomology of Local Cochains
DefinitionQAlgorithms_Papers_Independent_Intakethird100_P07The objects the formalized statements of Cohomology of Local Cochains (arXiv:1110.2661) are stated in. Each was checked against the paper by a blind read-back and a moderator.
UnitTime: The closed real unit interval used in Definition 5.1, PDF p. 20.timeZero: The initial parameter of the unit interval.timeOne: The final parameter of the unit interval.IsLoopContraction: A homotopy through group endomorphisms, Definition 5.1, PDF p. 20. The parameter runs from the identity element to the identity map, as in Examples 5.2–5.4. Reversing this parameter gives a contraction to the identity.LoopContractible: Existence of the endomorphism homotopy of Definition 5.1, PDF p. 20.IsAddLoopContraction: Additive notation for Definition 5.1, with the same parameter convention.scalarHomotopy: The scalar homotopy in Example 5.2, PDF p. 20.BasedPaths: Based continuous paths, with the subspace topology of the compact-open mapping space, Example 5.3, PDF p. 20.basedPathMul: Pointwise path multiplication, also for noncommutative groups.basedPathOne: The constant based path.scaledTime: Multiplication of two parameters in the closed unit interval.pathRescale: The actual rescaling gamma(t) ↦ gamma(st), Example 5.3, PDF p. 20.basedPathEndpoint: Evaluation at the endpoint; its kernel is the based loop group.BasedLoops: The based loop subgroup as the endpoint kernel, Remark 5.4, PDF p. 20. It inherits the compact-open subspace topology from the based path space.KSpace: The underlying set with the final topology of compact Hausdorff probes, Definitions B.1–B.2, PDF p. 36. Probe and space universes are both u.kProbe: A probe, regarded as a continuous map into the final probe topology.kToOriginal: The canonical map kX→Y induced by a continuous map X→Y.kMap: The identity-on-points lift k(f), PDF p. 36.kCoreflector: The concrete coreflector: final probe topology on objects, same functions on morphisms. Definition B.4 and the following paragraph, PDF p. 36.IsKAddLoopContraction: Additive loop contraction in kTop. Continuity uses the kified product, not the ordinary product, as required in Section 6, PDF pp. 25–26.kProductCone: The candidate product in kTop: k applied to the ordinary product, with the actual ordinary-product projections, Proposition B.8, PDF p. 36.IsKOmega: Definition C.1, PDF p. 38: a countable covering family of images of compact Hausdorff spaces determines exactly the topology of X. The target need not be Hausdorff; finite and empty index types are permitted.
import Mathlib
/-!
Statements from M. Fuchssteiner, Cohomology of Local Cochains,
arXiv:1110.2661v2. The cohomological comparisons deferred in HARD.md are
not represented by abstract predicates or by unrelated group isomorphisms.
All new definitions are local to this paper. Compilation is pending.
-/
noncomputable section
universe u v
namespace QAlgorithms.Papers.Independent.Intakethird100.P07
open CategoryTheory Topology TopologicalSpace
/-- The closed real unit interval used in Definition 5.1, PDF p. 20. -/
abbrev UnitTime := Set.Icc (0 : ℝ) 1
/-- The initial parameter of the unit interval. -/
def timeZero : UnitTime := ⟨0, by constructor <;> norm_num⟩
/-- The final parameter of the unit interval. -/
def timeOne : UnitTime := ⟨1, by constructor <;> norm_num⟩
/-- A homotopy through group endomorphisms, Definition 5.1, PDF p. 20.
The parameter runs from the identity element to the identity map, as in
Examples 5.2–5.4. Reversing this parameter gives a contraction to the identity. -/
def IsLoopContraction {G : Type u} [TopologicalSpace G] [Group G]
(phi : G × UnitTime → G) : Prop :=
Continuous phi ∧
(∀ g, phi (g, timeZero) = 1) ∧
(∀ g, phi (g, timeOne) = g) ∧
∀ t g h, phi (g * h, t) = phi (g, t) * phi (h, t)
/-- Existence of the endomorphism homotopy of Definition 5.1, PDF p. 20. -/
def LoopContractible (G : Type u) [TopologicalSpace G] [Group G] : Prop :=
∃ phi : G × UnitTime → G, IsLoopContraction phi
/-- Additive notation for Definition 5.1, with the same parameter convention. -/
def IsAddLoopContraction {V : Type u} [TopologicalSpace V] [AddGroup V]
(phi : V × UnitTime → V) : Prop :=
Continuous phi ∧
(∀ x, phi (x, timeZero) = 0) ∧
(∀ x, phi (x, timeOne) = x) ∧
∀ t x y, phi (x + y, t) = phi (x, t) + phi (y, t)
/-- The scalar homotopy in Example 5.2, PDF p. 20. -/
def scalarHomotopy {V : Type u} [SMul ℝ V] (p : V × UnitTime) : V :=
(p.2 : ℝ) • p.1
example : scalarHomotopy ((3 : ℝ), timeZero) = 0 := by
simp [scalarHomotopy, timeZero]
example : scalarHomotopy ((3 : ℝ), timeOne) = 3 := by
simp [scalarHomotopy, timeOne]
/-- Based continuous paths, with the subspace topology of the compact-open
mapping space, Example 5.3, PDF p. 20. -/
def BasedPaths (G : Type u) [TopologicalSpace G] [Group G] :=
{gamma : C(UnitTime, G) // gamma timeZero = 1}
instance basedPathsTopology (G : Type u) [TopologicalSpace G] [Group G] :
TopologicalSpace (BasedPaths G) :=
inferInstanceAs (TopologicalSpace {gamma : C(UnitTime, G) // gamma timeZero = 1})
/-- Pointwise path multiplication, also for noncommutative groups. -/
def basedPathMul {G : Type u} [TopologicalSpace G] [Group G]
[IsTopologicalGroup G] (gamma eta : BasedPaths G) : BasedPaths G :=
⟨gamma.val * eta.val, by
change gamma.val timeZero * eta.val timeZero = 1
rw [gamma.property, eta.property, one_mul]⟩
/-- The constant based path. -/
def basedPathOne {G : Type u} [TopologicalSpace G] [Group G] : BasedPaths G :=
⟨ContinuousMap.const UnitTime 1, rfl⟩
/-- Multiplication of two parameters in the closed unit interval. -/
def scaledTime (s t : UnitTime) : UnitTime :=
⟨(s : ℝ) * (t : ℝ), mul_nonneg s.property.1 t.property.1,
(mul_le_mul_of_nonneg_right s.property.2 t.property.1).trans
(by simpa using t.property.2)⟩
/-- The actual rescaling gamma(t) ↦ gamma(st), Example 5.3, PDF p. 20. -/
def pathRescale {G : Type u} [TopologicalSpace G] [Group G]
(gamma : BasedPaths G) (s : UnitTime) : BasedPaths G :=
⟨⟨fun t => gamma.val (scaledTime s t),
gamma.val.continuous.comp
((continuous_const.mul continuous_subtype_val).subtype_mk
(fun t => (scaledTime s t).property))⟩, by
change gamma.val (scaledTime s timeZero) = 1
have h : scaledTime s timeZero = timeZero := by
apply Subtype.ext
simp [scaledTime, timeZero]
rw [h]
exact gamma.property⟩
example {G : Type u} [TopologicalSpace G] [Group G]
(s : UnitTime) : pathRescale (basedPathOne (G := G)) s = basedPathOne := by
apply Subtype.ext
apply ContinuousMap.ext
intro t
rfl
/-- Evaluation at the endpoint; its kernel is the based loop group. -/
def basedPathEndpoint {G : Type u} [TopologicalSpace G] [Group G]
(gamma : BasedPaths G) : G := gamma.val timeOne
/-- The based loop subgroup as the endpoint kernel, Remark 5.4, PDF p. 20.
It inherits the compact-open subspace topology from the based path space. -/
def BasedLoops (G : Type u) [TopologicalSpace G] [Group G] :=
{gamma : BasedPaths G // basedPathEndpoint gamma = 1}
instance basedLoopsTopology (G : Type u) [TopologicalSpace G] [Group G] :
TopologicalSpace (BasedLoops G) :=
inferInstanceAs (TopologicalSpace {gamma : BasedPaths G // basedPathEndpoint gamma = 1})
/-- The underlying set with the final topology of compact Hausdorff probes,
Definitions B.1–B.2, PDF p. 36. Probe and space universes are both u. -/
def KSpace (X : Type u) := X
instance kSpaceTopology (X : Type u) [TopologicalSpace X] :
TopologicalSpace (KSpace X) := TopologicalSpace.compactlyGenerated.{u} X
/-- A probe, regarded as a continuous map into the final probe topology. -/
def kProbe {X : Type u} [TopologicalSpace X] (S : CompHaus.{u})
(f : C(S, X)) : C(S, KSpace X) := by
let e : (Σ i : (T : CompHaus.{u}) × C(T, X), i.fst) → X :=
fun ⟨⟨_, g⟩, x⟩ => g x
have h : ∀ i : (T : CompHaus.{u}) × C(T, X),
Continuous[inferInstance, TopologicalSpace.compactlyGenerated.{u} X]
(fun a : i.fst => e ⟨i, a⟩) := by
rw [← @continuous_sigma_iff]
apply continuous_coinduced_rng
exact ⟨f, h ⟨S, f⟩⟩
instance kSpaceGenerated (X : Type u) [TopologicalSpace X] :
UCompactlyGeneratedSpace.{u} (KSpace X) := by
apply uCompactlyGeneratedSpace_of_continuous_maps
intro Y tY f hf
change Continuous[TopologicalSpace.compactlyGenerated.{u} X, tY] f
apply continuous_from_compactlyGenerated (X := X)
intro S g
exact hf S (kProbe S g)
/-- The canonical map kX→Y induced by a continuous map X→Y. -/
def kToOriginal {X Y : Type u} [TopologicalSpace X] [TopologicalSpace Y]
(f : C(X, Y)) : C(KSpace X, Y) :=
⟨f, continuous_from_compactlyGenerated f (fun _ g => f.continuous.comp g.continuous)⟩
/-- The identity-on-points lift k(f), PDF p. 36. -/
def kMap {X Y : Type u} [TopologicalSpace X] [TopologicalSpace Y]
(f : C(X, Y)) : C(KSpace X, KSpace Y) :=
⟨f, continuous_from_compactlyGenerated (X := X) (Y := KSpace Y)
(fun x => f x) (fun S g => (kProbe S (f.comp g)).continuous)⟩
/-- The concrete coreflector: final probe topology on objects, same functions
on morphisms. Definition B.4 and the following paragraph, PDF p. 36. -/
def kCoreflector : TopCat.{u} ⥤ CompactlyGenerated.{u, u} where
obj X := CompactlyGenerated.of (KSpace X)
map f := CompactlyGenerated.ofHom (kMap f.hom)
map_id X := by ext x; rfl
map_comp f g := by ext x; rfl
example : (kMap (ContinuousMap.id PUnit)) PUnit.unit = PUnit.unit := rfl
/-- Additive loop contraction in kTop. Continuity uses the kified product,
not the ordinary product, as required in Section 6, PDF pp. 25–26. -/
def IsKAddLoopContraction {V : Type u} [TopologicalSpace V] [AddGroup V]
(phi : V × UnitTime → V) : Prop :=
Continuous (fun p : KSpace (V × UnitTime) => phi p) ∧
(∀ x, phi (x, timeZero) = 0) ∧
(∀ x, phi (x, timeOne) = x) ∧
∀ t x y, phi (x + y, t) = phi (x, t) + phi (y, t)
/-- The candidate product in kTop: k applied to the ordinary product,
with the actual ordinary-product projections, Proposition B.8, PDF p. 36. -/
def kProductCone {I : Type u} (Y : I → CompactlyGenerated.{u, u}) : Limits.Fan Y :=
Limits.Fan.mk (CompactlyGenerated.of (KSpace (∀ i, Y i)))
(fun i => CompactlyGenerated.ofHom
(kToOriginal (⟨fun x => x i, continuous_apply i⟩ : C((∀ j, Y j), Y i))))
/-- Definition C.1, PDF p. 38: a countable covering family of images of
compact Hausdorff spaces determines exactly the topology of X. The target
need not be Hausdorff; finite and empty index types are permitted. -/
def IsKOmega (X : Type u) [TopologicalSpace X] : Prop :=
∃ (I : Type u) (_ : Countable I) (K : I → CompHaus.{u})
(f : ∀ i, C(K i, X)),
(∀ x : X, ∃ (i : I) (y : K i), f i y = x) ∧
∀ A : Set X, IsOpen A ↔ ∀ i, IsOpen ((f i) ⁻¹' A)
example : IsKOmega PUnit := by
refine ⟨PUnit, inferInstance, fun _ => CompHaus.of PUnit,
fun _ => ContinuousMap.id PUnit, ?_, ?_⟩
· intro x
exact ⟨PUnit.unit, x, rfl⟩
· intro A
constructor
· intro h i
exact h
· intro h
exact h PUnit.unit
end QAlgorithms.Papers.Independent.Intakethird100.P07
Read-back
What the Lean code literally says, in plain math · gpt-6.1-sol
QAlgorithms.Papers.Independent.Intakethird100.P07.BasedLoops
For any group equipped with a topology, this defines the type of based loops to consist of continuous paths satisfying both and .
QAlgorithms.Papers.Independent.Intakethird100.P07.BasedPaths
For any type equipped with a topology and a group structure, is the type of continuous functions satisfying , where the interval has its usual subspace topology and is the group identity. There is no restriction on , and continuity of the group operations is not assumed.
QAlgorithms.Papers.Independent.Intakethird100.P07.IsAddLoopContraction
For any type equipped with a topology and an additive group structure, and any function , the predicate means that is continuous for the product topology, that and for every , and that for every and every . Here is the additive identity, and has its topology inherited from . Neither commutativity nor compatibility between the topology and the additive group operations is assumed separately.
QAlgorithms.Papers.Independent.Intakethird100.P07.IsKAddLoopContraction
For any type in universe , equipped with a topology and an additive group structure, and any function , this defines the proposition that is continuous when its domain has the compactly generated refinement of the usual product topology, and that
for every and every real , including both endpoints. The domain refinement declares a subset open exactly when its inverse image is open under every continuous map from a compact Hausdorff space in universe into the original product . The topology on is unchanged, and no compatibility between its topology and group operations is assumed separately in this definition.
QAlgorithms.Papers.Independent.Intakethird100.P07.IsKOmega
For a topological space whose underlying type lies in universe , the property means that there exist an at most countable index type in universe , compact Hausdorff spaces in universe for every , and continuous maps , such that every equals for some and , and, for every subset , is open if and only if is open in for every . The index type and the spaces may be empty; an empty index type satisfies these conditions exactly when is empty.
QAlgorithms.Papers.Independent.Intakethird100.P07.IsLoopContraction
For any type equipped with a topology and a group structure, and any function , the predicate means that is continuous for the product topology, that and for every , and that for every and every . Here is the group identity, and the interval has its topology inherited from . No compatibility between the given topology and the group operations is assumed separately.
QAlgorithms.Papers.Independent.Intakethird100.P07.KSpace
For every type in universe , this defines to be the same underlying type . This declaration has no topology assumption and itself specifies no topology.
QAlgorithms.Papers.Independent.Intakethird100.P07.LoopContractible
For any type equipped with a topology and a group structure, means that there exists a continuous function , with the product topology on its domain and the usual subspace topology on , such that and for every , and for every and every . Here is the group identity; continuity of the group operations is not a separate assumption.
QAlgorithms.Papers.Independent.Intakethird100.P07.UnitTime
denotes the closed real interval , including both endpoints.
QAlgorithms.Papers.Independent.Intakethird100.P07.basedLoopsTopology
For any group equipped with a topology, this equips the set of continuous paths satisfying with the subspace topology inherited from the space of continuous paths satisfying ; that latter space itself has the subspace topology inherited from the compact-open topology on all continuous maps .
QAlgorithms.Papers.Independent.Intakethird100.P07.basedPathEndpoint
For any group equipped with a topology and any continuous path satisfying , this defines the endpoint of to be the element .
QAlgorithms.Papers.Independent.Intakethird100.P07.basedPathMul
For any type equipped with a topology and a group structure whose multiplication and inversion are continuous, and any continuous paths satisfying , is the continuous path for every . Its value at is , so it belongs to the same space of paths starting at the identity; no condition is imposed on either input path’s value at .
QAlgorithms.Papers.Independent.Intakethird100.P07.basedPathOne
For any type equipped with a topology and a group structure, is the constant continuous path given by for every . In particular, , so it is an element of the space of continuous paths starting at the group identity. No continuity of the group operations is assumed.
QAlgorithms.Papers.Independent.Intakethird100.P07.basedPathsTopology
For any type equipped with a topology and a group structure, this instance equips the set of continuous functions satisfying with the subspace topology inherited from the space of continuous maps, which carries the compact-open topology. Here has its usual subspace topology, is the group identity, and no continuity of the group operations is assumed.
QAlgorithms.Papers.Independent.Intakethird100.P07.kCoreflector
This defines a functor from the category of topological spaces in universe , with continuous maps as morphisms, to the category of spaces in universe that are compactly generated with respect to compact Hausdorff spaces in universe . It sends each space to the same underlying set with topology , where is open exactly when every originally continuous map from such a compact Hausdorff space has open inverse image . It sends each continuous map to the same underlying function regarded as a continuous map , and these assignments preserve identity maps and composition.
QAlgorithms.Papers.Independent.Intakethird100.P07.kMap
For any topological spaces and whose underlying types lie in universe , and any continuous map , this defines a continuous map whose underlying function is . For either space , the space has the underlying set of , and is open in exactly when is open for every compact Hausdorff space in universe and every continuous map using the original topology of .
QAlgorithms.Papers.Independent.Intakethird100.P07.kProbe
Let be a topological space in universe , let be any compact Hausdorff space in universe , and let be continuous. Equip the underlying set with the topology in which a subset is open exactly when is open for every continuous map from any compact Hausdorff space in universe , where continuity of is measured using the original topology on . This defines a continuous map from into that newly topologized space whose value at every is exactly .
QAlgorithms.Papers.Independent.Intakethird100.P07.kProductCone
For any index type in universe and any family of spaces in universe compactly generated with respect to compact Hausdorff spaces in universe , this defines a cone over the family in the category of such spaces. Its vertex is , where the product first has its usual product topology and a subset of the product is then declared open exactly when its inverse image is open under every continuous map from a compact Hausdorff space in universe into that original product. Its leg to , for each , is the continuous coordinate projection . The definition also applies when is empty, in which case the underlying product is a singleton and there are no legs.
QAlgorithms.Papers.Independent.Intakethird100.P07.kSpaceGenerated
For every type in universe , equipped with any topology, the same underlying set equipped with its compactly generated topology, denoted , is compactly generated with respect to compact Hausdorff spaces in universe . Here the topology on is defined by declaring open exactly when is open for every compact Hausdorff space in universe and every continuous map , where continuity into uses its original topology. The asserted compact generation means that openness in is likewise detected by continuous maps from such spaces into . No separation or nonemptiness assumption is imposed on .
QAlgorithms.Papers.Independent.Intakethird100.P07.kSpaceTopology
For every topological space whose underlying type lies in universe , this equips the same underlying set with the finest topology for which every map continuous for the original topology, with a compact Hausdorff space in universe , remains continuous as a map into . Equivalently, a subset is open exactly when is open in for every such and .
QAlgorithms.Papers.Independent.Intakethird100.P07.kToOriginal
For any topological spaces and whose underlying types lie in universe , and any continuous map , this defines a continuous map with the same underlying function . Here has the same underlying set as , with open precisely when is open for every compact Hausdorff space in universe and every originally continuous map ; retains its given topology.
QAlgorithms.Papers.Independent.Intakethird100.P07.pathRescale
Let be a group equipped with a topology, let be a continuous path satisfying , and let . This defines a new continuous path based at by for every . In particular, the definition includes , which gives the constant path at , and , which gives .
QAlgorithms.Papers.Independent.Intakethird100.P07.scalarHomotopy
For any type equipped with a specified scalar multiplication operation , and any pair , is defined to be , using the underlying real number of . The scalar multiplication operation is not required here to satisfy any module or action axioms, so this definition alone imposes no particular values at or .
QAlgorithms.Papers.Independent.Intakethird100.P07.scaledTime
For any real numbers , this defines their scaled time to be the product , regarded as an element of ; the accompanying bounds establish . Both endpoints of the interval are included.
QAlgorithms.Papers.Independent.Intakethird100.P07.timeOne
is the element of whose underlying real number is .
QAlgorithms.Papers.Independent.Intakethird100.P07.timeZero
is the element of whose underlying real number is .
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.