Documentation

ISAR.HFSet

inductive HF :
Instances For
    def instDecidableEqHF.decEq (x✝ x✝¹ : HF) :
    Decidable (x✝ = x✝¹)
    Equations
    Instances For
      Equations
      Instances For
        @[implicit_reducible]
        instance instReprHF :
        Equations

        Bit 0 of zero is always false (Lean core Nat.zero_testBit).

        theorem Nat.testBit_shiftl (a i : Nat) :
        (1 <<< a).testBit i = (i == a)

        Single-bit mask: (1 <<< a) has bit i set iff i = a.

        def toNat :
        HFNat
        Equations
        Instances For
          def ExtEq (x y : HF) :
          Equations
          Instances For
            def Mem (x y : HF) :
            Equations
            Instances For
              def HF.pair (x y : HF) :
              Equations
              Instances For
                def HF.union :
                HFHFHF
                Equations
                Instances For
                  theorem ExtEq.refl (x : HF) :
                  ExtEq x x
                  theorem ExtEq.symm {x y : HF} (h : ExtEq x y) :
                  ExtEq y x
                  theorem ExtEq.trans {x y z : HF} (h1 : ExtEq x y) (h2 : ExtEq y z) :
                  ExtEq x z
                  theorem bool_or_iff (a b : Bool) :
                  (a || b) = true a = true b = true
                  theorem mem_insert (x y z : HF) :
                  Mem z (x.insert y) ExtEq z x Mem z y
                  theorem mem_pair (x y z : HF) :
                  Mem z (x.pair y) ExtEq z x ExtEq z y
                  theorem toNat_union (x y : HF) :
                  theorem mem_union (x y z : HF) :
                  Mem z (x.union y) Mem z x Mem z y
                  theorem ExtEq_pair {x₁ x₂ y₁ y₂ : HF} (hx : ExtEq x₁ x₂) (hy : ExtEq y₁ y₂) :
                  ExtEq (x₁.pair y₁) (x₂.pair y₂)
                  theorem ExtEq_union {x₁ x₂ y₁ y₂ : HF} (hx : ExtEq x₁ x₂) (hy : ExtEq y₁ y₂) :
                  ExtEq (x₁.union y₁) (x₂.union y₂)