Documentation

LeanPool.ZFLean.Booleans

Boolean algebra on ZFSet #

This file defines the boolean algebra on ZFSet and the type of booleans ZFBool. It defines the following operations:

Preliminary definitions #

Symmetric difference of two sets, denoted by Δ.

Equations
Instances For

    Imported ZFLean declaration.

    Equations
    Instances For
      @[simp]
      theorem ZFSet.mem_symmDiff (x p q : ZFSet.{u_1}) :
      x p Δ q x p xq x q xp
      @[simp]
      theorem ZFSet.symmDiff_comm (p q : ZFSet.{u_1}) :
      p Δ q = q Δ p
      @[simp]

      ZF Boolean Algebra #

      @[reducible, inline]

      False value defined as the empty set.

      Equations
      Instances For
        @[reducible, inline]

        True value defined as the singleton containing the empty set.

        Equations
        Instances For
          @[reducible, inline]

          Set of ZF booleans, defined as the set containing zffalse and zftrue.

          Equations
          Instances For
            @[reducible, inline]
            abbrev ZFSet.ZFBool :
            Type (u_1 + 1)

            Type of ZF booleans.

            Equations
            Instances For
              @[reducible, inline]

              False value, lifted on ZFBool.

              Equations
              Instances For
                @[reducible, inline]

                True value, lifted on ZFBool.

                Equations
                Instances For
                  @[implicit_reducible]
                  Equations
                  @[implicit_reducible]
                  Equations
                  @[reducible, inline]

                  Boolean negation, defined as the symmetric difference with true.

                  Equations
                  Instances For
                    noncomputable def ZFSet.ZFBool.casesOn {motive : ZFBoolSort u_2} (p : ZFBool) (false : motive ) (true : motive ) :
                    motive p

                    Cases elimination for ZFBool.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[reducible, inline]

                      Boolean conjunction, defined as set intersection.

                      Equations
                      Instances For

                        Imported ZFLean declaration.

                        Equations
                        Instances For
                          @[reducible, inline]
                          abbrev ZFSet.ZFBool.or (p q : ZFBool) :

                          Imported ZFLean declaration.

                          Equations
                          Instances For

                            Imported ZFLean declaration.

                            Equations
                            Instances For

                              Boolean algebra #

                              theorem ZFSet.ZFBool.and_comm (p q : ZFBool) :
                              p q = q p
                              theorem ZFSet.ZFBool.and_assoc (p q r : ZFBool) :
                              p q r = p (q r)
                              @[simp]
                              theorem ZFSet.ZFBool.and_intro (p q : ZFBool) :
                              p = q = p q =
                              theorem ZFSet.ZFBool.or_comm (p q : ZFBool) :
                              p q = q p
                              theorem ZFSet.ZFBool.or_assoc (p q r : ZFBool) :
                              p q r = p (q r)
                              theorem ZFSet.ZFBool.or_iff (p q : ZFBool) :
                              p q = p = q =
                              theorem ZFSet.ZFBool.or_intro (p q : ZFBool) :
                              p = q = p q =
                              noncomputable def ZFSet.ZFBool.toBool :

                              Conversion of ZFBool to Lean.Bool.

                              Equations
                              Instances For

                                The equivalence between ZF booleans and Lean booleans.

                                Equations
                                Instances For
                                  @[implicit_reducible]
                                  noncomputable instance ZFSet.ZFBool.instCoeBool_1 :
                                  Equations
                                  theorem ZFSet.ZFBool.and_or_distrib_left (p q r : ZFBool) :
                                  p (q r) = p q (p r)