Documentation

FraudProof.DataStructures.SeqBTree

def isEven (n : ) :
Equations
Instances For
    theorem isEvenProof (n : ) (p : isEven n = true) :
    n = n / 2 + n / 2
    theorem isOddProof (n : ) (p : ¬isEven n = true) :
    n = n / 2 + n / 2 + 1
    def emptyLeaf {α β : Type} :
    ABTree (Option α) β
    Equations
    Instances For
      def single {α : Type} (a : α) :
      ABTree (Option α) α
      Equations
      Instances For
        def infixSeq {α : Type} (t : ABTree α α) :
        Equations
        Instances For
          @[irreducible]
          def seqHABTree {α : Type} {n : } (seq : Sequence n α) :
          ABTree (Option α) α
          Equations
          Instances For
            def perfectSeq {α : Type} {n : } (seq : Sequence (2 ^ n.succ - 1) α) :
            ABTree α α
            Equations
            Instances For
              def perfectSeqLeaves {α : Type} {n : } (seq : Sequence (2 ^ n) α) :
              Equations
              Instances For
                theorem perfect_tree_size {α : Type} {n : } (seq : Sequence (2 ^ n.succ - 1) α) :
                (perfectSeq seq).size = 2 ^ n.succ - 1
                theorem seq_tree_seq {α : Type} {n : } (seq : Sequence (2 ^ n.succ - 1) α) :
                def gen_info_perfect_tree {α β : Type} {h : } (nodes : Sequence (2 ^ h - 1) β) (leaves : Sequence (2 ^ h) α) :
                ABTree α β
                Equations
                Instances For
                  theorem take_init {α : Type} {n m : } (hLT : m.succ n) (s : Sequence n α) :
                  theorem take_less_init {α : Type} {n k m : } (hLT : m < n) (heq : n = k + 1) (s : Sequence n α) :
                  theorem take_constant {α : Type} {n m : } {mLt : m n} {a : α} :
                  theorem perfect_split_constant {α : Type} {lgn : } (a : α) :