Documentation

LinearLogic.MLL.GoI

A Simplified Geometry of Interaction #

References #

Project #

  • wager :

    Wager, a remnant of self-closed cycles.

  • plot : Equiv.Perm Carrier

    A main gadget expresses permutation of loci.

Instances For
    theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.ext {Carrier : Type u_1} {x y : Project Carrier} (wager : x.wager = y.wager) (plot : x.plot = y.plot) :
    x = y
    def LO.Propositional.LinearLogic.Multiplicative.GoI.Project.add {α : Type u_1} {β : Type u_2} (𝔞 : Project α) (𝔟 : Project β) :
    Project (α β)
    Equations
    Instances For
      @[simp]
      theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.add_wager {α : Type u_1} {β : Type u_2} (𝔞 : Project α) (𝔟 : Project β) :
      (𝔞 + 𝔟).wager = 𝔞.wager + 𝔟.wager
      theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.add_plot {α : Type u_1} {β : Type u_2} (𝔞 : Project α) (𝔟 : Project β) :
      (𝔞 + 𝔟).plot = 𝔞.plot.sumCongr 𝔟.plot
      Equations
      Instances For
        @[simp]
        theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.mul_wager {α : Type u_1} (𝔞 𝔟 : Project α) :
        (𝔞 * 𝔟).wager = 𝔞.wager + 𝔟.wager
        theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.mul_plot {α : Type u_1} (𝔞 𝔟 : Project α) :
        (𝔞 * 𝔟).plot = 𝔞.plot * 𝔟.plot
        @[simp]
        @[simp]
        @[simp]
        theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.mul_assoc {α : Type u_1} (𝔞 𝔟 𝔠 : Project α) :
        𝔞 * 𝔟 * 𝔠 = 𝔞 * (𝔟 * 𝔠)
        theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.add_mul_add {α : Type u_1} {β : Type u_2} (𝔞₁ 𝔞₂ : Project α) (𝔟₁ 𝔟₂ : Project β) :
        (𝔞₁ + 𝔟₁) * (𝔞₂ + 𝔟₂) = 𝔞₁ * 𝔞₂ + 𝔟₁ * 𝔟₂
        def LO.Propositional.LinearLogic.Multiplicative.GoI.Project.delocate {α : Type u_1} {β : Type u_2} (𝔞 : Project α) (φ : α β) :
        Equations
        Instances For
          @[simp]
          theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.delocate_wager {α : Type u_1} {β : Type u_2} (𝔞 : Project α) (φ : α β) :
          (𝔞.delocate φ).wager = 𝔞.wager
          theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.delocate_plot {α : Type u_1} {β : Type u_2} (𝔞 : Project α) (φ : α β) :
          (𝔞.delocate φ).plot = (φ.symm.trans 𝔞.plot).trans φ
          @[simp]
          theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.delocate_mul {α : Type u_1} {β : Type u_2} (𝔞 𝔟 : Project α) (φ : α β) :
          (𝔞 * 𝔟).delocate φ = 𝔞.delocate φ * 𝔟.delocate φ
          @[simp]
          theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.delocate_sumComm_add {α : Type u_1} {β : Type u_2} {𝔠 : Project (α β)} (𝔞 : Project α) (𝔟 : Project β) :
          𝔠.delocate (Equiv.sumComm α β) * (𝔟 + 𝔞) = (𝔠 * (𝔞 + 𝔟)).delocate (Equiv.sumComm α β)
          theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.delocate_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} (𝔞 : Project α) (φ : α β) (ψ : β γ) :
          𝔞.delocate (φ.trans ψ) = (𝔞.delocate φ).delocate ψ

          Measurement and Polarity #

          Equations
          Instances For
            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Equations
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.tr_add {α : Type u_1} [Fintype α] [DecidableEq α] (𝔞 𝔟 : Project α) :
                    (𝔞 + 𝔟).tr = 𝔞.tr + 𝔟.tr
                    @[simp]
                    theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.tr_delocate {α : Type u_1} {β : Type u_2} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (𝔞 : Project α) (φ : α β) :
                    (𝔞.delocate φ).tr = 𝔞.tr
                    Equations
                    Instances For
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Execution and Adjoint #

                          Equations
                          Instances For
                            @[simp]
                            theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.trace_tr {γ : Type u_3} [Fintype γ] [DecidableEq γ] {P : γProp} [DecidablePred P] (𝔣 : Project γ) :
                            (𝔣.trace P).tr = 𝔣.wager + 𝔣.plot.closedCycles P + (𝔣.trace P).plot.tr
                            def LO.Propositional.LinearLogic.Multiplicative.GoI.Project.execution {γ : Type u_3} [Fintype γ] [DecidableEq γ] {P : γProp} [DecidablePred P] (𝔣 : Project γ) (𝔞 : Project { x : γ // P x }) :
                            Project { x : γ // ¬P x }
                            Equations
                            Instances For
                              @[simp]
                              theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.execution_wager {γ : Type u_3} [Fintype γ] [DecidableEq γ] {P : γProp} [DecidablePred P] (𝔣 : Project γ) (𝔞 : Project { x : γ // P x }) :
                              (𝔣.execution 𝔞).wager = 𝔣.wager + 𝔞.wager + (𝔣 * 𝔞.subtypeExtend).plot.closedCycles P
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[simp]
                                  theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.executionSum_wager {α : Type u_1} {β : Type u_2} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (𝔣 : Project (α β)) (𝔞 : Project α) :
                                  (𝔣.executionSum 𝔞).wager = 𝔣.wager + 𝔞.wager + (𝔣 * (𝔞 + 1)).plot.closedCycles fun (x : α β) => x.isLeft = true
                                  @[simp]
                                  theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.executionSum_tr {α : Type u_1} {β : Type u_2} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (𝔣 : Project (α β)) (𝔞 : Project α) :
                                  (𝔣.executionSum 𝔞).tr = (𝔣.wager + 𝔞.wager + (𝔣 * (𝔞 + 1)).plot.closedCycles fun (x : α β) => x.isLeft = true) + ((𝔣 * (𝔞 + 1)).trace fun (x : α β) => x.isLeft = true).plot.tr
                                  theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.execution_mul {γ : Type u_3} [Fintype γ] [DecidableEq γ] {P : γProp} [DecidablePred P] (𝔣 : Project γ) (𝔞 : Project { x : γ // P x }) (𝔟 : Project { x : γ // ¬P x }) :
                                  𝔣.execution 𝔞 * 𝔟 = (𝔣 * 𝔟.subtypeExtend).execution 𝔞
                                  theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.executionSum_mul {α : Type u_1} {β : Type u_2} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (𝔣 : Project (α β)) (𝔞 : Project α) (𝔟 : Project β) :
                                  𝔣.executionSum 𝔞 * 𝔟 = (𝔣 * (1 + 𝔟)).executionSum 𝔞
                                  theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.execution_adjoint {α : Type u_1} {β : Type u_2} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (𝔣 : Project (α β)) (𝔞 : Project α) (𝔟 : Project β) :
                                  𝔣.measurement (𝔞 + 𝔟) = (𝔣.executionSum 𝔞).measurement 𝔟
                                  theorem LO.Propositional.LinearLogic.Multiplicative.GoI.Project.execution_adjoint_polar {α : Type u_1} {β : Type u_2} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (𝔣 : Project (α β)) (𝔞 : Project α) (𝔟 : Project β) :
                                  (𝔣.executionSum 𝔞).IsPolar 𝔟 𝔣.IsPolar (𝔞 + 𝔟)

                                  Conducts #

                                  Instances For
                                    @[simp]
                                    theorem LO.Propositional.LinearLogic.Multiplicative.GoI.mem_poler_iff {α : Type u_1} [Fintype α] [DecidableEq α] (A : Set (Project α)) (𝔟 : Project α) :
                                    𝔟 poler A 𝔞A, 𝔞.IsPolar 𝔟
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        Equations
                                        Instances For

                                          Successful Projects and Conducts #

                                          Instances For