Documentation

TauCeti.AlgebraicGeometry.Curves.NodalGluing.Iso

Isomorphisms of nodal curves presented by flag-pair data #

A nodal curve presented by flag-pair data d : FlagPairData ฮน Flag X is the quotient of the disjoint union ฮฃ i, X i of its normalization components by the flag pairs. An isomorphism of two such curves is given on the normalizations: it is a diffeomorphism of the disjoint unions of the components which carries the two points of a flag pair exactly to the two points of a flag pair. For complex curves (๐•œ = โ„‚ and n = โˆž) the diffeomorphism is a biholomorphism, so an isomorphism consists of component biholomorphisms together with the compatible maps of the dual graph.

This file defines these isomorphisms, extracts the combinatorial maps they induce, descends them to the glued curves and assembles the automorphism group.

Main definitions #

Main results #

References #

structure TauCeti.NodalGluing.Iso {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] (I : ModelWithCorners ๐•œ E H) (n : WithTop โ„•โˆž) {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] (d : FlagPairData ฮน Flag X) (d' : FlagPairData ฮน' Flag' X') :
Type (max (max (max u_4 u_6) u_7) u_9)

An isomorphism of nodal curves presented by flag-pair data. A C^n diffeomorphism of the disjoint unions of the normalization components which carries the two points of a flag pair of d exactly to the two points of a flag pair of d'. Over โ„‚ with n = โˆž this is a biholomorphism of the normalizations matching the nodes.

  • toDiffeomorph : Diffeomorph I I ((i : ฮน) ร— X i) ((i : ฮน') ร— X' i) n

    The diffeomorphism of the normalizations.

  • flagRel_apply_iff' (x y : (i : ฮน) ร— X i) : flagRel d' (self.toDiffeomorph x) (self.toDiffeomorph y) โ†” flagRel d x y

    Two points are the two points of a flag pair of d exactly when their images are the two points of a flag pair of d'.

Instances For
    @[instance_reducible]
    noncomputable instance TauCeti.NodalGluing.Iso.instEquivLikeSigma {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} :
    EquivLike (Iso I n d d') ((i : ฮน) ร— X i) ((i : ฮน') ร— X' i)
    @[simp]
    theorem TauCeti.NodalGluing.Iso.coe_toDiffeomorph {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :
    โ‡‘e.toDiffeomorph = โ‡‘e

    The underlying diffeomorphism of an isomorphism acts as the isomorphism.

    @[simp]
    theorem TauCeti.NodalGluing.Iso.coe_mk {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (f : Diffeomorph I I ((i : ฮน) ร— X i) ((i : ฮน') ร— X' i) n) (hf : โˆ€ (x y : (i : ฮน) ร— X i), flagRel d' (f x) (f y) โ†” flagRel d x y) :
    โ‡‘{ toDiffeomorph := f, flagRel_apply_iff' := hf } = โ‡‘f

    An isomorphism built from a diffeomorphism acts as that diffeomorphism.

    theorem TauCeti.NodalGluing.Iso.ext {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {e e' : Iso I n d d'} (h : โˆ€ (x : (i : ฮน) ร— X i), e x = e' x) :
    e = e'

    Two isomorphisms agreeing at every point of the normalization are equal.

    theorem TauCeti.NodalGluing.Iso.ext_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {e e' : Iso I n d d'} :
    e = e' โ†” โˆ€ (x : (i : ฮน) ร— X i), e x = e' x
    @[simp]
    theorem TauCeti.NodalGluing.Iso.flagRel_apply_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (x y : (i : ฮน) ร— X i) :
    flagRel d' (e x) (e y) โ†” flagRel d x y

    An isomorphism carries the two points of a flag pair exactly to the two points of a flag pair.

    theorem TauCeti.NodalGluing.Iso.continuous {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :
    Continuous โ‡‘e

    An isomorphism is continuous on the normalizations.

    noncomputable def TauCeti.NodalGluing.Iso.refl {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] (I : ModelWithCorners ๐•œ E H) (n : WithTop โ„•โˆž) {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] (d : FlagPairData ฮน Flag X) :
    Iso I n d d

    The identity isomorphism.

    Instances For
      @[simp]
      theorem TauCeti.NodalGluing.Iso.refl_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} (x : (i : ฮน) ร— X i) :
      (Iso.refl I n d) x = x

      The identity isomorphism fixes every point.

      @[simp]
      theorem TauCeti.NodalGluing.Iso.refl_toDiffeomorph {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :
      (Iso.refl I n d).toDiffeomorph = Diffeomorph.refl I ((i : ฮน) ร— X i) n

      The underlying diffeomorphism of the identity isomorphism is the identity.

      noncomputable def TauCeti.NodalGluing.Iso.symm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :
      Iso I n d' d

      The inverse isomorphism.

      Instances For
        @[simp]
        theorem TauCeti.NodalGluing.Iso.symm_apply_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (x : (i : ฮน) ร— X i) :
        e.symm (e x) = x

        The inverse isomorphism undoes the isomorphism.

        @[simp]
        theorem TauCeti.NodalGluing.Iso.apply_symm_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (y : (i : ฮน') ร— X' i) :
        e (e.symm y) = y

        The isomorphism undoes its inverse.

        @[simp]
        theorem TauCeti.NodalGluing.Iso.symm_symm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :
        e.symm.symm = e

        The inverse of the inverse is the original isomorphism.

        @[simp]
        theorem TauCeti.NodalGluing.Iso.symm_toDiffeomorph {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :

        The underlying diffeomorphism of the inverse is the inverse diffeomorphism.

        @[simp]
        theorem TauCeti.NodalGluing.Iso.symm_refl {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :
        (Iso.refl I n d).symm = Iso.refl I n d

        The inverse of the identity isomorphism is the identity.

        theorem TauCeti.NodalGluing.Iso.symm_apply_eq {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') {x : (i : ฮน) ร— X i} {y : (i : ฮน') ร— X' i} :
        e.symm y = x โ†” y = e x

        The inverse isomorphism sends y to x exactly when the isomorphism sends x to y.

        theorem TauCeti.NodalGluing.Iso.eq_symm_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') {x : (i : ฮน) ร— X i} {y : (i : ฮน') ร— X' i} :
        x = e.symm y โ†” e x = y

        The isomorphism sends x to y exactly when the inverse sends y to x.

        noncomputable def TauCeti.NodalGluing.Iso.trans {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {ฮน'' : Type u_10} {Flag'' : Type u_11} {X'' : ฮน'' โ†’ Type u_12} [(i : ฮน'') โ†’ TopologicalSpace (X'' i)] [(i : ฮน'') โ†’ ChartedSpace H (X'' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {d'' : FlagPairData ฮน'' Flag'' X''} (e : Iso I n d d') (e' : Iso I n d' d'') :
        Iso I n d d''

        The composite of two isomorphisms.

        Instances For
          @[simp]
          theorem TauCeti.NodalGluing.Iso.trans_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {ฮน'' : Type u_10} {Flag'' : Type u_11} {X'' : ฮน'' โ†’ Type u_12} [(i : ฮน'') โ†’ TopologicalSpace (X'' i)] [(i : ฮน'') โ†’ ChartedSpace H (X'' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {d'' : FlagPairData ฮน'' Flag'' X''} (e : Iso I n d d') (e' : Iso I n d' d'') (x : (i : ฮน) ร— X i) :
          (e.trans e') x = e' (e x)

          The composite acts by applying the first isomorphism, then the second.

          @[simp]
          theorem TauCeti.NodalGluing.Iso.trans_toDiffeomorph {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {ฮน'' : Type u_10} {Flag'' : Type u_11} {X'' : ฮน'' โ†’ Type u_12} [(i : ฮน'') โ†’ TopologicalSpace (X'' i)] [(i : ฮน'') โ†’ ChartedSpace H (X'' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {d'' : FlagPairData ฮน'' Flag'' X''} (e : Iso I n d d') (e' : Iso I n d' d'') :

          The underlying diffeomorphism of a composite is the composite of the diffeomorphisms.

          @[simp]
          theorem TauCeti.NodalGluing.Iso.symm_trans {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {ฮน'' : Type u_10} {Flag'' : Type u_11} {X'' : ฮน'' โ†’ Type u_12} [(i : ฮน'') โ†’ TopologicalSpace (X'' i)] [(i : ฮน'') โ†’ ChartedSpace H (X'' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {d'' : FlagPairData ฮน'' Flag'' X''} (e : Iso I n d d') (e' : Iso I n d' d'') :
          (e.trans e').symm = e'.symm.trans e.symm

          The inverse of a composite is the composite of the inverses in the opposite order.

          @[simp]
          theorem TauCeti.NodalGluing.Iso.self_trans_symm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :
          e.trans e.symm = Iso.refl I n d

          An isomorphism followed by its inverse is the identity.

          @[simp]
          theorem TauCeti.NodalGluing.Iso.symm_trans_self {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :
          e.symm.trans e = Iso.refl I n d'

          The inverse of an isomorphism followed by it is the identity.

          @[simp]
          theorem TauCeti.NodalGluing.Iso.trans_refl {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :
          e.trans (Iso.refl I n d') = e

          Composing with the identity on the right does nothing.

          @[simp]
          theorem TauCeti.NodalGluing.Iso.refl_trans {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :
          (Iso.refl I n d).trans e = e

          Composing with the identity on the left does nothing.

          theorem TauCeti.NodalGluing.Iso.trans_assoc {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {ฮน'' : Type u_10} {Flag'' : Type u_11} {X'' : ฮน'' โ†’ Type u_12} [(i : ฮน'') โ†’ TopologicalSpace (X'' i)] [(i : ฮน'') โ†’ ChartedSpace H (X'' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {d'' : FlagPairData ฮน'' Flag'' X''} {ฮนโ‚ƒ : Type u_13} {Flagโ‚ƒ : Type u_14} {Xโ‚ƒ : ฮนโ‚ƒ โ†’ Type u_15} [(i : ฮนโ‚ƒ) โ†’ TopologicalSpace (Xโ‚ƒ i)] [(i : ฮนโ‚ƒ) โ†’ ChartedSpace H (Xโ‚ƒ i)] {dโ‚ƒ : FlagPairData ฮนโ‚ƒ Flagโ‚ƒ Xโ‚ƒ} (e : Iso I n d d') (e' : Iso I n d' d'') (e'' : Iso I n d'' dโ‚ƒ) :
          (e.trans e').trans e'' = e.trans (e'.trans e'')

          Composition of isomorphisms is associative.

          @[simp]
          theorem TauCeti.NodalGluing.Iso.apply_mem_flagPointSet_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (x : (i : ฮน) ร— X i) :

          An isomorphism maps flag points exactly to flag points.

          @[simp]
          theorem TauCeti.NodalGluing.Iso.gluedRel_apply_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (x y : (i : ฮน) ร— X i) :
          gluedRel d' (e x) (e y) โ†” gluedRel d x y

          An isomorphism respects the equivalence relation generated by the flag pairs.

          Branches, nodes and components #

          noncomputable def TauCeti.NodalGluing.Iso.branchEquiv {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :

          The branch map. The bijection of branches induced by an isomorphism: the flag point selected by p is carried to the flag point selected by e.branchEquiv p.

          Instances For
            @[simp]
            theorem TauCeti.NodalGluing.Iso.flagPoint_branchEquiv {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (p : Flag ร— Bool) :
            flagPoint d' (e.branchEquiv p) = e (flagPoint d p)

            The characteristic property of the branch map.

            theorem TauCeti.NodalGluing.Iso.branchEquiv_apply_eq_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (p : Flag ร— Bool) (q : Flag' ร— Bool) :

            The branch map sends p to q exactly when the isomorphism sends the flag point of p to the flag point of q.

            @[simp]
            theorem TauCeti.NodalGluing.Iso.branchEquiv_refl {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :

            The identity isomorphism fixes every branch.

            @[simp]
            theorem TauCeti.NodalGluing.Iso.branchEquiv_symm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :

            The branch map of the inverse is the inverse of the branch map.

            @[simp]
            theorem TauCeti.NodalGluing.Iso.branchEquiv_trans {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {ฮน'' : Type u_10} {Flag'' : Type u_11} {X'' : ฮน'' โ†’ Type u_12} [(i : ฮน'') โ†’ TopologicalSpace (X'' i)] [(i : ฮน'') โ†’ ChartedSpace H (X'' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {d'' : FlagPairData ฮน'' Flag'' X''} (e : Iso I n d d') (e' : Iso I n d' d'') :

            The branch map of a composite is the composite of the branch maps.

            theorem TauCeti.NodalGluing.Iso.branchEquiv_swap {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (p : Flag ร— Bool) :
            e.branchEquiv (p.1, !p.2) = ((e.branchEquiv p).1, !(e.branchEquiv p).2)

            The branch map respects the nodes. The two branches of a node are carried to the two branches of a node: exchanging the branches commutes with the branch map.

            noncomputable def TauCeti.NodalGluing.Iso.edgeEquiv {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :
            Flag โ‰ƒ Flag'

            The node map. The bijection of nodes (flag pairs) induced by an isomorphism.

            Instances For
              @[simp]
              theorem TauCeti.NodalGluing.Iso.fst_branchEquiv {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (p : Flag ร— Bool) :
              (e.branchEquiv p).1 = e.edgeEquiv p.1

              The branch map lies over the node map.

              theorem TauCeti.NodalGluing.Iso.edgeEquiv_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (f : Flag) (b : Bool) :
              e.edgeEquiv f = (e.branchEquiv (f, b)).1

              The node map sends a node to the node of the image of either of its branches.

              @[simp]
              theorem TauCeti.NodalGluing.Iso.edgeEquiv_refl {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :

              The identity isomorphism fixes every node.

              @[simp]
              theorem TauCeti.NodalGluing.Iso.edgeEquiv_trans {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {ฮน'' : Type u_10} {Flag'' : Type u_11} {X'' : ฮน'' โ†’ Type u_12} [(i : ฮน'') โ†’ TopologicalSpace (X'' i)] [(i : ฮน'') โ†’ ChartedSpace H (X'' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {d'' : FlagPairData ฮน'' Flag'' X''} (e : Iso I n d d') (e' : Iso I n d' d'') :

              The node map of a composite is the composite of the node maps.

              @[simp]
              theorem TauCeti.NodalGluing.Iso.edgeEquiv_symm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :

              The node map of the inverse is the inverse of the node map.

              theorem TauCeti.NodalGluing.Iso.fst_apply_eq_fst_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} [โˆ€ (i : ฮน), PreconnectedSpace (X i)] (e : Iso I n d d') {x y : (i : ฮน) ร— X i} (h : x.fst = y.fst) :
              (e x).fst = (e y).fst

              An isomorphism maps each connected component of the normalization into a single component.

              noncomputable def TauCeti.NodalGluing.Iso.vertexEquiv {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} [โˆ€ (i : ฮน), ConnectedSpace (X i)] [โˆ€ (i : ฮน'), ConnectedSpace (X' i)] (e : Iso I n d d') :
              ฮน โ‰ƒ ฮน'

              The component map. For connected components, the bijection of components induced by an isomorphism: the component i is carried onto the component e.vertexEquiv i.

              Instances For
                @[simp]
                theorem TauCeti.NodalGluing.Iso.fst_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} [โˆ€ (i : ฮน), ConnectedSpace (X i)] [โˆ€ (i : ฮน'), ConnectedSpace (X' i)] (e : Iso I n d d') (x : (i : ฮน) ร— X i) :
                (e x).fst = e.vertexEquiv x.fst

                The characteristic property of the component map.

                theorem TauCeti.NodalGluing.Iso.fst_flagPoint_branchEquiv {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} [โˆ€ (i : ฮน), ConnectedSpace (X i)] [โˆ€ (i : ฮน'), ConnectedSpace (X' i)] (e : Iso I n d d') (p : Flag ร— Bool) :

                The graph maps are compatible. The component carrying the image of a branch is the image of the component carrying that branch.

                theorem TauCeti.NodalGluing.Iso.vertexEquiv_apply_eq_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} [โˆ€ (i : ฮน), ConnectedSpace (X i)] [โˆ€ (i : ฮน'), ConnectedSpace (X' i)] (e : Iso I n d d') (i : ฮน) (j : ฮน') :
                e.vertexEquiv i = j โ†” โˆƒ (x : X i), (e โŸจi, xโŸฉ).fst = j

                The component map sends i to j exactly when some point of the component i is sent into the component j.

                @[simp]
                theorem TauCeti.NodalGluing.Iso.vertexEquiv_refl {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} [โˆ€ (i : ฮน), ConnectedSpace (X i)] :

                The identity isomorphism fixes every component.

                @[simp]
                theorem TauCeti.NodalGluing.Iso.vertexEquiv_trans {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {ฮน'' : Type u_10} {Flag'' : Type u_11} {X'' : ฮน'' โ†’ Type u_12} [(i : ฮน'') โ†’ TopologicalSpace (X'' i)] [(i : ฮน'') โ†’ ChartedSpace H (X'' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {d'' : FlagPairData ฮน'' Flag'' X''} [โˆ€ (i : ฮน), ConnectedSpace (X i)] [โˆ€ (i : ฮน'), ConnectedSpace (X' i)] [โˆ€ (i : ฮน''), ConnectedSpace (X'' i)] (e : Iso I n d d') (e' : Iso I n d' d'') :

                The component map of a composite is the composite of the component maps.

                @[simp]
                theorem TauCeti.NodalGluing.Iso.vertexEquiv_symm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} [โˆ€ (i : ฮน), ConnectedSpace (X i)] [โˆ€ (i : ฮน'), ConnectedSpace (X' i)] (e : Iso I n d d') :

                The component map of the inverse is the inverse of the component map.

                Descent to the glued curves #

                noncomputable def TauCeti.NodalGluing.Iso.gluedCurveHomeomorph {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :

                Descent. The homeomorphism of glued curves induced by an isomorphism of nodal curves.

                Instances For
                  @[simp]
                  theorem TauCeti.NodalGluing.Iso.gluedCurveHomeomorph_mk {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (x : (i : ฮน) ร— X i) :

                  The descended homeomorphism commutes with the quotient maps.

                  @[simp]
                  theorem TauCeti.NodalGluing.Iso.gluedCurveHomeomorph_nodeOfFlag {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (f : Flag) :

                  The descended homeomorphism sends the node of f to the node of e.edgeEquiv f.

                  @[simp]
                  theorem TauCeti.NodalGluing.Iso.gluedCurveHomeomorph_mem_nodeSet_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') (q : GluedCurve d) :

                  The descended homeomorphism maps nodes exactly to nodes.

                  theorem TauCeti.NodalGluing.Iso.image_gluedCurveHomeomorph_nodeSet {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :

                  The descended homeomorphism maps the node set onto the node set.

                  @[simp]
                  theorem TauCeti.NodalGluing.Iso.gluedCurveHomeomorph_refl {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :

                  Descent sends the identity to the identity.

                  @[simp]
                  theorem TauCeti.NodalGluing.Iso.gluedCurveHomeomorph_trans {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {ฮน'' : Type u_10} {Flag'' : Type u_11} {X'' : ฮน'' โ†’ Type u_12} [(i : ฮน'') โ†’ TopologicalSpace (X'' i)] [(i : ฮน'') โ†’ ChartedSpace H (X'' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} {d'' : FlagPairData ฮน'' Flag'' X''} (e : Iso I n d d') (e' : Iso I n d' d'') :

                  Descent sends a composite to the composite of the descended homeomorphisms.

                  @[simp]
                  theorem TauCeti.NodalGluing.Iso.gluedCurveHomeomorph_symm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} (e : Iso I n d d') :

                  Descent sends the inverse to the inverse homeomorphism.

                  theorem TauCeti.NodalGluing.Iso.gluedCurveHomeomorph_injective {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {ฮน' : Type u_7} {Flag' : Type u_8} {X' : ฮน' โ†’ Type u_9} [(i : ฮน') โ†’ TopologicalSpace (X' i)] [(i : ฮน') โ†’ ChartedSpace H (X' i)] {d : FlagPairData ฮน Flag X} {d' : FlagPairData ฮน' Flag' X'} [โˆ€ (i : ฮน'), T2Space (X' i)] (hd : Dense (flagPointSet d)แถœ) :

                  Descent is faithful. If the points of the normalization which are not flag points are dense, then an isomorphism of nodal curves is determined by the homeomorphism of glued curves it induces. The density hypothesis holds for curves, whose components have no isolated points, by Dense.sdiff_finite.

                  @[reducible, inline]
                  abbrev TauCeti.NodalGluing.Aut {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] (I : ModelWithCorners ๐•œ E H) (n : WithTop โ„•โˆž) {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] (d : FlagPairData ฮน Flag X) :
                  Type (max u_6 u_4)

                  The automorphism group of a nodal curve presented by flag-pair data: its isomorphisms with itself, with composition as multiplication.

                  Instances For
                    @[instance_reducible]
                    noncomputable instance TauCeti.NodalGluing.Aut.instOne {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :
                    One (Aut I n d)
                    @[instance_reducible]
                    noncomputable instance TauCeti.NodalGluing.Aut.instMul {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :
                    Mul (Aut I n d)
                    @[instance_reducible]
                    noncomputable instance TauCeti.NodalGluing.Aut.instInv {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :
                    Inv (Aut I n d)
                    @[instance_reducible]
                    noncomputable instance TauCeti.NodalGluing.Aut.instGroup {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :
                    Group (Aut I n d)
                    theorem TauCeti.NodalGluing.Aut.mul_def {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} (e e' : Aut I n d) :
                    e * e' = Iso.trans e' e

                    Multiplication of automorphisms is composition, the right factor acting first.

                    theorem TauCeti.NodalGluing.Aut.one_def {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :
                    1 = Iso.refl I n d

                    The unit automorphism is the identity.

                    theorem TauCeti.NodalGluing.Aut.inv_def {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} (e : Aut I n d) :

                    The inverse automorphism is the inverse isomorphism.

                    @[simp]
                    theorem TauCeti.NodalGluing.Aut.mul_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} (e e' : Aut I n d) (x : (i : ฮน) ร— X i) :
                    (e * e') x = e (e' x)

                    A product of automorphisms acts by composition.

                    @[simp]
                    theorem TauCeti.NodalGluing.Aut.one_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} (x : (i : ฮน) ร— X i) :
                    1 x = x

                    The unit automorphism fixes every point.

                    @[simp]
                    theorem TauCeti.NodalGluing.Aut.inv_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} (e : Aut I n d) (x : (i : ฮน) ร— X i) :

                    The inverse automorphism acts as the inverse isomorphism.

                    noncomputable def TauCeti.NodalGluing.Aut.branchPerm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :

                    The branch action of the automorphism group: its action on the branches at the nodes.

                    Instances For
                      @[simp]
                      theorem TauCeti.NodalGluing.Aut.branchPerm_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} (e : Aut I n d) :

                      The branch action of an automorphism is its branch map.

                      noncomputable def TauCeti.NodalGluing.Aut.edgePerm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :

                      The action of the automorphism group on the nodes.

                      Instances For
                        @[simp]
                        theorem TauCeti.NodalGluing.Aut.edgePerm_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} (e : Aut I n d) :

                        The node action of an automorphism is its node map.

                        noncomputable def TauCeti.NodalGluing.Aut.vertexPerm {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} [โˆ€ (i : ฮน), ConnectedSpace (X i)] :
                        Aut I n d โ†’* Equiv.Perm ฮน

                        The action of the automorphism group on the components, when they are connected.

                        Instances For
                          @[simp]
                          theorem TauCeti.NodalGluing.Aut.vertexPerm_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} [โˆ€ (i : ฮน), ConnectedSpace (X i)] (e : Aut I n d) :

                          The component action of an automorphism is its component map.

                          noncomputable def TauCeti.NodalGluing.Aut.toGluedCurveHomeomorph {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} :

                          The action of the automorphism group on the glued curve, by descent.

                          Instances For
                            @[simp]
                            theorem TauCeti.NodalGluing.Aut.toGluedCurveHomeomorph_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} (e : Aut I n d) :

                            An automorphism acts on the glued curve by its descended homeomorphism.

                            theorem TauCeti.NodalGluing.Aut.toGluedCurveHomeomorph_injective {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} {n : WithTop โ„•โˆž} {ฮน : Type u_4} {Flag : Type u_5} {X : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ ChartedSpace H (X i)] {d : FlagPairData ฮน Flag X} [โˆ€ (i : ฮน), T2Space (X i)] (hd : Dense (flagPointSet d)แถœ) :

                            The automorphism group acts faithfully on the glued curve when the points which are not flag points are dense in the normalization.