Documentation

Cslib.Foundations.Logic.InferenceSystem

class Cslib.Logic.InferenceSystem (S : Type u_1) (α : Type u_2) :
Type (max u_2 v)

The notation typeclass for inference systems. This enables the notation S⇓a, where S is a tag for the inference system and a : α is a derivable value.

  • derivation (a : α) : Sort v

    S⇓a is a derivation of a, that is, a witness that a is derivable in the system S. The meaning of this notation is type-dependent.

Instances

    Default tag for inference system instances. ⇓a is short for Default⇓a.

    @[reducible, inline]
    abbrev Cslib.Logic.HasInferenceSystem (α : Type u_1) :
    Type (max u_1 u_2)

    Class for types (α) that have a canonical inference system.

    Equations
    Instances For

      S⇓a is a derivation of a, that is, a witness that a is derivable in the system S. The meaning of this notation is type-dependent.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Cslib.Logic.InferenceSystem.rwConclusion {S : Type u_1} {α : Type u_2} [InferenceSystem S α] {Γ Δ : α} (h : Γ = Δ) (p : derivation S Γ) :

        Rewrites the conclusion of a proof into an equal one.

        Equations
        Instances For
          def Cslib.Logic.InferenceSystem.DerivableIn {α : Type u_1} (S : Type u_2) [InferenceSystem S α] (a : α) :

          a is derivable in S if it is the conclusion of some derivation.

          Equations
          Instances For
            @[reducible, inline]

            a : α is derivable in the default inference system for α.

            Equations
            Instances For

              Shows derivability from a derivation.

              noncomputable def Cslib.Logic.InferenceSystem.DerivableIn.toDerivation {S : Type u_1} {α : Type u_2} [InferenceSystem S α] {a : α} (d : DerivableIn S a) :

              Extracts (noncomputably) a derivation from the fact that a conclusion is derivable.

              Equations
              Instances For

                S⇓a is a derivation of a, that is, a witness that a is derivable in the system S. The meaning of this notation is type-dependent.

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