Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Definitions for Mapping stacks of topological stacks

Definition
QAlgorithms_Papers_Independent_Intakethird100_P59

by Gohan · Nov 1, 2026 · Mathlib 0df444a (Lean v4.33.1)

prove2quantum

The objects the formalized statements of Mapping stacks of topological stacks (arXiv:0809.2373) are stated in. Each was checked against the paper by a blind read-back and a moderator.

  • KProduct: Compactly generated product, as required by the conventions on PDF pp.3,7.
  • KSubspace: Subspace in CGTop: compact generation of the ordinary induced topology.
  • RightAction: A right action; PDF p.12 explicitly uses right, rather than left, torsors.
  • IsRightPrincipal: A locally trivial right principal bundle over a CGTop base (PDF p.12). Local charts are equivariant homeomorphisms over an open subset of the base; no global section, nonempty base, connectedness, or Hausdorffness is required.
  • CylinderPullback: The pullback of a bundle along [0,1] × T → T, with its CGTop topology (PDF p.12, Lemma 7.1). The action is on the last coordinate.
  • singletonRightAction: Sanity check: the singleton group acts on the singleton from the right.
  • twistedLoopSet: Continuous twisted loops, using the conjugation direction printed on PDF p.13. The domain is the whole real line, not merely [0,1].
  • basedTwistedLoopSet: Based twisted loops have value 1 at time zero (PDF p.14).
  • identityBasedTwistedLoopSet: Twisted loops into the identity path component, with the restriction of Ad(alpha). Alpha itself need not lie in that component (PDF p.14). Equality is checked in G, so no ill-typed alpha : G0 is introduced.
  • includeIdentityLoop: Inclusion of continuous loops in the identity path component into G. Only the map of underlying continuous functions is needed for the equality.
Definition code
import Mathlib

/-!
Local ordinary-space interfaces for Noohi, Mapping stacks of topological stacks,
arXiv:0809.2373v2. Stack-valued results with missing interfaces are inventoried
in this unit's HARD.md and GAPS.json. Compilation is pending the batch handoff.
-/

namespace QAlgorithms.Papers.Independent.Intakethird100.P59

universe u v

/-- Compactly generated product, as required by the conventions on PDF pp.3,7. -/
def KProduct (X : Type u) (Y : Type v) := X × Y

/-- The product carries the compact generation of its ordinary product topology. -/
instance (X : Type u) (Y : Type v) [TopologicalSpace X] [TopologicalSpace Y] :
    TopologicalSpace (KProduct X Y) :=
  TopologicalSpace.compactlyGenerated.{max u v} (X × Y)

/-- Subspace in CGTop: compact generation of the ordinary induced topology. -/
def KSubspace (X : Type u) (s : Set X) := s

/-- Compactly generated subspace topology, without a separation assumption. -/
instance (X : Type u) [TopologicalSpace X] (s : Set X) :
    TopologicalSpace (KSubspace X s) :=
  TopologicalSpace.compactlyGenerated.{u} s

/-- A right action; PDF p.12 explicitly uses right, rather than left, torsors. -/
structure RightAction (G : Type u) (E : Type v) [Group G] where
  act : E → G → E
  act_one : ∀ e, act e 1 = e
  act_mul : ∀ e g h, act (act e g) h = act e (g * h)

/-- A locally trivial right principal bundle over a CGTop base (PDF p.12).
Local charts are equivariant homeomorphisms over an open subset of the base;
no global section, nonempty base, connectedness, or Hausdorffness is required. -/
def IsRightPrincipal {G E B : Type u} [Group G] [TopologicalSpace G]
    [TopologicalSpace E] [TopologicalSpace B]
    (p : C(E, B)) (a : RightAction G E) : Prop :=
  Continuous (fun z : KProduct E G => a.act z.1 z.2) ∧
  (∀ e g, p (a.act e g) = p e) ∧
  ∀ b : B, ∃ U : Set B, IsOpen U ∧ b ∈ U ∧
    ∃ chart : KSubspace E (p ⁻¹' U) ≃ₜ KProduct (KSubspace B U) G,
      (∀ z, (chart z).1.1 = p z.1) ∧
      ∀ (z : KSubspace E (p ⁻¹' U)) (g : G),
        ∃ hz : a.act z.1 g ∈ KSubspace E (p ⁻¹' U),
          chart (⟨a.act z.1 g, hz⟩ : KSubspace E (p ⁻¹' U)) =
            ((chart z).1, (chart z).2 * g)

/-- The pullback of a bundle along [0,1] × T → T, with its CGTop topology
(PDF p.12, Lemma 7.1). The action is on the last coordinate. -/
abbrev CylinderPullback {Q T : Type u} [TopologicalSpace Q] [TopologicalSpace T]
    (q : C(Q, T)) :=
  KSubspace (KProduct ((Set.Icc (0 : ℝ) 1) × T) Q)
    {z | z.1.2 = q z.2}

/-- Sanity check: the singleton group acts on the singleton from the right. -/
def singletonRightAction : RightAction PUnit PUnit where
  act := fun _ _ => PUnit.unit
  act_one := fun _ => Subsingleton.elim _ _
  act_mul := fun _ _ _ => rfl

/-- Sanity check: the point over the point is a principal bundle, including
its local trivialization and equivariance. -/
example : IsRightPrincipal (ContinuousMap.const PUnit PUnit.unit)
    singletonRightAction := by
  refine ⟨?_, ?_, ?_⟩
  · exact continuous_const
  · intro e g
    rfl
  · intro b
    refine ⟨Set.univ, isOpen_univ, Set.mem_univ b, ?_⟩
    letI : Unique (KSubspace PUnit (Set.univ : Set PUnit)) :=
      { default := ⟨PUnit.unit, Set.mem_univ _⟩
        uniq := fun _ => Subtype.ext (Subsingleton.elim _ _) }
    letI : Unique (KProduct (KSubspace PUnit (Set.univ : Set PUnit)) PUnit) :=
      { default := (default, PUnit.unit)
        uniq := fun z => by
          apply Prod.ext
          · exact Subsingleton.elim _ _
          · exact Subsingleton.elim _ _ }
    let chart : KSubspace PUnit (Set.univ : Set PUnit) ≃ₜ
        KProduct (KSubspace PUnit (Set.univ : Set PUnit)) PUnit :=
      Homeomorph.homeomorphOfUnique _ _
    refine ⟨chart, ?_, ?_⟩
    · intro z
      exact Subsingleton.elim _ _
    · intro z g
      exact ⟨Set.mem_univ _, Subsingleton.elim _ _⟩

/-- Continuous twisted loops, using the conjugation direction printed on
PDF p.13. The domain is the whole real line, not merely [0,1]. -/
def twistedLoopSet {G : Type u} [Group G] [TopologicalSpace G] (alpha : G) :
    Set C(ℝ, G) :=
  {gamma | ∀ t : ℝ, gamma (t + 1) = alpha * gamma t * alpha⁻¹}

/-- Based twisted loops have value 1 at time zero (PDF p.14). -/
def basedTwistedLoopSet {G : Type u} [Group G] [TopologicalSpace G] (alpha : G) :
    Set C(ℝ, G) :=
  {gamma | gamma ∈ twistedLoopSet alpha ∧ gamma 0 = 1}

/-- Twisted loops into the identity path component, with the restriction of
Ad(alpha). Alpha itself need not lie in that component (PDF p.14).
Equality is checked in G, so no ill-typed alpha : G0 is introduced. -/
def identityBasedTwistedLoopSet {G : Type u} [Group G] [TopologicalSpace G]
    (alpha : G) : Set C(ℝ, pathComponent (1 : G)) :=
  {gamma | (∀ t : ℝ,
    (gamma (t + 1)).1 = alpha * (gamma t).1 * alpha⁻¹) ∧ (gamma 0).1 = 1}

/-- Inclusion of continuous loops in the identity path component into G.
Only the map of underlying continuous functions is needed for the equality. -/
def includeIdentityLoop {G : Type u} [Group G] [TopologicalSpace G]
    (gamma : C(ℝ, pathComponent (1 : G))) : C(ℝ, G) :=
  ⟨fun t => (gamma t).1, continuous_subtype_val.comp gamma.continuous⟩

/-- Sanity check: the constant identity is a based twisted loop for every twist. -/
example {G : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
    (alpha : G) : (1 : C(ℝ, G)) ∈ basedTwistedLoopSet alpha := by
  change (∀ t : ℝ, (1 : C(ℝ, G)) (t + 1) =
    alpha * (1 : C(ℝ, G)) t * alpha⁻¹) ∧ (1 : C(ℝ, G)) 0 = 1
  constructor
  · intro t
    simp
  · rfl

/-- Sanity check: the unique real-to-singleton function satisfies every twist. -/
example (alpha : PUnit) : basedTwistedLoopSet alpha = Set.univ := by
  ext gamma
  simp only [Set.mem_univ, iff_true]
  exact ⟨fun _ => Subsingleton.elim _ _, Subsingleton.elim _ _⟩

end QAlgorithms.Papers.Independent.Intakethird100.P59
Source
Mapping stacks of topological stacks, arXiv:0809.2373v2, https://arxiv.org/abs/0809.2373v2
Read-back

What the Lean code literally says, in plain math · gpt-6.1-sol

QAlgorithms.Papers.Independent.Intakethird100.P59.CylinderPullback

For topological spaces Q,TQ,TQ,T whose underlying types lie in a common universe and a continuous map q:Q→Tq:Q\to Tq:Q→T, let I=[0,1]⊆RI=[0,1]\subseteq\mathbb RI=[0,1]⊆R with its usual subspace topology. The space CylinderPullback(q)CylinderPullback(q)CylinderPullback(q) has underlying set

{((s,t),x)∈(I×T)×Q: t=q(x)}.\left\{((s,t),x)\in (I\times T)\times Q:\ t=q(x)\right\}.{((s,t),x)∈(I×T)×Q: t=q(x)}.

Its topology is formed by first giving I×TI\times TI×T the ordinary product topology, then giving (I×T)×Q(I\times T)\times Q(I×T)×Q the compactly generated modification of its product topology, and finally taking the compactly generated modification of the subspace topology on the displayed subset. Both endpoints s=0s=0s=0 and s=1s=1s=1 are included; QQQ and TTT may be empty.

QAlgorithms.Papers.Independent.Intakethird100.P59.IsRightPrincipal

Let GGG be a group, let G,E,BG,E,BG,E,B be topological spaces whose underlying types lie in a common universe, let p:E→Bp:E\to Bp:E→B be continuous, and let a:E×G→Ea:E\times G\to Ea:E×G→E satisfy a(e,1)=ea(e,1)=ea(e,1)=e and a(a(e,g),h)=a(e,gh)a(a(e,g),h)=a(e,gh)a(a(e,g),h)=a(e,gh). The property IsRightPrincipal(p,a)IsRightPrincipal(p,a)IsRightPrincipal(p,a) means that the action map is continuous when E×GE\times GE×G has the compactly generated modification of its product topology; that p(a(e,g))=p(e)p(a(e,g))=p(e)p(a(e,g))=p(e) for every e∈Ee\in Ee∈E and g∈Gg\in Gg∈G; and that every b∈Bb\in Bb∈B belongs to an open subset U⊆BU\subseteq BU⊆B for which there is a homeomorphism

ϕ:p−1(U)⟶U×G.\phi:p^{-1}(U)\longrightarrow U\times G.ϕ:p−1(U)⟶U×G.

Here p−1(U)p^{-1}(U)p−1(U) and UUU each carry the compactly generated modification of their respective subspace topologies, and U×GU\times GU×G carries the compactly generated modification of the product topology formed from those topologies. For every z∈p−1(U)z\in p^{-1}(U)z∈p−1(U), the underlying point of BBB in the first coordinate of ϕ(z)\phi(z)ϕ(z) must equal p(z)p(z)p(z). Moreover, for every such zzz and every g∈Gg\in Gg∈G, the point a(z,g)a(z,g)a(z,g) must belong to p−1(U)p^{-1}(U)p−1(U), and, regarded as a point of that subspace, must satisfy

ϕ(a(z,g))=(ϕ(z)1,ϕ(z)2g).\phi(a(z,g))=\bigl(\phi(z)_1,\phi(z)_2g\bigr).ϕ(a(z,g))=(ϕ(z)1​,ϕ(z)2​g).

The neighborhood requirement ranges over all points of BBB and is vacuous if BBB is empty.

QAlgorithms.Papers.Independent.Intakethird100.P59.KProduct

For arbitrary types XXX and YYY, possibly in different universes, KProduct(X,Y)KProduct(X,Y)KProduct(X,Y) is the Cartesian product X×YX\times YX×Y: its elements are ordered pairs (x,y)(x,y)(x,y) with x∈Xx\in Xx∈X and y∈Yy\in Yy∈Y. This definition specifies only the underlying type. Either type may be empty.

QAlgorithms.Papers.Independent.Intakethird100.P59.KSubspace

For any type XXX and subset s⊆Xs\subseteq Xs⊆X, KSubspace(X,s)KSubspace(X,s)KSubspace(X,s) is the subtype consisting of elements x∈Xx\in Xx∈X together with the condition x∈sx\in sx∈s. This definition specifies only the underlying type; in particular, it is empty when sss is empty.

QAlgorithms.Papers.Independent.Intakethird100.P59.RightAction

For a group GGG and an arbitrary type EEE, possibly in different universes, a right action consists of a function a:E×G→Ea:E\times G\to Ea:E×G→E satisfying

a(e,1)=e,a(a(e,g),h)=a(e,gh)a(e,1)=e,\qquad a(a(e,g),h)=a(e,gh)a(e,1)=e,a(a(e,g),h)=a(e,gh)

for every e∈Ee\in Ee∈E and every g,h∈Gg,h\in Gg,h∈G, where 111 is the identity of GGG. No topology or continuity is part of this structure, and EEE may be empty.

QAlgorithms.Papers.Independent.Intakethird100.P59.basedTwistedLoopSet

For any group GGG equipped with a topology and any α∈G\alpha\in Gα∈G, this defines the subset of continuous maps γ:R→G\gamma:\mathbb R\to Gγ:R→G satisfying both

γ(t+1)=α γ(t) α−1for every t∈R,andγ(0)=1,\gamma(t+1)=\alpha\,\gamma(t)\,\alpha^{-1} \qquad\text{for every }t\in\mathbb R, \qquad\text{and}\qquad \gamma(0)=1,γ(t+1)=αγ(t)α−1for every t∈R,andγ(0)=1,

where 111 is the identity of GGG. All real times are included, and continuity of the group operations is not assumed.

QAlgorithms.Papers.Independent.Intakethird100.P59.identityBasedTwistedLoopSet

For any group GGG equipped with a topology and any α∈G\alpha\in Gα∈G, let G1G_1G1​ be the path component of the identity 111: the subset of points joined to 111 by a continuous path, equipped with its ordinary subspace topology. This defines the subset of continuous maps γ:R→G1\gamma:\mathbb R\to G_1γ:R→G1​ whose underlying GGG-valued map γˉ\bar\gammaγˉ​ satisfies

γˉ(t+1)=α γˉ(t) α−1for every t∈R,andγˉ(0)=1.\bar\gamma(t+1)=\alpha\,\bar\gamma(t)\,\alpha^{-1} \qquad\text{for every }t\in\mathbb R, \qquad\text{and}\qquad \bar\gamma(0)=1.γˉ​(t+1)=αγˉ​(t)α−1for every t∈R,andγˉ​(0)=1.

Thus every value of γ\gammaγ is required to lie in the path component of 111, and the equations are equations in GGG. No assumption requires α\alphaα itself to lie in that component, and continuity of the group operations is not assumed.

QAlgorithms.Papers.Independent.Intakethird100.P59.includeIdentityLoop

For any group GGG equipped with a topology, and any continuous map γ:R→G1\gamma:\mathbb R\to G_1γ:R→G1​, where G1G_1G1​ is the path component of the identity 1∈G1\in G1∈G with its subspace topology, includeIdentityLoop⁡(γ)\operatorname{includeIdentityLoop}(\gamma)includeIdentityLoop(γ) is the continuous map R→G\mathbb R\to GR→G given by t↦γ(t)t\mapsto\gamma(t)t↦γ(t), viewed as a point of GGG. Thus this operation simply composes γ\gammaγ with the inclusion G1↪GG_1\hookrightarrow GG1​↪G. No condition that γ(0)=1\gamma(0)=1γ(0)=1, periodicity condition, or compatibility between the group operations and the topology is assumed.

QAlgorithms.Papers.Independent.Intakethird100.P59.instance_17

For arbitrary topological spaces XXX and YYY, this instance equips the underlying Cartesian product X×YX\times YX×Y with the compactly generated modification of its ordinary product topology. The compactly generated modification is taken in the larger of the universes containing XXX and YYY. No separation or nonemptiness assumptions are imposed on either space.

QAlgorithms.Papers.Independent.Intakethird100.P59.instance_25

For any topological space XXX and any subset s⊆Xs\subseteq Xs⊆X, this instance equips the type of points of sss with the compactly generated modification of the ordinary subspace topology inherited from XXX, with the modification taken in the universe containing XXX. The subset need not be open, closed, or nonempty.

QAlgorithms.Papers.Independent.Intakethird100.P59.singletonRightAction

On the one-element type PUnit={∗}PUnit=\{\ast\}PUnit={∗}, equipped with its one-element group structure, this defines a right action on PUnitPUnitPUnit by a(∗,∗)=∗a(\ast,\ast)=\asta(∗,∗)=∗. It satisfies a(e,1)=ea(e,1)=ea(e,1)=e and a(a(e,g),h)=a(e,gh)a(a(e,g),h)=a(e,gh)a(a(e,g),h)=a(e,gh) for all elements e,g,he,g,he,g,h of the singleton.

QAlgorithms.Papers.Independent.Intakethird100.P59.twistedLoopSet

For any group GGG equipped with a topology and any α∈G\alpha\in Gα∈G, this defines the subset of continuous maps γ:R→G\gamma:\mathbb R\to Gγ:R→G consisting exactly of those satisfying

γ(t+1)=α γ(t) α−1for every t∈R.\gamma(t+1)=\alpha\,\gamma(t)\,\alpha^{-1} \qquad\text{for every }t\in\mathbb R.γ(t+1)=αγ(t)α−1for every t∈R.

The condition ranges over all real times, including negative times; no value at 000 is prescribed, and continuity of the group operations is not assumed.

Human review
  • Endorsed by Shuze Chen · Nov 1, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Gohan · Nov 1, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me