Documentation

LeanPool.Lean4GlCoalgebras.General.Proof

Defining GL-proof systems. #

Here we define the GL-proof system along with finitization and basic properties.

Basic components of the GL-proof system. #

Rule applications for the GL-proof system.

Instances For

    Endofunctor for the GL-proof system.

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

      Given a RuleApp, obtain the non-principal formulas.

      Equations
      Instances For
        theorem Lean4GlCoalgebras.fₙ_alternate (r : RuleApp) :
        fₙ r = match r with | RuleApp.top Δ a => Δ \ {} | RuleApp.ax Δ n a => Δ \ {at n, na n} | RuleApp.and Δ A B a => Δ \ {A&B} | RuleApp.or Δ A B a => Δ \ {A v B} | RuleApp.box Δ A a => Δ \ {A}

        Relating principal formulas, non-principal formulas, and sequent.

        Auxiliary declaration used in the GL coalgebra development.

        Equations
        Instances For
          def Lean4GlCoalgebras.r {X : Type} (α : XT.obj X) (x : X) :

          Get RuleApp of a node (first projection).

          Equations
          Instances For
            def Lean4GlCoalgebras.p {X : Type} (α : XT.obj X) (x : X) :

            Get premises of a node (second projection).

            Equations
            Instances For
              def Lean4GlCoalgebras.edge {X : Type} (α : XT.obj X) (x y : X) :

              Edge relation induced by p.

              Equations
              Instances For

                Definition of GL-proof.

                Instances For

                  GL-proofs are coalgebras. Note: we can do this the other way around, i.e. Proof extends CategoryTheory.Endofunctor.Coalgebra T, however I find X and α more explicative than V and str

                  Equations
                  Instances For

                    A proof 𝕏 proves sequent Δ if some node of 𝕏 has sequent Δ as its sequent.

                    Equations
                    Instances For

                      A sequent is provable if there exists a GL-proof of it.

                      Equations
                      Instances For

                        Auxiliary declaration used in the GL coalgebra development.

                        Equations
                        Instances For

                          Auxiliary declaration used in the GL coalgebra development.

                          Equations
                          Instances For

                            Fischer-Ladner properties of GL-proofs #

                            theorem Lean4GlCoalgebras.edge_in_FL {𝕏 : Proof} {x y : 𝕏.X} (x_y : edge 𝕏.α x y) :
                            f (r 𝕏.α y) (f (r 𝕏.α x)).FL

                            Every edge is contained in FL closure.

                            theorem Lean4GlCoalgebras.path_in_FL {𝕏 : Proof} {x y : 𝕏.X} (x_y : Relation.ReflTransGen (edge 𝕏.α) x y) :
                            f (r 𝕏.α y) (f (r 𝕏.α x)).FL

                            Every path is contained in FL closure.

                            Point Generated GL-Proofs #

                            def Lean4GlCoalgebras.αPoint (𝕐 : Proof) (x : 𝕐.X) :
                            { y : 𝕐.X // Relation.ReflTransGen (edge 𝕐.α) x y }T.obj { y : 𝕐.X // Relation.ReflTransGen (edge 𝕐.α) x y }

                            Structure morphism for Point Generation.

                            Equations
                            Instances For

                              Point Generated Proof.

                              Equations
                              Instances For
                                theorem Lean4GlCoalgebras.node_in_pg_sequent_in_FL (𝕏 : Proof) (x : 𝕏.X) (y : (pointGeneratedProof 𝕏 x).X) :
                                f (r (αPoint 𝕏 x) y) (f (r 𝕏.α x)).FL

                                Filtration of GL-Proofs #

                                @[implicit_reducible]
                                instance Lean4GlCoalgebras.fEqEquiRel (𝕏 : Proof) :
                                Setoid 𝕏.X

                                Equivalence relation used for Filtration.

                                Equations
                                noncomputable def Lean4GlCoalgebras.αQuot (𝕐 : Proof) (x : Quotient (fEqEquiRel 𝕐)) :

                                Structure morphism for Filtration.

                                Equations
                                Instances For
                                  noncomputable def Lean4GlCoalgebras.filtration (𝕐 : Proof) :

                                  Filtration of a GL-Proof is a GL-proof.

                                  Equations
                                  Instances For

                                    Finite Proof Property #

                                    theorem Lean4GlCoalgebras.finite_proof_of_proof (𝕏 : Proof) (Δ : Sequent) :
                                    (𝕏Δ) → ∃ (𝕐 : Proof), Finite 𝕐.X (𝕐Δ)

                                    Given a proof of Δ there exists a finite proof of Δ.

                                    Properties of (infinite) paths #

                                    def Lean4GlCoalgebras.nbEdge {X : Type} (α : XT.obj X) (x y : X) :

                                    Auxiliary declaration used in the GL coalgebra development.

                                    Equations
                                    Instances For
                                      theorem Lean4GlCoalgebras.lt_if_not_box_edge {𝕏 : Proof} {x y : 𝕏.X} (x_y : nbEdge 𝕏.α x y) :
                                      (f (r 𝕏.α y)).length < (f (r 𝕏.α x)).length
                                      theorem Lean4GlCoalgebras.inf_path_has_inf_boxes {𝕏 : Proof} (g : 𝕏.X) (h : ∀ (n : ), edge 𝕏.α (g n) (g (n + 1))) (n : ) :
                                      ∃ (m : ), (r 𝕏.α (g (n + m))).isBox = true

                                      Every infinite path has an infinite number of nodes which are box rule applications.