Documentation

Bookshelf.Smullyan.Aviary

Smullyan.Aviary #

A collection of combinator birds representable in Lean. Certain duplicators, e.g. mockingbirds, are not directly expressible since they would require encoding a signature in which an argument has types α and α → α.

Duplicators that are included, e.g. the warbler, are not exactly correct considering they still have the same limitation described above during actual use. Their inclusion here serves more as pseudo-documentation than anything.

def E' {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} {δ : Sort u_4} {ε : Sort u_5} {ζ : Sort u_6} {η : Sort u_7} (x : αβγ) (y₁ : δεα) (y₂ : δ) (y₃ : ε) (z₁ : ζηβ) (z₂ : ζ) (z₃ : η) :
γ

Bald Eagle #

E'xy₁y₂y₃z₁z₂z₃ = x(y₁y₂y₃)(z₁z₂z₃)

Equations
  • E' x y₁ y₂ y₃ z₁ z₂ z₃ = x (y₁ y₂ y₃) (z₁ z₂ z₃)
Instances For
    def B₃ {α : Sort u_1} {ε : Sort u_2} {β : Sort u_3} {γ : Sort u_4} (x : αε) (y : βα) (z : γβ) (w : γ) :
    ε

    Becard #

    B₃xyzw = x(y(zw))

    Equations
    • B₃ x y z w = x (y (z w))
    Instances For
      def B₁ {α : Sort u_1} {ε : Sort u_2} {β : Sort u_3} {γ : Sort u_4} (x : αε) (y : βγα) (z : β) (w : γ) :
      ε

      Blackbird #

      B₁xyzw = x(yzw)

      Equations
      Instances For
        def B {α : Sort u_1} {γ : Sort u_2} {β : Sort u_3} (x : αγ) (y : βα) (z : β) :
        γ

        Bluebird #

        Bxyz = x(yz)

        Equations
        • B x y z = x (y z)
        Instances For
          def B₂ {α : Sort u_1} {ζ : Sort u_2} {β : Sort u_3} {γ : Sort u_4} {ε : Sort u_5} (x : αζ) (y : βγεα) (z : β) (w : γ) (v : ε) :
          ζ

          Bunting #

          B₂xyzwv = x(yzwv)

          Equations
          • B₂ x y z w v = x (y z w v)
          Instances For
            def C_star {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} {δ : Sort u_4} (x : αβγδ) (y : α) (z : γ) (w : β) :
            δ

            Cardinal Once Removed #

            C*xyzw = xywz

            Equations
            • C* x y z w = x y w z
            Instances For
              def C {α : Sort u_1} {β : Sort u_2} {δ : Sort u_3} (x : αβδ) (y : β) (z : α) :
              δ

              Cardinal #

              Cxyz = xzy

              Equations
              • C x y z = x z y
              Instances For
                def W' {α : Sort u_1} {β : Sort u_2} (x : α) (y : ααβ) :
                β

                Converse Warbler #

                W'xy = yxx

                Equations
                Instances For
                  def D₁ {α : Sort u_1} {β : Sort u_2} {δ : Sort u_3} {ε : Sort u_4} {γ : Sort u_5} (x : αβδε) (y : α) (z : β) (w : γδ) (v : γ) :
                  ε

                  Dickcissel #

                  D₁xyzwv = xyz(wv)

                  Equations
                  • D₁ x y z w v = x y z (w v)
                  Instances For

                    Double Mockingbird #

                    M₂xy = xy(xy)

                    def D {α : Sort u_1} {γ : Sort u_2} {δ : Sort u_3} {β : Sort u_4} (x : αγδ) (y : α) (z : βγ) (w : β) :
                    δ

                    Dove #

                    Dxyzw = xy(zw)

                    Equations
                    • D x y z w = x y (z w)
                    Instances For
                      def D₂ {α : Sort u_1} {δ : Sort u_2} {ε : Sort u_3} {β : Sort u_4} {γ : Sort u_5} (x : αδε) (y : βα) (z : β) (w : γδ) (v : γ) :
                      ε

                      Dovekie #

                      D₂xyzwv = x(yz)(wv)

                      Equations
                      • D₂ x y z w v = x (y z) (w v)
                      Instances For
                        def E {α : Sort u_1} {δ : Sort u_2} {ε : Sort u_3} {β : Sort u_4} {γ : Sort u_5} (x : αδε) (y : α) (z : βγδ) (w : β) (v : γ) :
                        ε

                        Eagle #

                        Exyzwv = xy(zwv)

                        Equations
                        • E x y z w v = x y (z w v)
                        Instances For
                          def F_star {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} {δ : Sort u_4} (x : αβγδ) (y : γ) (z : β) (w : α) :
                          δ

                          Finch Once Removed #

                          F*xyzw = xwzy

                          Equations
                          • F* x y z w = x w z y
                          Instances For
                            def F {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} (x : α) (y : β) (z : βαγ) :
                            γ

                            Finch #

                            Fxyz = zyx

                            Equations
                            • F x y z = z y x
                            Instances For
                              def G {α : Sort u_1} {γ : Sort u_2} {δ : Sort u_3} {β : Sort u_4} (x : αγδ) (y : βγ) (z : β) (w : α) :
                              δ

                              Goldfinch #

                              Gxyzw = xw(yz)

                              Equations
                              • G x y z w = x w (y z)
                              Instances For
                                def H {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} (x : αβαγ) (y : α) (z : β) :
                                γ

                                Hummingbird #

                                Hxyz = xyzy

                                Equations
                                • H x y z = x y z y
                                Instances For
                                  def I {α : Sort u_1} (x : α) :
                                  α

                                  Identity Bird #

                                  Ix = x

                                  Equations
                                  Instances For
                                    def K {α : Sort u_1} {β : Sort u_2} (x : α) :
                                    βα

                                    Kestrel #

                                    Kxy = x

                                    Equations
                                    • K x✝ x = x✝
                                    Instances For

                                      Lark #

                                      Lxy = x(yy)

                                      Mockingbird #

                                      Mx = xx

                                      def O {α : Sort u_1} {β : Sort u_2} (x : (αβ)α) (y : αβ) :
                                      β

                                      Owl #

                                      Oxy = y(xy)

                                      Equations
                                      • O x y = y (x y)
                                      Instances For
                                        def Φ {β : Sort u_1} {γ : Sort u_2} {δ : Sort u_3} {α : Sort u_4} (x : βγδ) (y : αβ) (z : αγ) (w : α) :
                                        δ

                                        Phoenix #

                                        Φxyzw = x(yw)(zw)

                                        Equations
                                        • Φ x y z w = x (y w) (z w)
                                        Instances For
                                          def Ψ {α : Sort u_1} {γ : Sort u_2} {β : Sort u_3} (x : ααγ) (y : βα) (z : β) (w : β) :
                                          γ

                                          Psi Bird #

                                          Ψxyzw = x(yz)(yw)

                                          Equations
                                          • Ψ x y z w = x (y z) (y w)
                                          Instances For
                                            def Q₄ {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} (x : α) (y : αβ) (z : βγ) :
                                            γ

                                            Quacky Bird #

                                            Q₄xyz = z(yx)

                                            Equations
                                            Instances For
                                              def Q {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} (x : αβ) (y : βγ) (z : α) :
                                              γ

                                              Queer Bird #

                                              Qxyz = y(xz)

                                              Equations
                                              • Q x y z = y (x z)
                                              Instances For
                                                def Q₃ {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} (x : αβ) (y : α) (z : βγ) :
                                                γ

                                                Quirky Bird #

                                                Q₃xyz = z(xy)

                                                Equations
                                                Instances For
                                                  def Q₁ {α : Sort u_1} {γ : Sort u_2} {β : Sort u_3} (x : αγ) (y : β) (z : βα) :
                                                  γ

                                                  Quixotic Bird #

                                                  Q₁xyz = x(zy)

                                                  Equations
                                                  Instances For
                                                    def Q₂ {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} (x : α) (y : βγ) (z : αβ) :
                                                    γ

                                                    Quizzical Bird #

                                                    Q₂xyz = y(zx)

                                                    Equations
                                                    Instances For
                                                      def R_star {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} {δ : Sort u_4} (x : αβγδ) (y : γ) (z : α) (w : β) :
                                                      δ

                                                      Robin Once Removed #

                                                      R*xyzw = xzwy

                                                      Equations
                                                      • R* x y z w = x z w y
                                                      Instances For
                                                        def R {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} (x : α) (y : βαγ) (z : β) :
                                                        γ

                                                        Robin #

                                                        Rxyz = yzx

                                                        Equations
                                                        • R x y z = y z x
                                                        Instances For
                                                          partial def Θ {α : Sort u_1} [Inhabited α] (x : αα) :
                                                          α

                                                          Sage Bird #

                                                          Θx = x(Θx)

                                                          def S {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} (x : αβγ) (y : αβ) (z : α) :
                                                          γ

                                                          Starling #

                                                          Sxyz = xz(yz)

                                                          Equations
                                                          • S x y z = x z (y z)
                                                          Instances For
                                                            def T {α : Sort u_1} {β : Sort u_2} (x : α) (y : αβ) :
                                                            β

                                                            Thrush #

                                                            Txy = yx

                                                            Equations
                                                            • T x y = y x
                                                            Instances For

                                                              Turing Bird #

                                                              Uxy = y(xxy)

                                                              def V_star {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} {δ : Sort u_4} (x : αβγδ) (y : β) (z : γ) (w : α) :
                                                              δ

                                                              Vireo Once Removed #

                                                              V*xyzw = xwyz

                                                              Equations
                                                              • V* x y z w = x w y z
                                                              Instances For
                                                                def V {α : Sort u_1} {β : Sort u_2} {γ : Sort u_3} (x : α) (y : β) (z : αβγ) :
                                                                γ

                                                                Vireo #

                                                                Vxyz = zxy

                                                                Equations
                                                                • V x y z = z x y
                                                                Instances For
                                                                  def W {α : Sort u_1} {β : Sort u_2} (x : ααβ) (y : α) :
                                                                  β

                                                                  Warbler #

                                                                  Wxy = xyy

                                                                  Equations
                                                                  • W x y = x y y
                                                                  Instances For