PhysLean Documentation

PhysLean.Mathematics.Fin.Involutions

Fin involutions #

Some properties of involutions of Fin n.

These involutions are used in e.g. proving results about Wick contractions.

def PhysLean.Fin.involutionCons (n : ) :
{ f : Fin n.succFin n.succ // Function.Involutive f } (f : { f : Fin nFin n // Function.Involutive f }) × { i : Option (Fin n) // ∀ (h : i.isSome = true), f (i.get h) = i.get h }

There is an equivalence between involutions of Fin n.succ and involutions of Fin n and an optional valid choice of an element in Fin n (which is where 0 in Fin n.succ will be sent).

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem PhysLean.Fin.involutionCons_ext {n : } {f1 f2 : (f : { f : Fin nFin n // Function.Involutive f }) × { i : Option (Fin n) // ∀ (h : i.isSome = true), f (i.get h) = i.get h }} (h1 : f1.fst = f2.fst) (h2 : f1.snd = (Equiv.subtypeEquivRight ) f2.snd) :
    f1 = f2
    def PhysLean.Fin.involutionAddEquiv {n : } (f : { f : Fin nFin n // Function.Involutive f }) :
    { i : Option (Fin n) // ∀ (h : i.isSome = true), f (i.get h) = i.get h } Option (Fin (Finset.filter (fun (i : Fin n) => f i = i) Finset.univ).card)

    Given an involution of Fin n, the optional choice of an element in Fin n which maps to itself is equivalent to the optional choice of an element in Fin (Finset.univ.filter fun i => f.1 i = i).card.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem PhysLean.Fin.involutionAddEquiv_none_image_zero {n : } {f : { f : Fin n.succFin n.succ // Function.Involutive f }} :
      (involutionAddEquiv ((involutionCons n) f).fst) ((involutionCons n) f).snd = nonef 0, = 0,
      theorem PhysLean.Fin.involutionAddEquiv_cast' {m : } {f1 f2 : { f : Fin mFin m // Function.Involutive f }} {N : } (hf : f1 = f2) (n : Option (Fin N)) (hn1 : N = (Finset.filter (fun (i : Fin m) => f1 i = i) Finset.univ).card) (hn2 : N = (Finset.filter (fun (i : Fin m) => f2 i = i) Finset.univ).card) :

      Equivalences of involutions with no fixed points. #

      The main aim of these equivalences is to define involutionNoFixedZeroEquivProd.

      def PhysLean.Fin.involutionNoFixedEquivSum {n : } :
      { f : Fin n.succFin n.succ // Function.Involutive f ∀ (i : Fin n.succ), f i i } (k : Fin n) × { f : Fin n.succFin n.succ // Function.Involutive f (∀ (i : Fin n.succ), f i i) f 0 = k.succ }

      Fixed point free involutions of Fin n.succ can be separated based on where they sent 0.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def PhysLean.Fin.involutionNoFixedZeroSetEquivEquiv {n : } (k : Fin n) (e : Fin n.succ Fin n.succ) :
        { f : Fin n.succFin n.succ // Function.Involutive f (∀ (i : Fin n.succ), f i i) f 0 = k.succ } { f : Fin n.succFin n.succ // Function.Involutive (e.symm f e) (∀ (i : Fin n.succ), (e.symm f e) i i) (e.symm f e) 0 = k.succ }

        The condition on fixed point free involutions of Fin n.succ for a fixed value of f 0, can be modified by conjugation with an equivalence.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def PhysLean.Fin.involutionNoFixedZeroSetEquivSetEquiv {n : } (k : Fin n) (e : Fin n.succ Fin n.succ) :
          { f : Fin n.succFin n.succ // Function.Involutive (e.symm f e) (∀ (i : Fin n.succ), (e.symm f e) i i) (e.symm f e) 0 = k.succ } { f : Fin n.succFin n.succ // Function.Involutive f (∀ (i : Fin n.succ), f i i) (e.symm f e) 0 = k.succ }

          The condition on fixed point free involutions of Fin n.succ for a fixed value of f 0 given an equivalence e, can be modified so that only the condition on f 0 is up-to the equivalence e.

          Equations
          Instances For
            def PhysLean.Fin.involutionNoFixedZeroSetEquivEquiv' {n : } (k : Fin n) (e : Fin n.succ Fin n.succ) :
            { f : Fin n.succFin n.succ // Function.Involutive f (∀ (i : Fin n.succ), f i i) (e.symm f e) 0 = k.succ } { f : Fin n.succFin n.succ // Function.Involutive f (∀ (i : Fin n.succ), f i i) f (e 0) = e k.succ }

            Fixed point free involutions of Fin n.succ fixing (e.symm ∘ f ∘ e) = k.succ for a given e are equivalent to fixing f (e 0) = e k.succ.

            Equations
            Instances For
              def PhysLean.Fin.involutionNoFixedZeroSetEquivSetOne {n : } (k : Fin n.succ) :
              { f : Fin n.succ.succFin n.succ.succ // Function.Involutive f (∀ (i : Fin n.succ.succ), f i i) f 0 = k.succ } { f : Fin n.succ.succFin n.succ.succ // Function.Involutive f (∀ (i : Fin n.succ.succ), f i i) f 0 = 1 }

              Fixed point involutions of Fin n.succ.succ with f 0 = k.succ are equivalent to fixed point involutions with f 0 = 1.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def PhysLean.Fin.involutionNoFixedSetOne {n : } :
                { f : Fin n.succ.succFin n.succ.succ // Function.Involutive f (∀ (i : Fin n.succ.succ), f i i) f 0 = 1 } { f : Fin nFin n // Function.Involutive f ∀ (i : Fin n), f i i }

                Fixed point involutions of Fin n.succ.succ fixing f 0 = 1 are equivalent to fixed point involutions of Fin n.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def PhysLean.Fin.involutionNoFixedZeroSetEquiv {n : } (k : Fin n.succ) :
                  { f : Fin n.succ.succFin n.succ.succ // Function.Involutive f (∀ (i : Fin n.succ.succ), f i i) f 0 = k.succ } { f : Fin nFin n // Function.Involutive f ∀ (i : Fin n), f i i }

                  Fixed point involutions of Fin n.succ.succ for fixed f 0 = k.succ are equivalent to fixed point involutions of Fin n.

                  Equations
                  Instances For
                    def PhysLean.Fin.involutionNoFixedEquivSumSame {n : } :
                    { f : Fin n.succ.succFin n.succ.succ // Function.Involutive f ∀ (i : Fin n.succ.succ), f i i } (_ : Fin n.succ) × { f : Fin nFin n // Function.Involutive f ∀ (i : Fin n), f i i }

                    The type of fixed point free involutions of Fin n.succ.succ is equivalent to the sum of Fin n.succ copies of fixed point involutions of Fin n.

                    Equations
                    Instances For

                      Ever fixed-point free involutions of Fin n.succ.succ can be decomposed into a element of Fin n.succ (where 0 is sent) and a fixed-point free involution of Fin n.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Cardinality #

                        The type of fixed-point free involutions of Fin n is finite.

                        Equations
                        theorem PhysLean.Fin.involutionNoFixed_card_mul_two (n : ) :
                        Fintype.card { f : Fin (2 * n)Fin (2 * n) // Function.Involutive f ∀ (i : Fin (2 * n)), f i i } = (2 * n - 1).doubleFactorial
                        theorem PhysLean.Fin.involutionNoFixed_card_mul_two_plus_one (n : ) :
                        Fintype.card { f : Fin (2 * n + 1)Fin (2 * n + 1) // Function.Involutive f ∀ (i : Fin (2 * n + 1)), f i i } = 0
                        theorem PhysLean.Fin.involutionNoFixed_card_odd (n : ) (ho : Odd n) :
                        Fintype.card { f : Fin nFin n // Function.Involutive f ∀ (i : Fin n), f i i } = 0