A Simplified Geometry of Interaction #
References #
- [Jean-Yves Girard, Geometry of interaction. V: Logic in the hyperfinite factor][Gir11]
- [Thomas Seiller, Interaction graphs: multiplicatives][Sei12]
Project #
- wager : ℕ
Wager, a remnant of self-closed cycles.
- plot : Equiv.Perm Carrier
A main gadget expresses permutation of loci.
Instances For
@[implicit_reducible]
instance
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.instHAddSum
{α : Type u_1}
{β : Type u_2}
:
Equations
- LO.Propositional.LinearLogic.Multiplicative.GoI.Project.one = { wager := 0, plot := Equiv.refl α }
Instances For
@[implicit_reducible]
@[implicit_reducible]
Equations
@[simp]
@[implicit_reducible]
Measurement and Polarity #
def
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.measurement
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(𝔞 𝔟 : Project α)
:
Equations
- 𝔞.measurement 𝔟 = (𝔞 * 𝔟).tr
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.IsPolar
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(𝔞 𝔟 : Project α)
:
Equations
- 𝔞.IsPolar 𝔟 = (𝔞.measurement 𝔟 = 1)
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_delocate
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq α]
[Fintype β]
[DecidableEq β]
(𝔞 : Project α)
(φ : α ≃ β)
:
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.measurement_comm
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(𝔞 𝔟 : Project α)
:
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.isPolar_symm
{α : Type u_1}
[Fintype α]
[DecidableEq α]
{𝔞 𝔟 : Project α}
:
Equations
- LO.Propositional.LinearLogic.Multiplicative.GoI.Project.fax α = { wager := 0, plot := Equiv.sumComm α α }
Instances For
Equations
- LO.Propositional.LinearLogic.Multiplicative.GoI.Project.daimon r = { wager := r, plot := default }
Instances For
def
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.subtypeExtend
{α : Type u_1}
{P : α → Prop}
[DecidablePred P]
(𝔞 : Project { a : α // P a })
:
Project α
Equations
- 𝔞.subtypeExtend = { wager := 𝔞.wager, plot := 𝔞.plot.subtypeCongr 1 }
Instances For
@[simp]
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.subtypeExtend_wager
{α : Type u_1}
{P : α → Prop}
[DecidablePred P]
(𝔞 : Project { a : α // P a })
:
def
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.permApp
{α : Type u_1}
{β : Type u_2}
(F : Equiv.Perm (α ⊕ β))
(A : Equiv.Perm α)
:
Equiv.Perm (α ⊕ β)
Equations
Instances For
@[simp]
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.subtypeExtend_delocate_IsLeftEquivLeft_symm
{α : Type u_1}
{β : Type u_2}
(𝔞 : Project α)
:
@[simp]
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.subtypeExtend_delocate_notIsLeftEquivRight_symm
{α : Type u_1}
{β : Type u_2}
(𝔟 : Project β)
:
Execution and Adjoint #
@[simp]
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.trace_wager
{γ : Type u_3}
[Fintype γ]
[DecidableEq γ]
{P : γ → Prop}
[DecidablePred P]
(𝔣 : Project γ)
:
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.trace_plot
{γ : Type u_3}
[Fintype γ]
[DecidableEq γ]
{P : γ → Prop}
[DecidablePred P]
(𝔣 : Project γ)
:
@[simp]
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.trace_tr
{γ : Type u_3}
[Fintype γ]
[DecidableEq γ]
{P : γ → Prop}
[DecidablePred P]
(𝔣 : Project γ)
:
@[simp]
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.execution_wager
{γ : Type u_3}
[Fintype γ]
[DecidableEq γ]
{P : γ → Prop}
[DecidablePred P]
(𝔣 : Project γ)
(𝔞 : Project { x : γ // P x })
:
def
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.executionSum
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq α]
[Fintype β]
[DecidableEq β]
(𝔣 : Project (α ⊕ β))
(𝔞 : Project α)
:
Project β
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 α)
:
@[simp]
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.executionSum_tr
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq α]
[Fintype β]
[DecidableEq β]
(𝔣 : Project (α ⊕ β))
(𝔞 : Project α)
:
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.executionSum_mul
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq α]
[Fintype β]
[DecidableEq β]
(𝔣 : Project (α ⊕ β))
(𝔞 : Project α)
(𝔟 : Project β)
:
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.execution_adjoint
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq α]
[Fintype β]
[DecidableEq β]
(𝔣 : Project (α ⊕ β))
(𝔞 : Project α)
(𝔟 : Project β)
:
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.execution_adjoint_polar
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[DecidableEq α]
[Fintype β]
[DecidableEq β]
(𝔣 : Project (α ⊕ β))
(𝔞 : Project α)
(𝔟 : Project β)
:
Conducts #
def
LO.Propositional.LinearLogic.Multiplicative.GoI.poler
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(A : Set (Project α))
:
Equations
Instances For
Equations
- LO.Propositional.LinearLogic.Multiplicative.GoI.«term_ᗮ» = Lean.ParserDescr.trailingNode `LO.Propositional.LinearLogic.Multiplicative.GoI.«term_ᗮ» 1024 1024 (Lean.ParserDescr.symbol "ᗮ")
Instances For
def
LO.Propositional.LinearLogic.Multiplicative.GoI.IsConduct
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(A : Set (Project α))
:
Equations
Instances For
structure
LO.Propositional.LinearLogic.Multiplicative.GoI.Conduct
(α : Type u_3)
[Fintype α]
[DecidableEq α]
:
Type u_3
Instances For
@[implicit_reducible]
instance
LO.Propositional.LinearLogic.Multiplicative.GoI.instSetLikeConductProject
{α : Type u_1}
[Fintype α]
[DecidableEq α]
:
Equations
@[simp]
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.subset_bipoler
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(A : Set (Project α))
:
@[simp]
theorem
LO.Propositional.LinearLogic.Multiplicative.GoI.poler_isConduct
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(A : Set (Project α))
:
def
LO.Propositional.LinearLogic.Multiplicative.GoI.Conduct.tensor
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[Fintype β]
[DecidableEq α]
[DecidableEq β]
(A : Conduct α)
(B : Conduct β)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.Propositional.LinearLogic.Multiplicative.GoI.Conduct.par
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[Fintype β]
[DecidableEq α]
[DecidableEq β]
(A : Conduct α)
(B : Conduct β)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.Propositional.LinearLogic.Multiplicative.GoI.Conduct.lollipop
{α : Type u_1}
{β : Type u_2}
[Fintype α]
[Fintype β]
[DecidableEq α]
[DecidableEq β]
(A : Conduct α)
(B : Conduct β)
:
Equations
Instances For
Successful Projects and Conducts #
structure
LO.Propositional.LinearLogic.Multiplicative.GoI.Project.IsSuccessful
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(𝔞 : Project α)
:
Instances For
def
LO.Propositional.LinearLogic.Multiplicative.GoI.Conduct.IsSuccessful
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(A : Conduct α)
:
Equations
- A.IsSuccessful = ∃ 𝔞 ∈ A, 𝔞.IsSuccessful