Documentation

Foundation.IntProp.Dialectica.Basic

A Toy Model of Dialectica Interpretation for Intuitionistic Propositional Logic #

References: https://math.andrej.com/2011/01/03/the-dialectica-interpertation-in-coq/ #

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem LO.IntProp.Dialectica.interpret_verum {α : Type u_1} {w : Witness ⊤} {c : Counter ⊤} {V : α → Prop} :
    @[simp]
    theorem LO.IntProp.Dialectica.interpret_falsum {α : Type u_1} {w : Witness ⊥} {c : Counter ⊥} {V : α → Prop} :
    @[simp]
    theorem LO.IntProp.Dialectica.interpret_atom {α : Type u_1} {w c : PUnit.{1}} {V : α → Prop} {a : α} :
    Interpret V (Formula.atom a) w c ↔ V a
    @[simp]
    theorem LO.IntProp.Dialectica.interpret_and_left {α : Type u_1} {φ ψ : Formula α} {V : α → Prop} {θ : Witness (φ ⋏ ψ)} {π : Argument Player.c φ} :
    Interpret V (φ ⋏ ψ) θ (Sum.inl π) ↔ Interpret V φ θ.1 π
    @[simp]
    theorem LO.IntProp.Dialectica.interpret_and_right {α : Type u_1} {φ ψ : Formula α} {V : α → Prop} {θ : Witness (φ ⋏ ψ)} {π : Argument Player.c ψ} :
    Interpret V (φ ⋏ ψ) θ (Sum.inr π) ↔ Interpret V ψ θ.2 π
    @[simp]
    theorem LO.IntProp.Dialectica.interpret_or_left {α : Type u_1} {φ ψ : Formula α} {V : α → Prop} {θ : Argument Player.w φ} {π : Counter (φ ⋎ ψ)} :
    Interpret V (φ ⋎ ψ) (Sum.inl θ) π ↔ Interpret V φ θ π.1
    @[simp]
    theorem LO.IntProp.Dialectica.interpret_or_right {α : Type u_1} {φ ψ : Formula α} {V : α → Prop} {θ : Argument Player.w ψ} {π : Counter (φ ⋎ ψ)} :
    Interpret V (φ ⋎ ψ) (Sum.inr θ) π ↔ Interpret V ψ θ π.2
    @[simp]
    theorem LO.IntProp.Dialectica.interpret_not {α : Type u_1} {φ : Formula α} {V : α → Prop} {θ : Counter (∼φ)} {f : Witness (∼φ)} :
    Interpret V (∼φ) f θ ↔ ¬Interpret V φ θ (f θ)
    @[simp]
    theorem LO.IntProp.Dialectica.interpret_imply {α : Type u_1} {φ ψ : Formula α} {V : α → Prop} {f : Witness (φ ➝ ψ)} {π : Counter (φ ➝ ψ)} :
    Interpret V (φ ➝ ψ) f π ↔ Interpret V φ π.1 (f.2 π.1 π.2) → Interpret V ψ (f.1 π.1) π.2
    theorem LO.IntProp.Dialectica.Valid.refl {α : Type u_1} (φ : Formula α) :
    Valid (φ ➝ φ)