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 ∧ ¬x ∈ q ∨ x ∈ q ∧ ¬x ∈ p
      @[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
                  @[instance_reducible]
                  Equations
                  @[instance_reducible]
                  Equations
                  @[reducible, inline]

                  Boolean negation, defined as the symmetric difference with true.

                  Equations
                  Instances For
                    noncomputable def ZFSet.ZFBool.casesOn {motive : ZFBool → Sort 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
                                  @[instance_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)