Documentation

Complexitylib.Algebraic.Basis.AndOr

The binary AND/OR basis #

This basis is the common syntax for Boolean AND/OR circuits and set-theoretic intersection/union constructions. Separate operation costs can charge either kind of binary gate; andCost is the intersection-complexity convention used by the set-theoretic fusion method.

Operation symbols in the binary AND/OR basis.

Instances For
    @[instance_reducible]
    Equations
    @[reducible]

    Both AND/OR operations have arity two.

    Equations
    Instances For
      @[reducible, inline]

      Signature of the binary AND/OR basis.

      Equations
      Instances For
        noncomputable def Algebraic.AndOr.membership {Γ : Type u_1} (point : Γ) (set : Set Γ) :

        Boolean characteristic value of membership in a set.

        Equations
        Instances For
          @[simp]
          theorem Algebraic.AndOr.membership_eq_true {Γ : Type u_1} (point : Γ) (set : Set Γ) :
          membership point set = true ↔ point ∈ set
          @[simp]
          theorem Algebraic.AndOr.membership_eq_false {Γ : Type u_1} (point : Γ) (set : Set Γ) :
          membership point set = false ↔ point ∉ set
          theorem Algebraic.AndOr.membership_eq_iff {Γ : Type u_1} (point : Γ) (left right : Set Γ) :
          membership point left = membership point right ↔ (point ∈ left ↔ point ∈ right)

          Equality of characteristic values is pointwise equivalence of membership.

          theorem Algebraic.AndOr.membership_points_eq_iff {Γ : Type u_1} (left right : Γ) (set : Set Γ) :
          membership left set = membership right set ↔ (left ∈ set ↔ right ∈ set)

          Equality of characteristic values at two points is equivalence of their membership in the set.

          @[simp]
          theorem Algebraic.AndOr.membership_setOf_bool_eq_true {Γ : Type u_1} (point : Γ) (value : Γ → Bool) :
          membership point {candidate : Γ | value candidate = true} = value point
          @[simp]
          theorem Algebraic.AndOr.membership_setOf_bool_eq_false {Γ : Type u_1} (point : Γ) (value : Γ → Bool) :
          membership point {candidate : Γ | value candidate = false} = !value point

          Membership at a fixed point is a homomorphism from sets to Booleans.

          Equations
          Instances For
            @[simp]
            theorem Algebraic.AndOr.membershipHomomorphism_map {Γ : Type u_1} (point : Γ) (set : Set Γ) :
            (membershipHomomorphism point).map set = membership point set